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 objects en un bucket

El siguiente comando cambia los permisos para cada object en tu bucket. Ten en cuenta que DreamObjects actualmente no admite políticas de bucket, 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 object único

Ver los permisos de un object

Esto muestra los permisos de un object llamado test.txt en un bucket titulado my-bucket. Puedes ver que el usuario del bucket 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 object a PÚBLICO

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

Esto establece un object llamado test.txt en el bucket 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 Object.

[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": "https://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ÚBLICO.

es-panel-dho-file-public.png

Establecer los permisos de un object en PRIVADO

Esto establece un objeto llamado test.txt en el bucket 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?