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 l'accès à un compartiment Amazon S3 à l'aide d'un rôle IAM

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 politique IAM qui donne accès au compartiment, puis créez un rôle IAM et attachez la politique au rôle. Vous pouvez ultérieurement affecter le rôle IAM à votre tâche d'exportation d'instantané.

Important

Si vous prévoyez d'utiliser le AWS Management Console pour exporter votre instantané, vous pouvez choisir de créer la politique IAM et le rôle automatiquement lorsque vous exportez le cliché. Pour obtenir des instructions, veuillez consulter 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 politique IAM. 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 l'accès à 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 politique IAM pour Amazon Aurora, veuillez consulter Création et utilisation d'une politique IAM pour l'accès à une base de données IAM. Consultez également Didacticiel : création et attachement de votre première politique gérée par le client dans le Guide de l'utilisateur IAM.

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

    Note

    Après avoir créé la politique, notez son ARN. Vous en aurez besoin par la suite pour attacher la politique à un rôle IAM.

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

    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 politique IAM que vous avez créée au rôle IAM que vous venez de créer.

    La AWS CLI commande suivante associe la politique créée précédemment au rôle nommérds-s3-export-role. Remplacez your-policy-arn par l'ARN de stratégie que vous avez noté 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 afin d'autoriser l'accès au rôle IAM 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.

    JSON
    { "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. Tout d'abord, vous ajoutez une politique de clé au compte local, puis vous ajoutez des politiques IAM au compte externe. Pour plus d'informations, consultez la section Autorisation des utilisateurs d'autres comptes à utiliser une clé KMS.

Pour utiliser une clé KMS entre comptes
  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 des politiques IAM au compte externe.

    L'exemple de stratégie IAM suivant autorise le principal à utiliser la clé KMS dans le compte 123456789012 pour les 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" }