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 des autorisations IAM pour l'intégration de RDS for Oracle à Amazon S3
Pour que RDS for Oracle s'intègre à Amazon S3, votre instance de base de données doit avoir accès à un compartiment Amazon S3. Le Amazon VPC utilisé par votre instance de base de données n'a pas besoin de fournir d'accès aux points de terminaison Amazon S3.
RDS for Oracle prend en charge le transfert de fichiers entre une instance de base de données d'un compte et un compartiment Amazon S3 d'un autre compte. Lorsque des étapes supplémentaires sont requises, elles sont indiquées dans les sections suivantes.
Rubriques
Étape 1 : Créer une politique IAM pour votre rôle Amazon RDS
Étape 2 (facultative) : Créer une politique IAM pour votre compartiment Amazon S3
Étape 3 : Créer un rôle IAM pour votre instance de base de données et y attacher votre politique
Étape 4 : associer votre rôle IAM à votre instance de base de données RDS for Oracle.
Étape 1 : Créer une politique IAM pour votre rôle Amazon RDS
Au cours de cette étape, vous créez une politique AWS Identity and Access Management (IAM) avec les autorisations requises pour transférer des fichiers entre votre compartiment Amazon S3 et votre instance de base de données RDS. Cette étape suppose également que vous avez déjà créé un compartiment S3.
Avant de créer la politique, notez les informations suivantes :
-
ARN (Amazon Resource Name) de votre compartiment
-
L'ARN de votre AWS KMS clé, si votre compartiment utilise le chiffrement SSE-KMS ou SSE-S3
Note
Une instance de base de données RDS for Oracle ne peut pas accéder aux compartiments Amazon S3 chiffrés avec SSE-C.
Pour plus d'informations, consultez la section Protection des données à l'aide du chiffrement côté serveur dans le Guide de l'utilisateur Amazon Simple Storage Service.
Pour créer une politique IAM afin d'autoriser Amazon RDS à accéder à votre compartiment Amazon S3
-
Ouvrez IAM Management Console
. -
Sous Access Management (Gestion des accès), choisissez Policies (Stratégies).
-
Choisissez Create Policy (Créer une politique).
-
Sous l'onglet Visual editor (Éditeur visuel), choisissez Choose a service (Choisir un service), puis S3.
-
Pour Actions, choisissez Expand all (Développer tout), puis choisissez les autorisations de compartiment et d'objet nécessaires pour transférer des fichiers d'un compartiment Amazon S3 vers Amazon RDS. Par exemple, procédez comme suit :
-
Développez la liste, puis sélectionnez ListBucket.
-
Développez Lire, puis sélectionnez GetObject.
-
Développez Write, puis sélectionnez PutObjectet DeleteObject.
-
Développez la gestion des autorisations, puis sélectionnez PutObjectAcl. Cette autorisation est nécessaire si vous envisagez de charger des fichiers dans un compartiment appartenant à un autre compte (ce compte doit avoir un contrôle total du contenu du compartiment).
Les autorisations d'objet sont des autorisations pour les opérations sur les objets dans Amazon S3. Vous devez les accorder pour des objets d'un compartiment et non pour le compartiment lui-même. Pour plus d'informations, consultez Permissions for object operations.
-
-
Choisissez Ressources et procédez comme suit :
-
Choisissez Spécifique.
-
Pour Compartiment, choisissez Ajouter un ARN. Saisissez l'ARN de votre compartiment. Le nom du compartiment est renseigné automatiquement. Choisissez ensuite Ajouter.
-
Si la ressource de l'objet est affichée, choisissez Ajouter un ARN pour ajouter des ressources manuellement ou choisissez Tous.
Note
Vous pouvez affecter à Amazon Resource Name (ARN) une valeur d'ARN plus spécifique afin d'autoriser Amazon RDS à accéder uniquement à des fichiers ou des dossiers spécifiques dans un compartiment Amazon S3. Pour plus d'informations sur la définition d'une stratégie d'accès pour Amazon S3, consultez Gestion des autorisations d'accès de vos ressources Amazon S3.
-
-
(Facultatif) Choisissez Add additional permissions (Ajouter des autorisations supplémentaires) pour ajouter des ressources à la stratégie. Par exemple, procédez comme suit :
-
Si votre compartiment est chiffré avec une clé KMS personnalisée, sélectionnez KMS pour le service.
-
Pour Actions manuelles, sélectionnez ce qui suit :
-
Encrypt
-
ReEncrypt de et ReEncrypt vers
-
Decrypt
-
DescribeKey
-
GenerateDataKey
-
-
Pour Resources (Ressources), choisissez Specific (Spécifique).
-
Pour Clé, choisissez Ajouter un ARN. Saisissez l'ARN de votre clé personnalisée en tant que ressource, puis choisissez Ajouter.
Pour plus d'informations, consultez la section Protection des données à l'aide du chiffrement côté serveur avec des clés KMS stockées dans AWS Key Management Service (SSE-KMS) dans le guide de l'utilisateur d'Amazon Simple Storage Service.
-
Si vous souhaitez qu'Amazon RDS accède à d'autres compartiments, ajoutez le ARNs pour ces compartiments. Si vous le souhaitez, vous pouvez également accorder l'accès à tous les compartiments et à tous les objets dans Amazon S3.
-
-
Choisissez Suivant : Balises, puis Suivant : Vérification.
-
Dans Name (Name), attribuez un nom à votre stratégie IAM, par exemple
rds-s3-integration-policy
. Vous utilisez ce nom lorsque vous créez un rôle IAM à associer à votre instance de base de données. Vous pouvez également ajouter une valeur Description facultative. -
Choisissez Create Policy (Créer une politique).
Créez une politique AWS Identity and Access Management (IAM) qui accorde à Amazon RDS l'accès à un compartiment Amazon S3. Après avoir créé la politique, notez son ARN. Vous en aurez besoin lors d'une étape ultérieure.
Incluez les actions appropriées dans la politique en fonction du type d'accès requis :
-
GetObject
– Obligatoire pour transférer les fichiers d'un compartiment Amazon S3 vers Amazon RDS. -
ListBucket
– Obligatoire pour transférer les fichiers d'un compartiment Amazon S3 vers Amazon RDS. -
PutObject
– Obligatoire pour transférer les fichiers de Amazon RDS vers un compartiment Amazon S3.
La AWS CLI commande suivante crée une politique IAM nommée
avec ces options. Elle accorde un accès à un compartiment nommé rds-s3-integration-policy
.amzn-s3-demo-bucket
Exemple
Dans Linux, macOS, ou Unix:
aws iam create-policy \ --policy-name
rds-s3-integration-policy
\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration
", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*
" ] } ] }'
L'exemple suivant inclut des autorisations pour les clés KMS personnalisées.
aws iam create-policy \ --policy-name
rds-s3-integration-policy
\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration
", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*
", "arn:aws:kms:::your-kms-arn
" ] } ] }'
Dans Windows:
aws iam create-policy ^ --policy-name
rds-s3-integration-policy
^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration
", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*
" ] } ] }'
L'exemple suivant inclut des autorisations pour les clés KMS personnalisées.
aws iam create-policy ^ --policy-name
rds-s3-integration-policy
^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration
", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*
", "arn:aws:kms:::your-kms-arn
" ] } ] }'
Étape 2 (facultative) : Créer une politique IAM pour votre compartiment Amazon S3
Cette étape n'est nécessaire que dans les conditions suivantes :
-
Vous prévoyez de charger des fichiers dans un compartiment Amazon S3 à partir d'un compte (compte A) et d'y accéder depuis un autre compte (compte B).
-
Le compte A est le propriétaire du compartiment.
-
Le compte B nécessite un contrôle total des objets chargés dans le compartiment.
Si les conditions précédentes ne s'appliquent pas à votre cas, passez à Étape 3 : Créer un rôle IAM pour votre instance de base de données et y attacher votre politique.
Pour créer votre politique de compartiment, assurez-vous de disposer des éléments suivants :
-
ID de compte du compte A
-
Nom d'utilisateur du compte A
-
Valeur ARN du compartiment Amazon S3 dans le compte B
Pour créer ou modifier une politique de compartiment
Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/
. -
Dans la liste Buckets (Compartiments), choisissez le nom du compartiment pour lequel vous souhaitez créer une stratégie de compartiment ou modifier la stratégie de compartiment existante.
-
Choisissez Permissions.
-
Sous Politique de compartiment, choisissez Modifier. La page Modifier la stratégie de compartiment s'ouvre.
-
Dans la page Edit bucket policy (Modifier la politique de compartiment), explorez Policy examples (Exemples de politiques) dans le Guide de l'utilisateur Simple Storage Service (Amazon S3), choisissez Policy generator (Générateur de politiques) pour générer automatiquement une politique, ou modifiez le JSON dans la section Policy (Politique).
Si vous choisissez le générateur de AWS politiques, celui-ci s'ouvre dans une nouvelle fenêtre :
-
Sur la page AWS Policy Generator (Générateur de politiques), dans Select Type of Policy (Sélectionner le type de politique), sélectionnez S3 Bucket Policy (Politique de compartiment S3).
-
Ajoutez une instruction en saisissant les informations dans les champs fournis, puis choisissez Add Statement (Ajouter une instruction). Répétez l'opération pour autant d'instructions que vous souhaitez ajouter. Pour plus d'informations sur ces champs, consultez la Référence des éléments de stratégie IAM JSON dans le Guide de l'utilisateur IAM.
Note
Pour plus de commodité, la page Edit Bucket Policy (Modifier la stratégie de compartiment) affiche l'ARN (Amazon Resource Name) de compartiment du compartiment actuel au-dessus du champ de texte Policy (Stratégie). Vous pouvez copier cet ARN pour l'utiliser dans les instructions de la page AWS Policy Generator (Générateur de politique).
-
Une fois que vous avez fini d’ajouter des instructions, choisissez Generate Policy (Générer une stratégie).
-
Copiez le texte de stratégie généré, choisissez Fermer et revenez à la page Modifier la stratégie de compartiment dans la console Amazon S3.
-
-
Dans la boîte Policy (Stratégie), modifiez la stratégie existante ou collez la stratégie de compartiment à partir du générateur de stratégies. Veillez à résoudre les avertissements de sécurité, les erreurs, les avertissements généraux et les suggestions avant d’enregistrer votre stratégie.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Example permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-A-ID
:account-A-user
" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket
", "arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" ] } ] } -
Choisissez Save Changes (Enregistrez les modifications), qui vous renvoie à la page Autorisations du compartiment.
Étape 3 : Créer un rôle IAM pour votre instance de base de données et y attacher votre politique
Cette étape suppose que vous avez créé la politique IAM dans Étape 1 : Créer une politique IAM pour votre rôle Amazon RDS. Au cours de cette étape, vous créez un rôle pour votre instance de base de données RDS for Oracle, puis attachez votre politique au rôle.
Pour créer un rôle IAM afin d'autoriser Amazon RDS à accéder à un compartiment Amazon S3
-
Ouvrez IAM Management Console
. -
Dans le panneau de navigation, choisissez Roles (Rôles).
-
Sélectionnez Create role (Créer un rôle).
-
Choisissez Service AWS .
-
Pour les cas d'utilisation d'autres AWS services : choisissez RDS, puis RDS — Ajouter un rôle à la base de données. Ensuite, sélectionnez Suivant.
-
Pour Rechercher sous Politiques d'autorisations, saisissez le nom de la politique IAM que vous avez créée dans Étape 1 : Créer une politique IAM pour votre rôle Amazon RDS et choisissez la politique lorsqu'elle apparaît dans la liste. Ensuite, sélectionnez Suivant.
-
Pour Nom du rôle, indiquez le nom de votre rôle IAM, par exemple
rds-s3-integration-role
. Vous pouvez également ajouter une valeur Description facultative. -
Choisissez Créer un rôle.
Pour créer un rôle et y attacher votre politique
-
Créez un rôle IAM qu'Amazon RDS peut endosser en votre nom pour accéder à vos compartiments Amazon S3.
Nous vous recommandons d'utiliser les clés de contexte de condition globale
aws:SourceArn
etaws:SourceAccount
dans des relations d'approbation 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.Vous pouvez utiliser les deux clés de contexte de condition globale et faire en sorte que la valeur
aws:SourceArn
contienne l'ID de compte. Dans ce cas, la valeuraws:SourceAccount
et le compte dans la valeuraws:SourceArn
doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction.-
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 relation d'approbation, assurez-vous d'utiliser la clé de contexte de condition globale
aws:SourceArn
avec l'Amazon Resource Name (ARN) complet des ressources qui accèdent au rôle.La AWS CLI commande suivante crée le rôle nommé
à cet effet.rds-s3-integration-role
Exemple
Dans Linux, macOS, ou Unix:
aws iam create-role \ --role-name
rds-s3-integration-role
\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "my_account_ID
", "aws:SourceArn": "arn:aws:rds:Region
:my_account_ID
:db:dbname
" } } } ] }'Dans Windows:
aws iam create-role ^ --role-name
rds-s3-integration-role
^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "my_account_ID
", "aws:SourceArn": "arn:aws:rds:Region
:my_account_ID
:db:dbname
" } } } ] }'Pour de plus amples informations, veuillez consulter Création d'un rôle pour déléguer des autorisations à un utilisateur IAM dans le Guide de l'utilisateur IAM.
-
-
Une fois le rôle créé, notez son ARN. Vous en aurez besoin lors d'une étape ultérieure.
-
Attachez la politique que vous avez créée au rôle que vous avez créé.
La AWS CLI commande suivante associe la politique au rôle nommé
.rds-s3-integration-role
Exemple
Dans Linux, macOS, ou Unix:
aws iam attach-role-policy \ --policy-arn
your-policy-arn
\ --role-namerds-s3-integration-role
Dans Windows:
aws iam attach-role-policy ^ --policy-arn
your-policy-arn
^ --role-namerds-s3-integration-role
Remplacez
par l'ARN de stratégie que vous avez noté lors d'une étape précédente.your-policy-arn
Étape 4 : associer votre rôle IAM à votre instance de base de données RDS for Oracle.
La dernière étape de la configuration des autorisations pour l'intégration d'Amazon S3 consiste à associer votre rôle IAM à votre instance de base de données. Notez les critères suivants :
-
Vous devez avoir accès à un rôle IAM auquel est associée la politique d'autorisations Amazon S3 requise.
-
Vous pouvez associer un seul rôle IAM à la fois avec votre instance de base de données RDS for Oracle.
-
Votre instance de base de données doit être dans l'état Disponible.
Pour associer votre rôle IAM à votre instance de base de données RDS for Oracle
Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à https://console.aws.amazon.com/rds/
l'adresse. -
Choisissez Databases (Bases de données) dans le volet de navigation.
-
Choisissez le nom de l'instance de base de données RDS for Oracle pour afficher ses détails.
-
Dans l'onglet Connectivity & security (Connectivité & sécurité), faites défiler l'écran jusqu'à l'onglet Manage IAM roles (Gérer les rôles IAM) au bas de la page.
-
Pour Ajouter des rôles IAM à cette instance, choisissez le rôle que vous avez créé dansÉtape 3 : Créer un rôle IAM pour votre instance de base de données et y attacher votre politique.
-
Pour Fonction, choisissez S3_INTEGRATION.
-
Choisissez Add role (Ajouter un rôle).
La AWS CLI commande suivante ajoute le rôle à une instance de base de données Oracle nommée
.mydbinstance
Exemple
Dans Linux, macOS, ou Unix:
aws rds add-role-to-db-instance \ --db-instance-identifier
mydbinstance
\ --feature-name S3_INTEGRATION \ --role-arnyour-role-arn
Dans Windows:
aws rds add-role-to-db-instance ^ --db-instance-identifier
mydbinstance
^ --feature-name S3_INTEGRATION ^ --role-arnyour-role-arn
Remplacez
par l'ARN du rôle que vous avez noté lors d'une étape précédente. your-role-arn
S3_INTEGRATION
doit être spécifié pour l'option --feature-name
.