Configuración del acceso a un bucket de Amazon S3 - Amazon Aurora

Configuración del acceso a un bucket de Amazon S3

Una vez identificado el bucket de Amazon S3, dé a la instantánea permiso para acceder a él.

Identificación del bucket de Amazon S3 para exportación

Identifique el bucket de Amazon S3 al que se exportará la instantánea de base de datos. Utilice un bucket de S3 ya existente, o bien cree un bucket S3 nuevo.

nota

El bucket de S3 al que se realizará la exportación debe estar en la misma región de AWS que la instantánea.

Para obtener más información acerca de cómo trabajar con buckets de Amazon S3, consulte lo siguiente en Guía del usuario de Amazon Simple Storage Service:

Proporcionar acceso a un bucket de Amazon S3 mediante un rol de IAM

Antes de exportar datos de instantáneas de bases de datos a Amazon S3, conceda a las tareas de exportación de instantáneas permiso de acceso de escritura al bucket de Amazon S3.

Para conceder este permiso, cree una política de IAM que proporcione acceso al bucket y cree un rol de IAM y adjunte la política al rol. Más adelante, puede asignar el rol de IAM a la tarea de exportación de instantáneas.

importante

Si prevé utilizar la AWS Management Console para exportar la instantánea, puede elegir crear la política de IAM y el rol automáticamente al exportar la instantánea. Para obtener instrucciones, consulte Creación de tareas de exportación de instantáneas.

Para dar a las tareas de instantáneas de base de datos acceso a Amazon S3
  1. Cree una política de IAM. Esta política proporciona los permisos de bucket y objeto que permiten a la tarea de exportación de instantáneas obtener acceso a Amazon S3.

    En la política, incluya las siguientes acciones obligatorias para permitir transferir archivos desde Amazon Aurora a un bucket de S3:

    • s3:PutObject*

    • s3:GetObject*

    • s3:ListBucket

    • s3:DeleteObject*

    • s3:GetBucketLocation

    En la política, incluya los siguientes recursos para identificar el bucket de S3 y los objetos incluidos en él. En la siguiente lista de recursos se muestra el formato de nombre de recurso de Amazon (ARN) para obtener acceso a Amazon S3.

    • arn:aws:s3:::amzn-s3-demo-bucket

    • arn:aws:s3:::amzn-s3-demo-bucket/*

    Para obtener más información sobre cómo crear una política de IAM para Amazon Aurora, consulte Creación y uso de una política de IAM para el acceso a bases de datos de IAM. Consulte también el Tutorial: Crear y asociar su primera política administrada por el cliente en la Guía del usuario de IAM.

    El siguiente comando de la AWS CLI crea una política de IAM denominada ExportPolicy con estas opciones. Otorga acceso a un bucket denominado amzn-s3-demo-bucket.

    nota

    Después de crear la política, apunte el ARN de esta. Cuando asocia la política a un rol de IAM, necesita el ARN para realizar un paso posterior.

    aws iam create-policy --policy-name ExportPolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExportPolicy", "Effect": "Allow", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'
  2. Cree un rol de IAM que Aurora pueda asumir en su nombre para acceder a sus buckets de Amazon S3. Para obtener más información, vea Crear un rol para delegar permisos a un IAM usuario en Guía del usuario de IAM.

    En el siguiente ejemplo se muestra cómo se usa el comando de la AWS CLI para crear un rol denominado rds-s3-export-role.

    aws iam create-role --role-name rds-s3-export-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "export.rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. Asocie la política de IAM que creó al rol de IAM creado.

    El siguiente comando de la AWS CLI asocia la política creada anteriormente al rol denominado rds-s3-export-role. Sustituya your-policy-arn por el ARN de la política que ha apuntado en el paso anterior.

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role

Uso de un bucket de Amazon S3 en diversas cuentas

Puede utilizar buckets de Amazon S3 en cuentas de AWS. Para utilizar un bucket en diversas cuentas, agregue una política de bucket para permitir el acceso al rol de IAM que está utilizando para las exportaciones de S3. Para obtener más información, consulte el Ejemplo 2: Propietario del bucket que concede permisos de bucket en diversas cuentas.

  • Adjunte una política de bucket a su bucket, como se muestra en el siguiente ejemplo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/Admin" }, "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket", "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] } ] }

Uso de un AWS KMS key en diversas cuentas

Puede utilizar una AWS KMS key en diversas cuentas para cifrar las exportaciones de Amazon S3. En primer lugar, agregue una política de claves a la cuenta local y, a continuación, agregue las políticas de IAM en la cuenta externa. Para obtener más información, consulte Allowing users in other accounts to use a KMS key (Permitir que los usuarios de otras cuentas utilicen una clave KMS).

Para utilizar una clave KMS en diversas cuentas
  1. Agregue una política de claves a la cuenta local.

    El siguiente ejemplo proporciona ExampleRole y ExampleUser en la cuenta externa 444455556666 permisos en la cuenta local 123456789012.

    { "Sid": "Allow an external account to use this KMS key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/ExampleRole", "arn:aws:iam::444455556666:user/ExampleUser" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ], "Resource": "*" }
  2. Agregar políticas de IAM a la cuenta externa.

    La siguiente política de IAM de ejemplo permite a la entidad principal utilizar la clave KMS en la cuenta 123456789012 para operaciones criptográficas. Para conceder este permiso a ExampleRole y ExampleUser de la cuenta 444455556666, adjunte la política en esa cuenta.

    { "Sid": "Allow use of KMS key in account 123456789012", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }