Configuration de l'accès à un compartiment Amazon S3 - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration de l'accès à un compartiment Amazon S3

Vous identifiez le compartiment Amazon S3, puis vous donnez à l'instantané la permission d'y accéder.

Identification du compartiment Amazon S3 pour l'exportation

Identifiez le compartiment Amazon S3 vers lequel exporter l'instantané de base de données. Utilisez un compartiment S3 existant ou créez un nouveau compartiment S3.

Note

Le compartiment S3 vers lequel effectuer l'exportation doit se trouver dans la même AWS région que le snapshot.

Pour plus d'informations sur l'utilisation des Amazon S3 compartiments, veuillez consulter les points suivants dans le Guide de l'utilisateur Amazon Simple Storage Service :

Fournir un accès à un compartiment Amazon S3 à l'aide d'un IAM rôle

Avant d'exporter les données d'instantané de base de données vers Amazon S3, vous devez accorder aux tâches d'exportation d'instantané une autorisation d'accès en écriture au compartiment Amazon S3.

Pour accorder cette autorisation, créez une IAM politique qui donne accès au compartiment, puis créez un IAM rôle et associez la politique au rôle. Vous pourrez ultérieurement attribuer le IAM rôle à votre tâche d'exportation de clichés.

Important

Si vous prévoyez d'utiliser le AWS Management Console pour exporter votre instantané, vous pouvez choisir de créer la IAM politique et le rôle automatiquement lorsque vous exportez l'instantané. Pour obtenir des instructions, consultez Création de tâches d'exportation de snapshots.

Pour accorder aux tâches d'instantané de base de données l'accès à Amazon S3
  1. Créez une IAM politique. Cette politique fournit les autorisations d'accès au compartiment et aux objets qui permettent à votre tâche d'exportation d'instantané d'accéder à Amazon S3.

    Dans la politique, incluez les actions obligatoires suivantes pour permettre le transfert de fichiers depuis Amazon Aurora vers un compartiment S3 :

    • s3:PutObject*

    • s3:GetObject*

    • s3:ListBucket

    • s3:DeleteObject*

    • s3:GetBucketLocation

    Dans la politique, incluez les ressources suivantes pour identifier le compartiment S3 et les objets qu'il contient. La liste de ressources suivante indique le format Amazon Resource Name (ARN) pour accéder à Amazon S3.

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

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

    Pour plus d'informations sur la création d'une IAM politique pour Amazon Aurora, consultezCréation et utilisation d'une politique IAM pour l'accès à une base de données IAM. Consultez également le didacticiel : créez et joignez votre première politique gérée par le client dans le guide de IAM l'utilisateur.

    La AWS CLI commande suivante crée une IAM politique nommée ExportPolicy avec ces options. Il donne accès à un bucket nommé amzn-s3-demo-bucket.

    Note

    Après avoir créé la stratégie, notez celle ARN de la stratégie. Vous en aurez besoin ARN pour une étape ultérieure lorsque vous associerez la politique à un IAM rôle.

    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. Créez un IAM rôle afin qu'Aurora puisse assumer ce IAM rôle en votre nom pour accéder à vos compartiments Amazon S3. Pour plus d'informations, consultez la section Création d'un rôle pour déléguer des autorisations à un IAM utilisateur dans le Guide de IAM l'utilisateur.

    L'exemple suivant montre comment utiliser la AWS CLI commande pour créer un rôle nommé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. Attachez la IAM politique que vous avez créée au IAM rôle que vous avez créé.

    La AWS CLI commande suivante associe la politique créée précédemment au rôle nommérds-s3-export-role. your-policy-arnRemplacez-la par la politique ARN que vous avez indiquée lors d'une étape précédente.

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

Utilisation d'un compartiment Amazon S3 entre comptes

Vous pouvez utiliser des compartiments Amazon S3 sur plusieurs AWS comptes. Pour utiliser un compartiment entre comptes, ajoutez une politique de compartiment pour autoriser l'accès au IAM rôle que vous utilisez pour les exportations S3. Pour plus d'informations, consultez Exemple 2 : propriétaire d'un compartiment accordant à ses utilisateurs des autorisations entre comptes sur un compartiment.

  • Attachez une politique de compartiment à votre compartiment, comme illustré dans l'exemple suivant.

    { "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/*" ] } ] }

Utiliser un compte croisé AWS KMS key

Vous pouvez utiliser un compte croisé AWS KMS key pour chiffrer les exportations Amazon S3. Vous ajoutez d'abord une politique clé au compte local, puis vous ajoutez IAM des politiques au compte externe. Pour plus d'informations, voir Autoriser les utilisateurs d'autres comptes à utiliser une KMS clé.

Pour utiliser une clé multi-comptes KMS
  1. Ajoutez une politique de clé au compte local.

    L'exemple suivant accorde ExampleRole et ExampleUser dans les autorisations 444455556666 du compte externe dans le compte 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. Ajoutez IAM des politiques au compte externe.

    L'exemple de IAM politique suivant permet au principal d'utiliser la KMS clé du compte 123456789012 pour des opérations cryptographiques. Pour accorder cette autorisation aux ExampleRole et ExampleUser du compte 444455556666, attachez-leur la politique dans ce compte.

    { "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" }