Administración de políticas de buckets para buckets de directorio - Amazon Simple Storage Service

Administración de políticas de buckets para buckets de directorio

Puede añadir, eliminar, actualizar y ver políticas de buckets de directorio de Amazon S3 desde la consola de Amazon S3 y los SDK de AWS. Para obtener más información, consulte los siguientes temas. Para obtener más información sobre las acciones de AWS Identity and Access Management (IAM) y las claves de condición admitidas para S3 Express One Zone, consulte AWS Identity and Access Management (IAM) para S3 Express One Zone. Para ver ejemplos de políticas de bucket para buckets de directorio, consulte Ejemplos de políticas de bucket de directorio para S3 Express One Zone.

Agregar una política de bucket

Para agregar una política de bucket a un bucket de directorio, puede utilizar la consola de Amazon S3 o los SDK de AWS o la AWS CLI.

Para crear o editar una política de bucket
  1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

  3. Seleccione la pestaña Buckets de directorio.

  4. En la lista Buckets, elija el nombre del bucket en el que desea cargar sus carpetas o archivos.

  5. Elija la pestaña Permisos.

  6. En Política de bucket, elija Editar. Aparece la página Editar política de bucket.

  7. Para generar una política automáticamente, elija Generador de políticas.

    Si elige Generador de políticas, se abre el generador de políticas de AWS en una ventana nueva.

    Si no quiere usar el AWSgenerador de políticas, puede añadir o editar las instrucciones JSON en la sección Política.

    1. En la página Generador de políticas de AWS, para Seleccionar tipo de política, elija Política de bucket de S3.

    2. Agregue una instrucción ingresando la información en los campos proporcionados y, a continuación, elija Agregar declaración. Repita este paso para todas las instrucciones que desee agregar. Para obtener más información acerca de estos campos, consulte la Referencia de los elementos de las políticas de JSON de IAM en la Guía del usuario de IAM.

      nota

      Para mayor comodidad, la página Editar la política del bucket muestra el ARN del bucket (Nombre de recurso de Amazon) actual encima del campo de texto Política. Puede copiar este ARN para utilizarlo en las instrucciones de la página Generador de políticas de AWS.

    3. Una vez que haya terminado de agregar instrucciones, elija Generar política.

    4. Copie el texto de la política generada, elija Cerrar y vuelva a la página Editar política de bucket en la consola de Amazon S3.

  8. En el cuadro Política, edite la política existente o pegue la política de bucket desde el generador de políticas de AWS. Asegúrese de resolver advertencias de seguridad, errores, advertencias generales y sugerencias antes de guardar la política.

    nota

    Las políticas de bucket tienen un límite de tamaño de 20 KB.

  9. Elija Guardar cambios, que le devuelve a la pestaña Permisos.

SDK for Java 2.x

PutBucketPolicy AWS SDK for Java 2.x

public static void setBucketPolicy(S3Client s3Client, String bucketName, String policyText) { //sample policy text /** * policy_statement = { * 'Version': '2012-10-17', * 'Statement': [ * { * 'Sid': 'AdminPolicy', * 'Effect': 'Allow', * 'Principal': { * "AWS": "111122223333" * }, * 'Action': 's3express:*', * 'Resource': 'arn:aws:s3express:region:111122223333:bucket/bucket-base-name--azid--x-s3' * } * ] * } */ System.out.println("Setting policy:"); System.out.println("----"); System.out.println(policyText); System.out.println("----"); System.out.format("On Amazon S3 bucket: \"%s\"\n", bucketName); try { PutBucketPolicyRequest policyReq = PutBucketPolicyRequest.builder() .bucket(bucketName) .policy(policyText) .build(); s3Client.putBucketPolicy(policyReq); System.out.println("Done!"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

En este ejemplo se muestra cómo agregar un bucket de política a un bucket de directorio con la AWS CLI. Para usar el comando, sustituya los marcadores de posición de entrada del usuario con su propia información.

aws s3api put-bucket-policy --bucket bucket-base-name--azid--x-s3 --policy file://bucket_policy.json

bucket_policy.json:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AdminPolicy", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3express*", "Resource": "arn:aws:s3express:us-west-2:111122223333:bucket/bucket-name--usw2-az1--x-s3" } ] }

Para obtener más información, consulte put-bucket-policy en AWS Command Line Interface.

Visualización de una política de bucket

Para ver una política de buckets para un bucket de directorio, utilice los siguientes ejemplos.

En este ejemplo se muestra cómo ver una politica de bucket adjunta a un bucket de directorio con la AWS CLI. Para usar el comando, sustituya los marcadores de posición de entrada del usuario con su propia información.

aws s3api get-bucket-policy --bucket bucket-base-name--azid--x-s3

Para obtener más información, consulte get-bucket-policy en AWS Command Line Interface.

Eliminación de una política de bucket

Para eliminar una política de bucket para un directorio de bucket, utilice los siguientes ejemplos.

SDK for Java 2.x

DeleteBucketPolicy AWS SDK for Java 2.x

public static void deleteBucketPolicy(S3Client s3Client, String bucketName) { try { DeleteBucketPolicyRequest deleteBucketPolicyRequest = DeleteBucketPolicyRequest .builder() .bucket(bucketName) .build() s3Client.deleteBucketPolicy(deleteBucketPolicyRequest); System.out.println("Successfully deleted bucket policy"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); }

En este ejemplo se muestra cómo eliminar una política de bucket para un bucket de directorio con la AWS CLI. Para usar el comando, sustituya los marcadores de posición de entrada del usuario con su propia información.

aws s3api delete-bucket-policy --bucket bucket-base-name--azid--x-s3

Para obtener más información, consulte delete-bucket-policy en AWS Command Line Interface.