Configuración de permisos con AWS CLI

Generalidades

Este artículo enumera varios comandos aws-cli que puedes usar para cambiar los permisos en tus datos de DreamObjects. Consulta el siguiente artículo para obtener información sobre cómo instalar y configurar AWS CLI:

Establecer TODOS los permisos de objetos en un depósito

El siguiente comando cambia los permisos para cada objeto en tu depósito. Ten en cuenta que DreamObjects actualmente no admite políticas de depósito, por lo tanto, debes utilizar la siguiente solución alternativa.

Asegúrate de actualizar lo siguiente:

  • --bucket my-bucket — Cambiar a tu nombre de Bucket
  • --acl — Cambia esto a lectura private o public-read
[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api list-objects --bucket my-bucket | grep Key | cut -c 20- | rev | cut -c 3-|rev | awk '{cmd="aws --endpoint https://objects-us-east-1.dream.io s3api put-object-acl --acl public-read --bucket=my-bucket --key "$0; system(cmd)}' 

El siguiente ejemplo es el mismo que el anterior, solo divide las líneas para que sea más fácil de leer:

[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io \ 
s3api list-objects --bucket my-bucket | \
grep Key | cut -c 20- | rev | cut -c 3-|rev | \
awk '{cmd="aws --endpoint https://objects-us-east-1.dream.io \
s3api put-object-acl --acl public-read \
--bucket=my-bucket --key "$0; system(cmd)}'

Permisos de objeto único

Ver los permisos de un objeto

Esto muestra los permisos de un objeto llamado test.txt en un depósito titulado my-bucket. Puedes ver que el usuario del depósito tiene control total, pero no se muestran otros permisos públicos. Esto indica que los permisos en el archivo son private.

[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api get-object-acl --bucket my-bucket --key test.txt
{
    "Owner": {
        "DisplayName": "my-user",
        "ID": "my-user"
    },
    "Grants": [
        {
            "Grantee": {
                "Type": "CanonicalUser",
                "DisplayName": "my-user",
                "ID": "my-user"
            },
            "Permission": "FULL_CONTROL"
        }
    ]
}

Establecer los permisos de un objeto a PÚBLICO

Para establecer los permisos de un Objeto, put-object-acl.

Esto establece un objeto llamado test.txt en el depósito titulado my-bucket para los permisos public-read.

[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api put-object-acl --bucket my-bucket --key test.txt --acl public-read

Verifica los permisos nuevamente y verás una nueva sección de Grantee que muestra que todos los usuarios pueden leer el Objeto.

[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api get-object-acl --bucket my-user-bucket --key test.txt
{
    "Owner": {
        "DisplayName": "my-east-user",
        "ID": "my-east-user"
    },
    "Grants": [
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        },
        {
            "Grantee": {
                "Type": "CanonicalUser",
                "DisplayName": "my-east-user",
                "ID": "my-east-user"
            },
            "Permission": "FULL_CONTROL"
        }
    ]
}

Si revisas tu panel de DreamObjects, verás que los permisos en este archivo ahora son PÚBLICOS.

Establecer los permisos de un objeto en PRIVADO

Esto establece un objeto llamado test.txt en el depósito titulado my-bucket para permisos PRIVADOS.

[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api put-object-acl --bucket my-bucket --key test.txt --acl private

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?