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

Pour exporter des données vers Amazon S3, autorisez votre de SQL cluster de base de données Postgre à accéder au compartiment Amazon S3 dans lequel les fichiers doivent être placés.

Pour cela, procédez comme suit :

Pour donner à une de SQL cluster de base de données Postgre l'accès à Amazon S3 via un rôle IAM
  1. Créez une IAM politique.

    Cette politique fournit les autorisations de compartiment et d'objet qui permettent à votre de SQL cluster de base de données Postgre d'accéder à Amazon S3.

    Dans le cadre de la création de cette politique, procédez comme suit :

    1. Incluez dans la politique les actions requises suivantes pour autoriser le transfert de fichiers depuis votre de SQL cluster de base de données Postgre vers un compartiment Amazon S3 :

      • s3:PutObject

      • s3:AbortMultipartUpload

    2. Incluez le nom de ressource Amazon (ARN) qui identifie le compartiment Amazon S3 et les objets qu'il contient. Le ARN format d'accès à Amazon S3 est le suivant : arn:aws:s3:::amzn-s3-demo-bucket/*

    Pour plus d'informations sur la création d'une IAM politique pour Aurora Postgre SQL . Cré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.

    Procédez comme suit : AWS CLI cette commande crée une IAM politique nommée rds-s3-export-policy avec ces options. Il donne accès à un bucket nommé amzn-s3-demo-bucket.

    Avertissement

    Nous vous recommandons de configurer votre base de données dans un environnement privé VPC dont les politiques de point de terminaison sont configurées pour accéder à des compartiments spécifiques. Pour plus d'informations, consultez la section Utilisation des politiques relatives aux terminaux pour Amazon S3 dans le guide de VPC l'utilisateur Amazon.

    Nous vous recommandons vivement de ne pas créer de politique avec accès à toutes les ressources. Cet accès peut constituer une menace pour la sécurité des données. Si vous créez une stratégie qui accorde à S3:PutObject un accès à toutes les ressources à l'aide de "Resource":"*", un utilisateur disposant de privilèges d'exportation peut exporter des données vers tous les compartiments de votre compte. En outre, l'utilisateur peut exporter des données vers n'importe quel compartiment accessible en écriture publique au sein de votre AWS Région.

    Après avoir créé la politique, notez le nom de la ressource Amazon (ARN) de la politique. 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 rds-s3-export-policy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3export", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation", "s3:AbortMultipartUpload" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'
  2. Créez un IAM rôle.

    Vous le faites pour qu'Aurora Postgre SQL 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.

    Nous vous recommandons d'utiliser les clés de contexte de condition globale aws:SourceArn et aws:SourceAccount dans des politiques basées sur les ressources pour limiter les autorisations du service à une ressource spécifique. C'est le moyen le plus efficace de se protéger contre le problème du député confus.

    Si vous utilisez les deux clés de contexte de condition globale et que la valeur de aws:SourceArn contient l'ID de compte, la valeur de aws:SourceAccount et le compte indiqué dans la valeur de aws:SourceArn doivent utiliser le même ID de compte lorsqu'il est utilisé dans la même déclaration de politique.

    • Utilisez aws:SourceArn si vous souhaitez un accès interservices pour une seule ressource.

    • Utilisez aws:SourceAccount si vous souhaitez autoriser une ressource de ce compte à être associée à l'utilisation interservices.

    Dans la politique, veillez à utiliser la clé de contexte de condition aws:SourceArn globale avec l'intégralité ARN de la ressource. L'exemple suivant montre comment procéder à l'aide du AWS CLI commande pour créer un rôle nommérds-s3-export-role.

    Exemple

    Dans Linux, macOS, ou Unix:

    aws iam create-role \ --role-name rds-s3-export-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname" } } } ] }'

    Dans Windows:

    aws iam create-role ^ --role-name rds-s3-export-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname" } } } ] }'
  3. Attachez la IAM politique que vous avez créée au IAM rôle que vous avez créé.

    Procédez comme suit : AWS CLI cette commande attache la politique créée précédemment au rôle nommé rds-s3-export-role. Remplacer your-policy-arn par la politique ARN que vous avez notée lors d'une étape précédente.

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role
  4. Ajoutez le IAM rôle à l' de cluster de base de données. Pour ce faire, utilisez AWS Management Console or AWS CLI, comme décrit ci-dessous.

Pour ajouter un IAM rôle pour une de SQL cluster de base de données Postgre à l'aide de la console
  1. Connectez-vous au AWS Management Console et ouvrez la RDS console Amazon à l'adresse https://console.aws.amazon.com/rds/.

  2. Choisissez le nom de l' de SQL cluster de base de données Postgre pour afficher ses détails.

  3. Dans l'onglet Connectivité et sécurité, dans la section Gérer les IAM rôles, choisissez le rôle à ajouter sous Ajouter IAM des rôles à cette instance.

  4. Sous Fonctionnalité, choisissez s3Export.

  5. Choisissez Ajouter un rôle.

Pour ajouter un IAM rôle à un SQL cluster de base de données Postgre à l'aide du CLI
  • Utilisez la commande suivante pour ajouter le rôle au SQL cluster de base de données Postgre nommémy-db-cluster. Remplacez your-role-arn avec le rôle ARN que vous avez noté à l'étape précédente. Utilisez s3Export comme valeur de l'option --feature-name.

    Exemple

    Dans Linux, macOS, ou Unix:

    aws rds add-role-to-db-cluster \ --db-cluster-identifier my-db-cluster \ --feature-name s3Export \ --role-arn your-role-arn \ --region your-region

    Dans Windows:

    aws rds add-role-to-db-cluster ^ --db-cluster-identifier my-db-cluster ^ --feature-name s3Export ^ --role-arn your-role-arn ^ --region your-region