Configuración de permisos - Amazon Simple Storage Service

Configuración de permisos

Al configurar la replicación, debe adquirir los permisos necesarios de la siguiente manera:

  • Cree un rol de IAM: Amazon S3 necesita permisos para replicar objetos en su nombre. Puede conceder estos permisos creando un rol de IAM y especificar el rol en la configuración de replicación.

  • Cuando los buckets de origen y destino no pertenecen a las mismas cuentas, el propietario del bucket de destino debe otorgar al propietario del bucket de origen permisos para almacenar las réplicas.

Creación de un rol de IAM

De forma predeterminada, todos los recursos de Amazon S3 (buckets, objetos y subrecursos relacionados) son privados y sólo el propietario del recurso puede acceder al él. Amazon S3 necesita permisos de lectura y replicación de objetos del bucket de origen. Puede conceder estos permisos creando un rol de IAM y especificar el rol en la configuración de replicación.

En esta sección se explica la política de confianza y la política de permisos mínimos necesarios. Los tutoriales de ejemplo proporcionan instrucciones paso a paso para crear un rol de IAM. Para obtener más información, consulte Tutoriales: Configuración de la replicación.

  • A continuación se muestra una política de confianza donde identifica a Amazon S3 como la entidad principal del servicio que puede asumir el rol.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

    Para obtener más información acerca de los roles de IAM, consulte Roles de IAM en la guía del usuario de IAM.

  • A continuación se muestra una política de acceso donde usted concede al rol permisos para realizar tareas de replicación en su nombre. Cuando Amazon S3 asume el rol, adopta los permisos que especifique en esta política.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::SourceBucket" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3:::SourceBucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource":"arn:aws:s3:::DestinationBucket/*" } ] }

    La política de acceso concede permisos para las siguientes acciones:

    • s3:GetReplicationConfiguration y s3:ListBucket: los permisos para estas acciones en el bucket de origen permiten a Amazon S3 recuperar la configuración de replicación y mostrar el contenido del bucket (el modelo de permisos actual requiere el permiso s3:ListBucket para obtener acceso a los marcadores de eliminación).

    • s3:GetObjectVersionForReplication y s3:GetObjectVersionAcl: los permisos para estas acciones concedidos en todos los objetos permiten a Amazon S3 obtener una versión de objeto específica y una lista de control de acceso (ACL) asociada con los objetos.

    • s3:ReplicateObject y s3:ReplicateDelete: los permisos para estas acciones en objetos de todos los buckets de destino permiten a Amazon S3 replicar objetos o eliminar marcadores en los buckets de destino. Para obtener información acerca de los marcadores de eliminación, consulte Cómo afectan las operaciones de eliminación a la replicación.

      nota

      Los permisos para la s3:ReplicateObject acción en los buckets de destino también permiten la replicación de etiquetas de objeto, por lo que no es necesario conceder permiso explícitamente destinado a la s3:ReplicateTags acción.

    • s3:GetObjectVersionTagging: los permisos para esta acción en los objetos del bucket de origen permiten que Amazon S3 lea las etiquetas de objetos para la replicación (consulte Categorización del almacenamiento mediante etiquetas). Si Amazon S3 no tiene estos permisos, replica los objetos pero no las etiquetas de objetos.

    Para ver la lista de acciones de Amazon S3, consulte Acciones de Amazon S3.

    importante

    La cuenta de Cuenta de AWS propietaria del rol de IAM debe tener los permisos para las acciones que concede al rol de IAM.

    Por ejemplo, imagine que el bucket de origen contiene objetos que pertenecen a otra Cuenta de AWS . El propietario de los objetos debe conceder explícitamente a la Cuenta de AWS que posee el rol de IAM los permisos necesarios a través de la ACL del objeto. De lo contrario, Amazon S3 no puede acceder a los objetos y la replicación de los objetos dará un error. Para obtener más información acerca de los permisos de ACL, consulte Información general de las Listas de control de acceso (ACL).

    Los permisos aquí descritos están relacionados con la configuración de replicación mínima. Si elige agregar configuraciones de replicación opcionales, debe otorgar permisos adicionales a Amazon S3. Para obtener más información, consulte Configuraciones de replicación adicionales.

Concesión de permisos cuando los buckets de origen y destino son propiedad de diferentes Cuentas de AWS

Cuando los buckets de origen y destino no pertenecen a la misma cuenta, el propietario del bucket de destino también debe añadir una política de bucket para conceder al propietario los permisos de propietario del bucket de origen para realizar las acciones de replicación de la siguiente manera:

{ "Version":"2012-10-17", "Id":"PolicyForDestinationBucket", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-AcctID:source-acct-IAM-role" }, "Action":[ "s3:ReplicateDelete", "s3:ReplicateObject" ], "Resource":"arn:aws:s3:::destinationbucket/*" }, { "Sid":"Permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-AcctID:source-acct-IAM-role" }, "Action": [ "s3:List*", "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource":"arn:aws:s3:::destinationbucket" } ] }

Para ver un ejemplo, consulte La configuración de la reproducción para los buckets de origen y destino son propiedad de diferentes cuentas.

Si los objetos en el bucket de origen tienen etiquetas, tenga en cuenta lo siguiente:

  • Si el propietario del bucket de origen concede permisos a Amazon S3 para las acciones s3:GetObjectVersionTagging y s3:ReplicateTags para replicar las etiquetas de los objetos (mediante el rol de IAM), Amazon S3 replicará las etiquetas junto con los objetos. Para obtener información acerca del rol de IAM, consulte Creación de un rol de IAM.

  • Si el propietario del bucket de destino no desea replicar las etiquetas, puede añadir la siguiente instrucción a la política del bucket de destino para denegar el permiso explícitamente para la acción s3:ReplicateTags:

    ... "Statement":[ { "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-AcctID:source-acct-IAM-role" }, "Action":"s3:ReplicateTags", "Resource":"arn:aws:s3:::DestinationBucket/*" } ] ...

Cambio de la titularidad de la réplica

Cuando las diferentes Cuentas de AWS son propietarias de los buckets de origen y destino, puede indicar a Amazon S3 que cambie la propiedad de la réplica a la Cuenta de AWS que posee el bucket de destino. Esto se denomina opción de invalidación del propietario. Para obtener más información, consulte Cambiar el propietario de la réplica.