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.
AWS Database Migration Service exemples de politiques basées sur l'identité
Par défaut, les utilisateurs et les rôles IAM ne sont pas autorisés à créer ou modifier les ressources AWS DMS . Ils ne peuvent pas non plus effectuer de tâches à l'aide du AWS Management Console AWS CLI, ou AWS API. Un IAM administrateur doit créer des IAM politiques qui accordent aux utilisateurs et aux rôles l'autorisation d'effectuer des API opérations spécifiques sur les ressources spécifiques dont ils ont besoin. Il doit ensuite attacher ces stratégies aux utilisateurs ou aux groupes IAM ayant besoin de ces autorisations.
Pour savoir comment créer une politique IAM basée sur l'identité à l'aide de ces exemples de documents de JSON stratégie, voir Création de politiques dans l'JSONonglet du Guide de l'IAMutilisateur.
Rubriques
Bonnes pratiques en matière de politiques
Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer AWS DMS des ressources dans votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :
-
Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations à vos utilisateurs et à vos charges de travail, utilisez les politiques AWS gérées qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d'informations, consultez les politiques AWS gérées ou les politiques AWS gérées pour les fonctions professionnelles dans le Guide de IAM l'utilisateur.
-
Appliquer les autorisations du moindre privilège : lorsque vous définissez des autorisations à IAM l'aide de politiques, accordez uniquement les autorisations nécessaires à l'exécution d'une tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées autorisations de moindre privilège. Pour plus d'informations sur l'utilisation IAM pour appliquer des autorisations, consultez la section Politiques et autorisations du Guide de IAM l'utilisateur. IAM
-
Utilisez des conditions dans IAM les politiques pour restreindre davantage l'accès : vous pouvez ajouter une condition à vos politiques pour limiter l'accès aux actions et aux ressources. Par exemple, vous pouvez rédiger une condition de politique pour spécifier que toutes les demandes doivent être envoyées en utilisantSSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que AWS CloudFormation. Pour plus d'informations, voir Éléments IAM JSON de politique : Condition dans le guide de IAM l'utilisateur.
-
Utilisez IAM Access Analyzer pour valider vos IAM politiques afin de garantir des autorisations sécurisées et fonctionnelles. IAM Access Analyzer valide les politiques nouvelles et existantes afin qu'elles soient conformes au langage des IAM politiques (JSON) et IAM aux meilleures pratiques. IAM Access Analyzer fournit plus de 100 vérifications des politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d'informations, consultez la section Valider les politiques avec IAM Access Analyzer dans le guide de l'IAMutilisateur.
-
Exiger l'authentification multifactorielle (MFA) : si vous avez un scénario qui nécessite des IAM utilisateurs ou un utilisateur root Compte AWS, activez-le MFA pour une sécurité supplémentaire. Pour exiger le MFA moment où les API opérations sont appelées, ajoutez MFA des conditions à vos politiques. Pour plus d'informations, consultez la section APIAccès sécurisé avec MFA dans le guide de IAM l'utilisateur.
Pour plus d'informations sur les meilleures pratiques en matière de sécuritéIAM, consultez la section Bonnes pratiques en matière de sécurité IAM dans le Guide de IAM l'utilisateur.
Utilisation de la console AWS DMS
La politique suivante vous donne accès à AWS DMS, y compris à la AWS DMS console, et spécifie également les autorisations pour certaines actions nécessaires à partir d'autres services Amazon tels qu'AmazonEC2.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:
region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" } ] }
Une description de ces autorisations peut vous aider à mieux comprendre pourquoi chacune d'entre elles est nécessaire à l'utilisation de la console.
La section suivante est obligatoire pour permettre à l'utilisateur d'afficher ses clés AWS KMS disponibles et leurs alias sur la console. Cette entrée n'est pas obligatoire si vous connaissez le nom de la ressource Amazon (ARN) pour la KMS clé et que vous utilisez uniquement le AWS Command Line Interface (AWS CLI).
{ "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:
service
:region
:account
:resourcetype
/id
" }
La section suivante est obligatoire pour certains types de point de terminaison qui nécessitent qu'un rôle ARN soit transmis au point de terminaison. En outre, si les AWS DMS rôles requis ne sont pas créés à l'avance, la AWS DMS console est en mesure de créer le rôle. Si tous les rôles sont configurés à l'avance, ils sont tous nécessaires dans iam:GetRole
et iam:PassRole
. Pour plus d'informations sur les rôles , consultez Création des IAM rôles à utiliser avec AWS DMS.
{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:
service
:region
:account
:resourcetype
/id
" }
La section suivante est obligatoire car elle AWS DMS doit créer l'EC2instance Amazon et configurer le réseau pour l'instance de réplication créée. Comme ces ressources existent dans le compte du client, il est obligatoire de pouvoir effectuer ces actions au nom du client.
{ "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:
service
:region
:account
:resourcetype
/id
" }
La section suivante est obligatoire pour permettre à l'utilisateur d'afficher les métriques de l'instance de réplication.
{ "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:
service
:region
:account
:resourcetype
/id
" }
Cette section est obligatoire pour permettre à l'utilisateur d'afficher les journaux de réplication.
{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:
service
:region
:account
:resourcetype
/id
" }
Si vous utilisez la AWS DMS console, le AWS Command Line Interface (AWS CLI) ou le AWS DMS API pour votre migration, vous devez ajouter plusieurs rôles à votre compte. Pour plus d'informations sur l'ajout de ces rôles, consultez Création des IAM rôles à utiliser avec AWS DMS.
Pour plus d'informations sur les conditions requises pour utiliser cette politique d'accès AWS DMS, consultezIAMautorisations nécessaires pour utiliser AWS DMS.
Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations
Cet exemple montre comment créer une stratégie qui permet aux utilisateurs IAM d'afficher les stratégies en ligne et gérées attachées à leur identité d'utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide du AWS CLI ou. AWS API
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Accès à un compartiment Amazon S3
AWS DMSutilise des compartiments Amazon S3 comme stockage intermédiaire pour la migration des bases de données. Généralement, AWS DMS gère les compartiments S3 par défaut à cet effet. Toutefois, dans certains cas, en particulier lorsque vous utilisez le AWS CLI ou le AWS DMSAPI, vous AWS DMS permet de spécifier votre propre compartiment S3 à la place. Par exemple, vous pouvez spécifier votre propre compartiment S3 pour la migration de données vers un point de terminaison cible Amazon Redshift. Dans ce cas, vous devez créer un rôle avec des autorisations basées sur la AmazonDMSRedshiftS3Role
politique AWS gérée.
L’exemple suivant présente une version de la politique AmazonDMSRedshiftS3Role
. Il permet d'accorder AWS DMS à un IAM utilisateur de votre AWS compte l'accès à l'un de vos compartiments Amazon S3. Il permet également à l'utilisateur d'ajouter, de mettre à jour et de supprimer des objets.
En plus de l'octroi des autorisations s3:PutObject
, s3:GetObject
et s3:DeleteObject
à l'utilisateur, la stratégie octroie aussi les autorisations s3:ListAllMyBuckets
, s3:GetBucketLocation
et s3:ListBucket
. Ces conditions supplémentaires sont requises par la console. D'autres autorisations permettent à AWS DMS de gérer le cycle de vie des compartiments. En outre, l'action s3:GetObjectAcl
est nécessaire pour pouvoir copier des objets.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:ListBucket", "s3:DeleteBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:GetObjectVersion", "s3:GetBucketPolicy", "s3:PutBucketPolicy", "s3:GetBucketAcl", "s3:PutBucketVersioning", "s3:GetBucketVersioning", "s3:PutLifecycleConfiguration", "s3:GetLifecycleConfiguration", "s3:DeleteBucketPolicy" ], "Resource": "arn:aws:s3:::dms-*" } ] }
Pour plus d'informations sur la création d'un rôle basé sur cette stratégie, consultez Paramètres du compartiment Amazon S3.
Accès aux ressources AWS DMS en fonction des balises
Vous pouvez utiliser des conditions dans votre politique basée sur l’identité pour contrôler l’accès aux ressources AWS DMS en fonction des balises. Cet exemple montre comment créer une stratégie qui autorise l'accès à tous les points de terminaison AWS DMS. Toutefois, l'autorisation est accordée uniquement si la balise Owner
contient le nom d'utilisateur approprié.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:*:*:endpoint/*", "Condition": { "StringEquals": {"dms:endpoint-tag/Owner": "${aws:username}"} } } ] }
Vous pouvez attacher cette stratégie aux utilisateurs IAM de votre compte. Si un utilisateur nommé richard-roe
tente d'accéder à un AWS DMS point de terminaison, la base de données de points de terminaison doit être Owner=richard-roe
étiquetée ouowner=richard-roe
. Dans le cas contraire, l’utilisateur se voit refuser l'accès. La clé de condition d'étiquette Owner
correspond à la fois à Owner
et à owner
, car les noms de clé de condition ne sont pas sensibles à la casse. Pour plus d'informations, voir Éléments IAM JSON de politique : Condition dans le guide de IAM l'utilisateur.