

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.

# Sécurité dans AWS Database Migration Service
<a name="CHAP_Security"></a>

La sécurité du cloud AWS est la priorité absolue. En tant que AWS client, vous bénéficiez d'un centre de données et d'une architecture réseau conçus pour répondre aux exigences des entreprises les plus sensibles en matière de sécurité.

La sécurité est une responsabilité partagée entre vous AWS et vous. Le [modèle de responsabilité partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) décrit cette notion par les termes sécurité *du* cloud et sécurité *dans* le cloud :
+ **Sécurité du cloud** : AWS est chargée de protéger l'infrastructure qui exécute les AWS services dans le AWS cloud. AWS vous fournit également des services que vous pouvez utiliser en toute sécurité. Des auditeurs tiers testent et vérifient régulièrement l’efficacité de notre sécurité dans le cadre des [programmes de conformitéAWS](https://aws.amazon.com/compliance/programs/). Pour en savoir plus sur les programmes de conformité qui s'appliquent à AWS DMS, consultez la section [AWS Services concernés par programme de conformité](https://aws.amazon.com/compliance/services-in-scope/).
+ **Sécurité dans le cloud** — Votre responsabilité est déterminée par le AWS service que vous utilisez. Vous êtes également responsable d’autres facteurs, y compris la sensibilité de vos données, les exigences de votre organisation, et la législation et la réglementation applicables. 

Cette documentation vous aide à comprendre comment appliquer le modèle de responsabilité partagée lors de son utilisation AWS DMS. Les rubriques suivantes expliquent comment procéder à la configuration AWS DMS pour atteindre vos objectifs de sécurité et de conformité. Vous apprendrez également à utiliser d'autres AWS services qui vous aident à surveiller et à sécuriser vos AWS DMS ressources. 

Vous pouvez gérer l'accès à vos AWS DMS ressources et à vos bases de données (DBs). La méthode que vous utilisez pour gérer l'accès dépend de la tâche de réplication que vous devez effectuer avec AWS DMS : 
+ Utilisez des politiques Gestion des identités et des accès AWS (IAM) pour attribuer des autorisations qui déterminent qui est autorisé à gérer les AWS DMS ressources. AWS DMS nécessite que vous disposiez des autorisations appropriées si vous vous connectez en tant qu'utilisateur IAM. Par exemple, vous pouvez utiliser IAM pour déterminer qui est autorisé à créer, décrire, modifier et supprimer des instances de base de données et des clusters de bases de données, attribuer des balises à des ressources ou modifier des groupes de sécurité. Pour plus d'informations sur IAM et son utilisation avec AWS DMS, consultez[Gestion des identités et des accès pour AWS Database Migration Service](security-iam.md).
+ AWS DMS utilise le protocole SSL (Secure Sockets Layer) pour les connexions de vos terminaux avec Transport Layer Security (TLS). Pour plus d'informations sur l'utilisation SSL/TLS avec AWS DMS, consultez[Utilisation du protocole SSL avec AWS Database Migration Service](CHAP_Security.SSL.md).
+ AWS DMS utilise des clés de chiffrement AWS Key Management Service (AWS KMS) pour chiffrer le stockage utilisé par votre instance de réplication et ses informations de connexion au point de terminaison. AWS DMS utilise également des clés de AWS KMS chiffrement pour sécuriser vos données cibles au repos pour les points de terminaison cibles Amazon S3 et Amazon Redshift. Pour de plus amples informations, veuillez consulter [Configuration d'une clé de chiffrement et spécification AWS KMS des autorisations](#CHAP_Security.EncryptionKey).
+ AWS DMS crée toujours votre instance de réplication dans un cloud privé virtuel (VPC) basé sur le service Amazon VPC pour un contrôle d'accès réseau optimal. Pour vos instances de base de données et vos clusters d'instances, utilisez le même VPC que votre instance de réplication, ou un VPC supplémentaire correspondant VPCs à ce niveau de contrôle d'accès. Chaque réseau Amazon VPC que vous utilisez doit être associé à un groupe de sécurité dont les règles permettent à tout le trafic sur tous les ports de quitter (trafic sortant) le VPC. Cette approche permet la communication de l'instance de réplication avec vos points de terminaison de base de données source et cible, tant que les bonnes règles de trafic entrant sont activées sur ces points de terminaison. 

  Pour plus d'informations sur les configurations réseau disponibles pour AWS DMS, consultez[Configuration d'un réseau pour une instance de réplication](CHAP_ReplicationInstance.VPC.md). Pour plus d’informations sur la création d’une instance de base de données ou d’un cluster d’instances dans un VPC, consultez la documentation sur la sécurité et la gestion des clusters de vos bases de données Amazon dans la [documentation AWS](https://docs.aws.amazon.com/index.html?nc2=h_ql_doc_do_v). Pour plus d'informations sur les configurations réseau prises en charge par AWS DMS , consultez [Configuration d'un réseau pour une instance de réplication](CHAP_ReplicationInstance.VPC.md).
+ Pour consulter les journaux de migration de base de données, vous devez disposer CloudWatch des autorisations Amazon Logs appropriées au rôle IAM que vous utilisez. Pour plus d'informations sur la journalisation pour AWS DMS, consultez [Surveillance des tâches de réplication à l'aide d'Amazon CloudWatch](CHAP_Monitoring.md#CHAP_Monitoring.CloudWatch).

**Topics**
+ [Protection des données dans AWS Database Migration Service](CHAP_Security.DataProtection.md)
+ [Gestion des identités et des accès pour AWS Database Migration Service](security-iam.md)
+ [Validation de conformité pour AWS Database Migration Service](dms-compliance.md)
+ [Résilience dans AWS Database Migration Service](disaster-recovery-resiliency.md)
+ [Sécurité de l'infrastructure dans AWS Database Migration Service](infrastructure-security.md)
+ [Contrôle précis des accès à l'aide des noms de ressources et des balises](CHAP_Security.FineGrainedAccess.md)
+ [Chiffrement pour des migrations AWS DMS homogènes](#CHAP_Security.Migrations)
+ [Configuration d'une clé de chiffrement et spécification AWS KMS des autorisations](#CHAP_Security.EncryptionKey)
+ [Sécurité du réseau pour AWS Database Migration Service](#CHAP_Security.Network)
+ [Utilisation du protocole SSL avec AWS Database Migration Service](CHAP_Security.SSL.md)
+ [Modification du mot de passe de base de données](#CHAP_Security.ChangingDBPassword)
+ [Utilisation de l'authentification Kerberos avec AWS Database Migration Service](CHAP_Security.Kerberos.md)

# Protection des données dans AWS Database Migration Service
<a name="CHAP_Security.DataProtection"></a>

## Chiffrement des données
<a name="CHAP_Security.DataProtection.DataEncryption"></a>

Vous pouvez activer le chiffrement des ressources de données des points de terminaison AWS DMS cibles pris en charge. AWS DMS chiffre également les connexions vers AWS DMS AWS DMS et entre tous ses points de terminaison source et cible. En outre, vous pouvez gérer les clés utilisées par les AWS DMS points de terminaison cibles pris en charge pour activer ce chiffrement.

**Topics**
+ [Chiffrement au repos](#CHAP_Security.DataProtection.DataEncryption.EncryptionAtRest)
+ [Chiffrement en transit](#CHAP_Security.DataProtection.DataEncryption.EncryptionInTransit)
+ [Gestion des clés](#CHAP_Security.DataProtection.DataEncryption.KeyManagement)

### Chiffrement au repos
<a name="CHAP_Security.DataProtection.DataEncryption.EncryptionAtRest"></a>

AWS DMS prend en charge le chiffrement au repos en vous permettant de spécifier le mode de chiffrement côté serveur que vous souhaitez utiliser pour transférer vos données répliquées vers Amazon S3 avant qu'elles ne soient copiées vers les points de terminaison cibles pris en charge AWS DMS . Pour spécifier ce mode de chiffrement, définissez l'attribut de connexion supplémentaire `encryptionMode` pour le point de terminaison. Si ce `encryptionMode` paramètre spécifie le mode de chiffrement par clé KMS, vous pouvez également créer des AWS KMS clés personnalisées spécifiquement pour chiffrer les données cibles pour les points de terminaison AWS DMS cibles suivants :
+ Amazon Redshift : pour plus d’informations sur le paramètre `encryptionMode`, consultez [Paramètres du point de terminaison lors de l'utilisation d'Amazon Redshift comme cible pour AWS DMS](CHAP_Target.Redshift.md#CHAP_Target.Redshift.ConnectionAttrib). Pour plus d'informations sur la création d'une clé AWS KMS de chiffrement personnalisée, consultez[Création et utilisation de AWS KMS clés pour chiffrer les données cibles d'Amazon Redshift](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys).
+ Amazon S3 : pour plus d’informations sur le paramètre `encryptionMode`, consultez [Paramètres du point de terminaison lors de l'utilisation d'Amazon S3 comme cible pour AWS DMS](CHAP_Target.S3.md#CHAP_Target.S3.Configuring). Pour plus d'informations sur la création d'une clé AWS KMS de chiffrement personnalisée, consultez[Création de AWS KMS clés pour chiffrer les objets cibles d'Amazon S3](CHAP_Target.S3.md#CHAP_Target.S3.KMSKeys).

### Chiffrement en transit
<a name="CHAP_Security.DataProtection.DataEncryption.EncryptionInTransit"></a>

AWS DMS prend en charge le chiffrement en transit en garantissant que les données répliquées sont transférées en toute sécurité du point de terminaison source vers le point de terminaison cible. Cela inclut le chiffrement d'un compartiment S3 sur l'instance de réplication utilisée par votre tâche de réplication pour le stockage intermédiaire lorsque les données se déplacent dans le pipeline de réplication. Pour chiffrer les connexions de tâches aux points de terminaison AWS DMS source et cible, utilisez le protocole SSL (Secure Socket Layer) ou le protocole TLS (Transport Layer Security). En chiffrant les connexions aux deux points de terminaison, vous AWS DMS garantissez la sécurité de vos données lorsqu'elles sont transférées du point de terminaison source vers votre tâche de réplication et de votre tâche vers le point de terminaison cible. Pour plus d'informations sur l'utilisation SSL/TLS avec AWS DMS, voir [Utilisation du protocole SSL avec AWS Database Migration Service](CHAP_Security.SSL.md)

AWS DMS prend en charge les clés par défaut et personnalisées pour chiffrer à la fois le stockage de réplication intermédiaire et les informations de connexion. La gestion de ces clés s'effectue via AWS KMS. Pour de plus amples informations, veuillez consulter [Configuration d'une clé de chiffrement et spécification AWS KMS des autorisations](CHAP_Security.md#CHAP_Security.EncryptionKey).

### Gestion des clés
<a name="CHAP_Security.DataProtection.DataEncryption.KeyManagement"></a>

AWS DMS prend en charge les clés par défaut ou personnalisées pour chiffrer le stockage de réplication, les informations de connexion et le stockage des données cibles pour certains points de terminaison cibles. Vous pouvez gérer ces clés en utilisant AWS KMS. Pour de plus amples informations, veuillez consulter [Configuration d'une clé de chiffrement et spécification AWS KMS des autorisations](CHAP_Security.md#CHAP_Security.EncryptionKey).

## Confidentialité du trafic inter-réseau
<a name="CHAP_Security.DataProtection.InternetworkTraffic"></a>

Les connexions sont protégées entre les points de terminaison source AWS DMS et cible d'une même AWS région, qu'elles soient exécutées sur site ou dans le cadre d'un AWS service dans le cloud. (Au moins un point de terminaison, source ou cible, doit être exécuté dans le cadre d'un AWS service dans le cloud.) Cette protection s'applique que ces composants partagent le même cloud privé virtuel (VPC) ou qu'ils existent séparément VPCs, s' VPCs ils se trouvent tous dans la même AWS région. Pour plus d'informations sur les configurations réseau prises en charge pour AWS DMS, consultez[Configuration d'un réseau pour une instance de réplication](CHAP_ReplicationInstance.VPC.md). Pour plus d'informations sur les considérations de sécurité lors de l'utilisation de ces configurations réseau, consultez [Sécurité du réseau pour AWS Database Migration Service](CHAP_Security.md#CHAP_Security.Network).

## Protection des données dans DMS Fleet Advisor
<a name="fa-security-data-protection"></a>

DMS Fleet Advisor collecte et analyse vos métadonnées de base de données afin de déterminer la taille appropriée de la cible de migration. DMS Fleet Advisor n’accède pas aux données des tables et ne les transfère pas. De plus, DMS Fleet Advisor ne suit pas l’utilisation des fonctionnalités de base de données et n’accède pas à vos statistiques d’utilisation.

Vous contrôlez l’accès à vos bases de données lorsque vous créez des utilisateurs de base de données que DMS Fleet Advisor utilise pour travailler avec vos bases de données. Vous accordez les privilèges requis à ces utilisateurs. Pour utiliser DMS Fleet Advisor, vous devez accorder à vos utilisateurs de base de données des autorisations de lecture. DMS Fleet Advisor ne modifie pas vos bases de données et ne nécessite aucune autorisation d’écriture. Pour de plus amples informations, veuillez consulter [Création d'utilisateurs de base de données pour AWS DMS Fleet Advisor](fa-database-users.md).

Vous pouvez utiliser le chiffrement des données dans vos bases de données. AWS DMS chiffre également les connexions au sein de DMS Fleet Advisor et de ses collecteurs de données.

Le collecteur de données DMS utilise l’API de protection des données (DPAPI) pour chiffrer, protéger et stocker les informations relatives à l’environnement du client et aux informations d’identification de base de données. DMS Fleet Advisor stocke ces données chiffrées dans un fichier sur le serveur où fonctionne votre collecteur de données DMS. DMS Fleet Advisor ne transfère pas ces données depuis ce serveur. Pour plus d’informations sur DPAPI, consultez [Procédure : utiliser la protection des données](https://learn.microsoft.com/en-us/dotnet/standard/security/how-to-use-data-protection).

Après avoir installé le collecteur de données DMS, vous pouvez consulter toutes les requêtes que cette application exécute pour collecter les métriques. Vous pouvez exécuter le collecteur de données DMS en mode hors connexion, puis passer en revue les données collectées sur votre serveur. Vous pouvez également passer en revue ces données collectées dans votre compartiment Amazon S3. Pour de plus amples informations, veuillez consulter [Comment fonctionne le collecteur de données DMS ?](fa-collecting.md#fa-data-collectors-how-it-works).

# Refus d'utiliser vos données pour améliorer le service dans AWS Database Migration Service
<a name="CHAP_Security.dataserviceimprovement"></a>

Vous pouvez choisir de refuser que vos données soient utilisées à des fins de développement et d'amélioration AWS DMS en utilisant la politique de désinscription AWS des Organisations. Vous pouvez choisir de vous désinscrire même si aucune donnée de ce type AWS DMS n'est actuellement collectée. Pour plus d'informations, consultez les [politiques de désinscription des services d'intelligence artificielle](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) dans le *Guide de l'utilisateur AWS des Organizations*.

À l'heure actuelle, AWS Database Migration Service (AWS DMS) ne collecte aucune des données qu'il traite en votre nom. Pour développer et améliorer DMS et les fonctionnalités d'autres AWS services, DMS peut collecter de telles données à l'avenir. Nous mettrons à jour cette page de documentation lorsque DMS sera configuré pour collecter des données. Vous aurez la possibilité de vous désinscrire à tout moment.

**Note**  
Pour que vous puissiez utiliser la politique de désinscription, vos AWS comptes doivent être gérés de manière centralisée par AWS les Organizations. Si vous n'avez pas créé d'organisation pour vos AWS comptes, consultez la section [Managing an organization with AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org.html) dans le *guide de l'utilisateur AWS des Organizations*.

Les effets de la désactivation sont les suivants :
+ AWS DMS supprime les données collectées et stockées à des fins d'amélioration du service avant votre désinscription (le cas échéant).
+ Une fois que vous vous êtes désinscrit, vous AWS DMS ne collectez ni ne stockez ces données à des fins d'amélioration du service.

# Inférence interrégionale dans AWS Database Migration Service
<a name="CHAP_Security.DataProtection.CrossRegionInference"></a>

 Certaines AWS Database Migration Service fonctionnalités utilisent l'inférence par IA entre régions pour sélectionner automatiquement la solution optimale au Région AWS sein de votre zone géographique afin de traiter les demandes d'inférence. Cette approche maximise les ressources informatiques disponibles et la disponibilité des modèles, et est conçue pour fournir une expérience client de haute qualité. Grâce à l’inférence entre régions, vous obtenez : 
+ Accès aux capacités et fonctionnalités d'IA les plus avancées
+ Débit et résilience accrus pendant les périodes de forte demande

 Les demandes d'inférence basées sur l'IA interrégionales sont conservées au sein de celles Régions AWS qui font partie de la même zone géographique que votre demande principale. Région AWS Par exemple, une demande émanant d'un serveur principal Région AWS aux États-Unis est conservée Régions AWS aux États-Unis. Vos données restent stockées uniquement dans votre fichier principal Région AWS. Toutes les données sont transmises cryptées sur le réseau sécurisé d'Amazon. 

**Note**  
Amazon CloudWatch et les AWS CloudTrail journaux ne précisent pas Région AWS dans quel cas l'inférence de l'IA se produit.

## Inférence entre régions dans la conversion de schémas DMS
<a name="CHAP_Security.DataProtection.CrossRegionInference.SchemaConversion"></a>

 Lorsque vous utilisez des fonctionnalités d'IA générative dans le cadre de la conversion de schémas DMS, des fragments de code anonymisés et les métadonnées de schéma associées peuvent être envoyés à d'autres personnes Régions AWS situées dans la même zone géographique pour être traitées par l'IA. Vos données de production restent dans votre fichier principal Région AWS et ne sont jamais consultées ni transmises. 

**Important**  
 L'inférence entre régions est toujours activée lorsque vous utilisez des fonctionnalités d'IA générative dans DMS Schema Conversion. Pour que le traitement de conversion de schéma reste résident dans votre système principal Région AWS, utilisez la conversion de schéma avec des fonctionnalités d'IA générative désactivées. 

 Les fonctionnalités d'IA générative dans DMS Schema Conversion sont actuellement disponibles dans un nombre limité de régions. Le tableau suivant décrit vers quoi Régions AWS vos demandes peuvent être acheminées en fonction de votre adresse principale Région AWS. 


| Primaire Région AWS | Inférence Régions AWS | 
| --- | --- | 
| Asie-Pacifique (Tokyo) (ap-northeast-1) |  Asie-Pacifique (Tokyo) (ap-northeast-1) Asie-Pacifique (Osaka) (ap-northeast-3)  | 
| Asie-Pacifique (Osaka) (ap-northeast-3) |  Asie-Pacifique (Tokyo) (ap-northeast-1) Asie-Pacifique (Osaka) (ap-northeast-3)  | 
| Asie-Pacifique (Sydney) (ap-southeast-2) |  Asie-Pacifique (Sydney) (ap-southeast-2) Asie-Pacifique (Melbourne) (ap-southeast-4)  | 
| Canada (Centre) (ca-central-1) |  Canada (Centre) (ca-central-1) USA Est (Virginie du Nord) (us-east-1) USA Est (Ohio) (us-east-2) USA Ouest (Oregon) (us-west-2)  | 
| Europe (Francfort) (eu-central-1) |  Europe (Francfort) (eu-central-1) Europe (Stockholm) (eu-north-1) Europe (Milan) (eu-south-1) Europe (Espagne) (eu-south-2) Europe (Irlande) (eu-west-1) Europe (Paris) (eu-west-3)  | 
| Europe (Stockholm) (eu-north-1) |  Europe (Francfort) (eu-central-1) Europe (Stockholm) (eu-north-1) Europe (Milan) (eu-south-1) Europe (Espagne) (eu-south-2) Europe (Irlande) (eu-west-1) Europe (Paris) (eu-west-3)  | 
| Europe (Irlande) (eu-west-1) |  Europe (Francfort) (eu-central-1) Europe (Stockholm) (eu-north-1) Europe (Milan) (eu-south-1) Europe (Espagne) (eu-south-2) Europe (Irlande) (eu-west-1) Europe (Paris) (eu-west-3)  | 
| Europe (Londres) (eu-west-2) |  Europe (Francfort) (eu-central-1) Europe (Stockholm) (eu-north-1) Europe (Milan) (eu-south-1) Europe (Espagne) (eu-south-2) Europe (Irlande) (eu-west-1) Europe (Londres) (eu-west-2) Europe (Paris) (eu-west-3)  | 
| Europe (Paris) (eu-west-3) |  Europe (Francfort) (eu-central-1) Europe (Stockholm) (eu-north-1) Europe (Milan) (eu-south-1) Europe (Espagne) (eu-south-2) Europe (Irlande) (eu-west-1) Europe (Paris) (eu-west-3)  | 
| USA Est (Virginie du Nord) (us-east-1) |  USA Est (Virginie du Nord) (us-east-1) USA Est (Ohio) (us-east-2) USA Ouest (Oregon) (us-west-2)  | 
| USA Est (Ohio) (us-east-2) |  USA Est (Virginie du Nord) (us-east-1) USA Est (Ohio) (us-east-2) USA Ouest (Oregon) (us-west-2)  | 
| USA Ouest (Oregon) (us-west-2) |  USA Est (Virginie du Nord) (us-east-1) USA Est (Ohio) (us-east-2) USA Ouest (Oregon) (us-west-2)  | 

# Gestion des identités et des accès pour AWS Database Migration Service
<a name="security-iam"></a>

Gestion des identités et des accès AWS (IAM) est un outil Service AWS qui permet à un administrateur de contrôler en toute sécurité l'accès aux AWS ressources. Les administrateurs IAM contrôlent qui peut être *authentifié* (connecté) et *autorisé (autorisé*) à utiliser AWS DMS les ressources. IAM est un Service AWS outil que vous pouvez utiliser sans frais supplémentaires.

**Topics**
+ [Public ciblé](#security_iam_audience)
+ [Authentification par des identités](#security_iam_authentication)
+ [Gestion de l’accès à l’aide de politiques](#security_iam_access-manage)
+ [Comment AWS Database Migration Service fonctionne avec IAM](security_iam_service-with-iam.md)
+ [AWS Database Migration Service exemples de politiques basées sur l'identité](security_iam_id-based-policy-examples.md)
+ [Exemples de politiques basées sur les ressources pour AWS KMS](security_iam_resource-based-policy-examples.md)
+ [Utilisation de secrets pour accéder aux points de AWS Database Migration Service terminaison](security_iam_secretsmanager.md)
+ [Utilisation de rôles liés à un service pour AWS DMS](using-service-linked-roles.md)
+ [Résolution des problèmes AWS Database Migration Service d'identité et d'accès](security_iam_troubleshoot.md)
+ [Autorisations IAM nécessaires pour utiliser AWS DMS](#CHAP_Security.IAMPermissions)
+ [Création des rôles IAM à utiliser avec AWS DMS](#CHAP_Security.APIRole)
+ [Prévention du problème de l’adjoint confus entre services](cross-service-confused-deputy-prevention.md)
+ [AWS politiques gérées pour AWS Database Migration Service](security-iam-awsmanpol.md)

## Public ciblé
<a name="security_iam_audience"></a>

La façon dont vous utilisez Gestion des identités et des accès AWS (IAM) varie en fonction de votre rôle :
+ **Utilisateur du service** : demandez des autorisations à votre administrateur si vous ne pouvez pas accéder aux fonctionnalités (voir [Résolution des problèmes AWS Database Migration Service d'identité et d'accès](security_iam_troubleshoot.md))
+ **Administrateur du service** : déterminez l’accès des utilisateurs et soumettez les demandes d’autorisation (voir [Comment AWS Database Migration Service fonctionne avec IAM](security_iam_service-with-iam.md))
+ **Administrateur IAM** : rédigez des politiques pour gérer l’accès (voir [AWS Database Migration Service exemples de politiques basées sur l'identité](security_iam_id-based-policy-examples.md))

## Authentification par des identités
<a name="security_iam_authentication"></a>

L'authentification est la façon dont vous vous connectez à AWS l'aide de vos informations d'identification. Vous devez être authentifié en tant qu'utilisateur IAM ou en assumant un rôle IAM. Utilisateur racine d'un compte AWS

Vous pouvez vous connecter en tant qu'identité fédérée à l'aide d'informations d'identification provenant d'une source d'identité telle que AWS IAM Identity Center (IAM Identity Center), d'une authentification unique ou d'informations d'identification. Google/Facebook Pour plus d’informations sur la connexion, consultez [Connexion à votre Compte AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dans le *Guide de l’utilisateur Connexion à AWS *.

Pour l'accès par programmation, AWS fournit un SDK et une CLI pour signer les demandes de manière cryptographique. Pour plus d’informations, consultez [Signature AWS Version 4 pour les demandes d’API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dans le *Guide de l’utilisateur IAM*.

### Compte AWS utilisateur root
<a name="security_iam_authentication-rootuser"></a>

 Lorsque vous créez un Compte AWS, vous commencez par une seule identité de connexion appelée *utilisateur Compte AWS root* qui dispose d'un accès complet à toutes Services AWS les ressources. Il est vivement déconseillé d’utiliser l’utilisateur racine pour vos tâches quotidiennes. Pour les tâches qui requièrent des informations d’identification de l’utilisateur racine, consultez [Tâches qui requièrent les informations d’identification de l’utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dans le *Guide de l’utilisateur IAM*. 

### Utilisateurs et groupes IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* est une identité qui dispose d’autorisations spécifiques pour une seule personne ou application. Nous vous recommandons d’utiliser ces informations d’identification temporaires au lieu des utilisateurs IAM avec des informations d’identification à long terme. Pour plus d'informations, voir [Exiger des utilisateurs humains qu'ils utilisent la fédération avec un fournisseur d'identité pour accéder à AWS l'aide d'informations d'identification temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) dans le *guide de l'utilisateur IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spécifient une collection d’utilisateurs IAM et permettent de gérer plus facilement les autorisations pour de grands ensembles d’utilisateurs. Pour plus d’informations, consultez [Cas d’utilisation pour les utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dans le *Guide de l’utilisateur IAM*.

### Rôles IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* est une identité dotée d’autorisations spécifiques qui fournit des informations d’identification temporaires. Vous pouvez assumer un rôle en [passant d'un rôle d'utilisateur à un rôle IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou en appelant une opération d' AWS API AWS CLI ou d'API. Pour plus d’informations, consultez [Méthodes pour endosser un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dans le *Guide de l’utilisateur IAM*.

Les rôles IAM sont utiles pour l’accès des utilisateurs fédérés, les autorisations temporaires des utilisateurs IAM, les accès intercompte, les accès entre services et les applications exécutées sur Amazon EC2. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

## Gestion de l’accès à l’aide de politiques
<a name="security_iam_access-manage"></a>

Vous contrôlez l'accès en AWS créant des politiques et en les associant à AWS des identités ou à des ressources. Une politique définit les autorisations lorsqu'elles sont associées à une identité ou à une ressource. AWS évalue ces politiques lorsqu'un directeur fait une demande. La plupart des politiques sont stockées AWS sous forme de documents JSON. Pour plus d’informations les documents de politique JSON, consultez [Vue d’ensemble des politiques JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dans le *Guide de l’utilisateur IAM*.

À l’aide de politiques, les administrateurs précisent qui a accès à quoi en définissant quel **principal** peut effectuer des **actions** sur quelles **ressources** et dans quelles **conditions**.

Par défaut, les utilisateurs et les rôles ne disposent d’aucune autorisation. Un administrateur IAM crée des politiques IAM et les ajoute aux rôles, que les utilisateurs peuvent ensuite assumer. Les politiques IAM définissent les autorisations quelle que soit la méthode que vous utilisez pour exécuter l’opération.

### Politiques basées sur l’identité
<a name="security_iam_access-manage-id-based-policies"></a>

Les stratégies basées sur l’identité sont des documents de stratégie d’autorisations JSON que vous attachez à une identité (utilisateur, groupe ou rôle). Ces politiques contrôlent les actions que peuvent exécuter ces identités, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Les politiques basées sur l’identité peuvent être des *politiques intégrées* (intégrées directement dans une seule identité) ou des *politiques gérées (politiques* autonomes associées à plusieurs identités). Pour découvrir comment choisir entre des politiques gérées et en ligne, consultez [Choix entre les politiques gérées et les politiques en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dans le *Guide de l’utilisateur IAM*.

### Politiques basées sur les ressources
<a name="security_iam_access-manage-resource-based-policies"></a>

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Les exemples incluent *les politiques de confiance de rôle* IAM et les *stratégies de compartiment* Amazon S3. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Vous devez [spécifier un principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dans une politique basée sur les ressources.

Les politiques basées sur les ressources sont des politiques en ligne situées dans ce service. Vous ne pouvez pas utiliser les politiques AWS gérées par IAM dans une stratégie basée sur les ressources.

### Listes de contrôle d'accès (ACLs)
<a name="security_iam_access-manage-acl"></a>

Les listes de contrôle d'accès (ACLs) contrôlent les principaux (membres du compte, utilisateurs ou rôles) autorisés à accéder à une ressource. ACLs sont similaires aux politiques basées sur les ressources, bien qu'elles n'utilisent pas le format de document de politique JSON.

Amazon S3 et AWS WAF Amazon VPC sont des exemples de services compatibles. ACLs Pour en savoir plus ACLs, consultez la [présentation de la liste de contrôle d'accès (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) dans le *guide du développeur Amazon Simple Storage Service*.

### Autres types de politique
<a name="security_iam_access-manage-other-policies"></a>

AWS prend en charge des types de politiques supplémentaires qui peuvent définir les autorisations maximales accordées par les types de politiques les plus courants :
+ **Limites d’autorisations** : une limite des autorisations définit le nombre maximum d’autorisations qu’une politique basée sur l’identité peut accorder à une entité IAM. Pour plus d’informations, consultez [Limites d’autorisations pour des entités IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dans le *Guide de l’utilisateur IAM*.
+ **Politiques de contrôle des services (SCPs)** — Spécifiez les autorisations maximales pour une organisation ou une unité organisationnelle dans AWS Organizations. Pour plus d’informations, consultez [Politiques de contrôle de service](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dans le *Guide de l’utilisateur AWS Organizations *.
+ **Politiques de contrôle des ressources (RCPs)** : définissez le maximum d'autorisations disponibles pour les ressources de vos comptes. Pour plus d'informations, voir [Politiques de contrôle des ressources (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) dans le *guide de AWS Organizations l'utilisateur*.
+ **Politiques de session** : politiques avancées que vous passez en tant que paramètre lorsque vous créez par programmation une session temporaire pour un rôle ou un utilisateur fédéré. Pour plus d’informations, consultez [Politiques de session](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dans le *Guide de l’utilisateur IAM*.

### Plusieurs types de politique
<a name="security_iam_access-manage-multiple-policies"></a>

Lorsque plusieurs types de politiques s’appliquent à la requête, les autorisations en résultant sont plus compliquées à comprendre. Pour savoir comment AWS déterminer s'il faut autoriser une demande lorsque plusieurs types de politiques sont impliqués, consultez la section [Logique d'évaluation des politiques](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) dans le *guide de l'utilisateur IAM*.

# Comment AWS Database Migration Service fonctionne avec IAM
<a name="security_iam_service-with-iam"></a>

Avant d'utiliser IAM pour gérer l'accès à AWS DMS, vous devez comprendre quelles fonctionnalités IAM sont disponibles. AWS DMS Pour obtenir une vue d'ensemble de la façon dont AWS DMS les autres AWS services fonctionnent avec IAM, consultez la section [AWS Services compatibles avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le Guide de l'utilisateur d'*IAM*.

**Topics**
+ [AWS DMS politiques basées sur l'identité](#security_iam_service-with-iam-id-based-policies)
+ [AWS DMS politiques basées sur les ressources](#security_iam_service-with-iam-resource-based-policies)
+ [Autorisation basée sur les AWS DMS tags](#security_iam_service-with-iam-tags)
+ [Rôles IAM pour AWS DMS](#security_iam_service-with-iam-roles)
+ [Gestion des identités et des accès pour DMS Fleet Advisor](#fa-security-iam)

## AWS DMS politiques basées sur l'identité
<a name="security_iam_service-with-iam-id-based-policies"></a>

Avec les politiques basées sur l’identité IAM, vous pouvez spécifier les actions et les ressources autorisées ou refusées, ainsi que les conditions selon lesquelles les actions sont autorisées ou refusées. AWS DMS prend en charge des actions, des ressources et des clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une politique JSON, consultez [Références des éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l'utilisateur IAM*.

### Actions
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Action` d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.

Les actions de politique en AWS DMS cours utilisent le préfixe suivant avant l'action :`dms:`. Par exemple, pour autoriser quelqu'un à créer une tâche de réplication avec l'opération d' AWS DMS `CreateReplicationTask`API, vous devez inclure l'`dms:CreateReplicationTask`action dans sa politique. Les déclarations de politique doivent inclure un `NotAction` élément `Action` ou. AWS DMS définit son propre ensemble d'actions décrivant les tâches que vous pouvez effectuer avec ce service.

Pour spécifier plusieurs actions dans une seule instruction, séparez-les par des virgules, comme suit :

```
"Action": [
      "dms:action1",
      "dms:action2"
```

Vous pouvez aussi préciser plusieurs actions à l’aide de caractères génériques (\$1). Par exemple, pour spécifier toutes les actions qui commencent par le mot `Describe`, incluez l’action suivante.

```
"Action": "dms:Describe*"
```



Pour consulter la liste des AWS DMS actions, reportez-vous à la section [Actions définies par AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-actions-as-permissions) dans le *guide de l'utilisateur IAM*.

### Ressources
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément de politique JSON `Resource` indique le ou les objets auxquels l’action s’applique. Il est recommandé de définir une ressource à l’aide de son [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, utilisez un caractère générique (\$1) afin d’indiquer que l’instruction s’applique à toutes les ressources.

```
"Resource": "*"
```



AWS DMS fonctionne avec les ressources suivantes :
+ Certificates
+ Points de terminaison
+ Abonnements aux événements
+ Instances de réplication
+ Groupes de sous-réseaux de réplication (sécurité)
+ Tâches de réplication

La ou les ressources AWS DMS requises dépendent de l'action ou des actions que vous invoquez. Vous avez besoin d'une politique qui autorise ces actions sur la ou les ressources associées spécifiées par la ressource ARNs.

Par exemple, une ressource de point de AWS DMS terminaison possède l'ARN suivant :

```
arn:${Partition}:dms:${Region}:${Account}:endpoint/${InstanceId}
```

Pour plus d'informations sur le format de ARNs, consultez [Amazon Resource Names (ARNs) et espaces de noms AWS de services](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Par exemple, pour spécifier l'instance de point de terminaison `1A2B3C4D5E6F7G8H9I0J1K2L3M` de la région `us-east-2` dans votre instruction, utilisez l'ARN suivant.

```
"Resource": "arn:aws:dms:us-east-2:987654321098:endpoint/1A2B3C4D5E6F7G8H9I0J1K2L3M"
```

Pour spécifier tous les points de terminaison qui appartiennent à un compte spécifique, utilisez le caractère générique (\$1).

```
"Resource": "arn:aws:dms:us-east-2:987654321098:endpoint/*"
```

Certaines AWS DMS actions, telles que celles relatives à la création de ressources, ne peuvent pas être effectuées sur une ressource spécifique. Dans ces cas-là, vous devez utiliser le caractère générique (\$1).

```
"Resource": "*"
```

Certaines actions AWS DMS d'API impliquent plusieurs ressources. Par exemple, `StartReplicationTask` démarre une tâche de réplication et la connecte à deux ressources de point de terminaison de base de données (une source et une cible). Un utilisateur IAM doit donc disposer des autorisations nécessaires pour lire le point de terminaison source et écrire sur le point de terminaison cible. Pour spécifier plusieurs ressources dans une seule instruction, séparez-les ARNs par des virgules. 

```
"Resource": [
      "resource1",
      "resource2" ]
```

Pour plus d'informations sur le contrôle de l'accès aux AWS DMS ressources à l'aide de politiques, consultez[Utilisation des noms de ressources pour contrôler l'accès](CHAP_Security.FineGrainedAccess.md#CHAP_Security.FineGrainedAccess.ResourceName). Pour consulter la liste des types de AWS DMS ressources et leurs caractéristiques ARNs, reportez-vous à la section [Ressources définies par AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-resources-for-iam-policies) dans le *guide de l'utilisateur IAM*. Pour savoir grâce à quelles actions vous pouvez spécifier l’ARN de chaque ressource, consultez [Actions définies par AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-actions-as-permissions).

### Clés de condition
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Condition` indique à quel moment les instructions s’exécutent en fonction de critères définis. Vous pouvez créer des expressions conditionnelles qui utilisent des [opérateurs de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande. Pour voir toutes les clés de condition AWS globales, voir les clés de [contexte de condition AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *guide de l'utilisateur IAM*.

AWS DMS définit son propre ensemble de clés de condition et prend également en charge l'utilisation de certaines clés de condition globales. Pour voir toutes les clés de condition AWS globales, voir les clés de [contexte de condition AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *guide de l'utilisateur IAM*.



AWS DMS définit un ensemble de balises standard que vous pouvez utiliser dans ses clés de condition et vous permet également de définir vos propres balises personnalisées. Pour de plus amples informations, veuillez consulter [Utilisation de balises pour contrôler l'accès](CHAP_Security.FineGrainedAccess.md#CHAP_Security.FineGrainedAccess.Tags).

Pour consulter la liste des clés de AWS DMS condition, reportez-vous à la section [Clés de AWS Database Migration Service condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-policy-keys) du *guide de l'utilisateur IAM*. Pour découvrir les actions et les ressources avec lesquelles vous pouvez utiliser une clé de condition, consultez [Actions définies par AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-actions-as-permissions) et [Ressources définies par AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-resources-for-iam-policies).

### Exemples
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Pour consulter des exemples de politiques AWS DMS basées sur l'identité, consultez. [AWS Database Migration Service exemples de politiques basées sur l'identité](security_iam_id-based-policy-examples.md)

## AWS DMS politiques basées sur les ressources
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Les politiques basées sur les ressources sont des documents de politique JSON qui spécifient les actions qu'un principal spécifié peut effectuer sur une AWS DMS ressource donnée et dans quelles conditions. AWS DMS prend en charge les politiques d'autorisation basées sur les ressources pour les clés de AWS KMS chiffrement que vous créez pour chiffrer les données migrées vers les points de terminaison cibles pris en charge. Les points de terminaison cibles pris en charge incluent Amazon Redshift et Amazon S3. Grâce aux stratégies basées sur les ressources, vous pouvez accorder l'autorisation d'utiliser ces clés de chiffrement à d'autres comptes pour chaque point de terminaison cible.

Pour permettre un accès comptes multiples , vous pouvez spécifier un compte entier ou des entités IAM dans un autre compte en tant que [principal dans une stratégie basée sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). L’ajout d’un principal intercompte à une politique basée sur les ressources ne représente qu’une partie de l’instauration de la relation d’approbation. Lorsque le principal et la ressource se trouvent dans des AWS comptes différents, vous devez également accorder à l'entité principale l'autorisation d'accéder à la ressource. Accordez l'autorisation en attachant une stratégie basée sur les identités à l'entité. Toutefois, si une stratégie basée sur des ressources accorde l'accès à un principal dans le même compte, aucune autre stratégie basée sur l'identité n'est requise. Pour plus d’informations, consultez [Différence entre les rôles IAM et les politiques basées sur une ressource](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) dans le *Guide de l’utilisateur IAM*.

Le AWS DMS service ne prend en charge qu'un seul type de stratégie basée sur les ressources, appelée *politique clé*, qui est attachée à une clé de AWS KMS chiffrement. Cette stratégie définit les entités principales (comptes, utilisateurs, rôles et utilisateurs fédérés) qui peuvent chiffrer les données migrées sur le point de terminaison cible pris en charge.

Pour découvrir comment associer une stratégie basée sur les ressources à une clé de chiffrement que vous créez pour les points de terminaison cibles pris en charge, consultez [Création et utilisation de AWS KMS clés pour chiffrer les données cibles d'Amazon Redshift](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys) et [Création de AWS KMS clés pour chiffrer les objets cibles d'Amazon S3](CHAP_Target.S3.md#CHAP_Target.S3.KMSKeys).

### Exemples
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Pour des exemples de politiques AWS DMS basées sur les ressources, voir. [Exemples de politiques basées sur les ressources pour AWS KMS](security_iam_resource-based-policy-examples.md)

## Autorisation basée sur les AWS DMS tags
<a name="security_iam_service-with-iam-tags"></a>

Vous pouvez associer des balises aux AWS DMS ressources ou transmettre des balises dans une demande à AWS DMS. Pour contrôler l'accès en fonction des balises, vous devez fournir les informations relatives aux balises dans l'[élément de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d'une politique à l'aide de la clé de `aws:TagKeys` condition `dms:ResourceTag/key-name``aws:RequestTag/key-name`, ou. AWS DMS définit un ensemble de balises standard que vous pouvez utiliser dans ses clés de condition et vous permet également de définir vos propres balises personnalisées. Pour de plus amples informations, veuillez consulter [Utilisation de balises pour contrôler l'accès](CHAP_Security.FineGrainedAccess.md#CHAP_Security.FineGrainedAccess.Tags).

Pour obtenir un exemple de stratégie basée sur l'identité, qui limite l'accès à une ressource en fonction des balises, consultez [Accès aux AWS DMS ressources à l'aide de balises](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-resources-tags).

## Rôles IAM pour AWS DMS
<a name="security_iam_service-with-iam-roles"></a>

Un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) est une entité de votre AWS compte qui possède des autorisations spécifiques.

### Utilisation d'informations d'identification temporaires avec AWS DMS
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Vous pouvez utiliser des informations d’identification temporaires pour vous connecter à l’aide de la fédération, endosser un rôle IAM ou encore pour endosser un rôle intercompte. Vous obtenez des informations d'identification de sécurité temporaires en appelant des opérations d' AWS STS API telles que [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

AWS DMS prend en charge l'utilisation d'informations d'identification temporaires. 

### Rôles liés à un service
<a name="security_iam_service-with-iam-roles-service-linked"></a>

Les [rôles liés aux](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) AWS services permettent aux services d'accéder aux ressources d'autres services pour effectuer une action en votre nom. Les rôles liés à un service s’affichent dans votre compte IAM et sont la propriété du service. Un administrateur IAM peut consulter, mais ne peut pas modifier, les autorisations concernant les rôles liés à un service.

Pour plus de détails sur la création ou la gestion des rôles AWS DMS liés à un service, consultez. [Utilisation des rôles liés à un service](using-service-linked-roles.md)

### Rôles du service
<a name="security_iam_service-with-iam-roles-service"></a>

Cette fonction permet à un service d’endosser une [fonction du service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) en votre nom. Ce rôle autorise le service à accéder à des ressources d’autres services pour effectuer une action en votre nom. Les rôles de service s’affichent dans votre compte IAM et sont la propriété du compte. Cela signifie qu’un administrateur IAM peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bon fonctionnement du service.

AWS DMS prend en charge deux types de rôles de service que vous devez créer pour utiliser certains points de terminaison source ou cible :
+ Rôles autorisés à autoriser l'accès du AWS DMS aux points de terminaison source et cible suivants (ou à leurs ressources) :
  + Amazon DynamoDB en tant que cible : pour plus d’informations, consultez [Conditions préalables à l'utilisation de DynamoDB comme cible pour AWS Database Migration Service](CHAP_Target.DynamoDB.md#CHAP_Target.DynamoDB.Prerequisites).
  + OpenSearch comme cible — Pour plus d'informations, voir[Conditions préalables à l'utilisation d'Amazon OpenSearch Service comme cible pour AWS Database Migration Service](CHAP_Target.Elasticsearch.md#CHAP_Target.Elasticsearch.Prerequisites).
  + Amazon Kinesis en tant que cible : pour plus d’informations, consultez [Conditions préalables à l'utilisation d'un flux de données Kinesis comme cible pour AWS Database Migration Service](CHAP_Target.Kinesis.md#CHAP_Target.Kinesis.Prerequisites).
  + Amazon Redshift en tant que cible : vous devez créer le rôle spécifié uniquement pour créer une clé de chiffrement KMS personnalisée permettant de chiffrer les données cibles ou pour définir un compartiment S3 personnalisé dans lequel stocker les tâches intermédiaires. Pour plus d’informations, consultez [Création et utilisation de AWS KMS clés pour chiffrer les données cibles d'Amazon Redshift](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys) ou [Paramètres du compartiment Amazon S3](CHAP_Target.Redshift.md#CHAP_Target.Redshift.EndpointSettings.S3Buckets).
  + Amazon S3 en tant que source ou cible : pour plus d’informations, consultez [Conditions préalables à l'utilisation d'Amazon S3 comme source pour AWS DMS](CHAP_Source.S3.md#CHAP_Source.S3.Prerequisites) ou [Prérequis pour l’utilisation d’Amazon S3 en tant que cible](CHAP_Target.S3.md#CHAP_Target.S3.Prerequisites).

  Par exemple, pour lire des données à partir d'un point de terminaison source S3 ou pour transférer des données vers un point de terminaison cible S3, vous devez créer un rôle de service comme condition préalable à l'accès à S3 pour chacune de ces opérations. 
+ Rôles dotés d'autorisations requises pour utiliser la console AWS DMS, l'API AWS CLI et l'API AWS DMS — Les deux rôles IAM que vous devez créer sont et. `dms-vpc-role` `dms-cloudwatch-logs-role` Si vous utilisez Amazon Redshift comme base de données cible, vous devez également créer et ajouter le rôle IAM `dms-access-for-endpoint` à votre compte. AWS Pour de plus amples informations, veuillez consulter [Création des rôles IAM à utiliser avec AWS DMS](security-iam.md#CHAP_Security.APIRole).

### Choisir un rôle IAM dans AWS DMS
<a name="security_iam_service-with-iam-roles-choose"></a>

Si vous utilisez la console AWS DMS, AWS CLI ou l'API AWS DMS pour la migration de votre base de données, vous devez ajouter certains rôles IAM à votre AWS compte avant de pouvoir utiliser les fonctionnalités de DMS. AWS Deux d'entre eux sont `dms-vpc-role` et `dms-cloudwatch-logs-role`. Si vous utilisez Amazon Redshift comme base de données cible, vous devez également ajouter le rôle IAM `dms-access-for-endpoint` à votre compte. AWS Pour de plus amples informations, veuillez consulter [Création des rôles IAM à utiliser avec AWS DMS](security-iam.md#CHAP_Security.APIRole).

## Gestion des identités et des accès pour DMS Fleet Advisor
<a name="fa-security-iam"></a>

Avec les politiques basées sur l’identité IAM, vous pouvez spécifier des actions et des ressources autorisées ou refusées ainsi que les conditions selon lesquelles les actions sont autorisées ou refusées. DMS Fleet Advisor prend en charge des actions, ressources et clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une politique JSON, consultez [Références des éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l'utilisateur IAM*. 

DMS Fleet Advisor utilise des rôles IAM pour accéder à Amazon Simple Storage Service. Un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) est une entité de votre AWS compte qui possède des autorisations spécifiques. Pour de plus amples informations, veuillez consulter [Création de ressources IAM](fa-resources.md#fa-resources-iam). 

# AWS Database Migration Service exemples de politiques basées sur l'identité
<a name="security_iam_id-based-policy-examples"></a>

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 de l' AWS API AWS Management Console AWS CLI, ou. Un administrateur IAM doit créer des politiques IAM autorisant les utilisateurs et les rôles à exécuter des opérations d'API spécifiques sur les ressources spécifiées dont ils ont besoin. Il doit ensuite attacher ces politiques aux utilisateurs ou aux groupes IAM ayant besoin de ces autorisations.

Pour apprendre à créer une politique basée sur l'identité IAM à l'aide de ces exemples de documents de politique JSON, veuillez consulter [Création de politiques dans l'onglet JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) dans le *Guide de l'utilisateur IAM*.

**Topics**
+ [Bonnes pratiques en matière de politiques](#security_iam_service-with-iam-policy-best-practices)
+ [Utilisation de la AWS DMS console](#security_iam_id-based-policy-examples-console)
+ [Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Accès à un compartiment Amazon S3](#security_iam_id-based-policy-examples-access-one-bucket)
+ [Accès aux AWS DMS ressources à l'aide de balises](#security_iam_id-based-policy-examples-access-resources-tags)

## Bonnes pratiques en matière de politiques
<a name="security_iam_service-with-iam-policy-best-practices"></a>

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 [politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [politiques gérées par AWS pour les activités professionnelles](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dans le *Guide de l’utilisateur IAM*.
+ **Accordez les autorisations de moindre privilège** : lorsque vous définissez des autorisations avec des politiques IAM, accordez uniquement les autorisations nécessaires à l’exécution d’une seule 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 d’IAM pour appliquer des autorisations, consultez [politiques et autorisations dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez des conditions dans les politiques IAM pour restreindre davantage l’accès** : vous pouvez ajouter une condition à vos politiques afin de limiter l’accès aux actions et aux ressources. Par exemple, vous pouvez écrire une condition de politique pour spécifier que toutes les demandes doivent être envoyées via SSL. 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 CloudFormation. Pour plus d’informations, consultez [Conditions pour éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez l’Analyseur d’accès IAM pour valider vos politiques IAM afin de garantir des autorisations sécurisées et fonctionnelles** : l’Analyseur d’accès IAM valide les politiques nouvelles et existantes de manière à ce que les politiques IAM respectent le langage de politique IAM (JSON) et les bonnes pratiques IAM. IAM Access Analyzer fournit plus de 100 vérifications de politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d’informations, consultez [Validation de politiques avec IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dans le *Guide de l’utilisateur IAM*.
+ **Exiger l'authentification multifactorielle (MFA**) : si vous avez un scénario qui nécessite des utilisateurs IAM ou un utilisateur root, activez l'authentification MFA pour une sécurité accrue. Compte AWS Pour exiger la MFA lorsque des opérations d’API sont appelées, ajoutez des conditions MFA à vos politiques. Pour plus d’informations, consultez [Sécurisation de l’accès aux API avec MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d’informations sur les bonnes pratiques dans IAM, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

## Utilisation de la AWS DMS console
<a name="security_iam_id-based-policy-examples-console"></a>

La politique suivante vous donne accès au AWS DMS, y compris à la console AWS DMS, et spécifie également les autorisations pour certaines actions requises par d'autres services Amazon tels qu'Amazon EC2.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
     "Statement": [
    {
        "Effect": "Allow",
        "Action": "dms:*",
        "Resource": "arn:aws:dms:*:123456789012:*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "kms:ListAliases",
            "kms:DescribeKey"
        ],
        "Resource": "arn:aws:kms:*:123456789012:key/*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "iam:GetRole",
            "iam:CreateRole",
            "iam:AttachRolePolicy"
        ],
        "Resource": "arn:aws:iam::123456789012:role/*"
    },
    {
        "Effect": "Allow",
        "Action": "iam:PassRole",
        "Resource": "arn:aws:iam::123456789012:role/*",
        "Condition": {
            "StringEquals": {
                "iam:PassedToService": "dms.amazonaws.com"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": [
            "ec2:DescribeVpcs",
            "ec2:DescribeInternetGateways",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups",
            "ec2:ModifyNetworkInterfaceAttribute",
            "ec2:CreateNetworkInterface",
            "ec2:DeleteNetworkInterface"
        ],
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "cloudwatch:Get*",
            "cloudwatch:List*"
        ],
    "Resource": "*"
    },
    {
    "Effect": "Allow",
    "Action": [
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:FilterLogEvents",
        "logs:GetLogEvents"
        ],
    "Resource": "arn:aws:logs:*:123456789012:*"
    }
   ]
}
```

------

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 requise si vous connaissez l'Amazon Resource Name (ARN) pour la clé KMS et que vous utilisez uniquement l' 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 requise lorsque certains types de points de terminaison nécessitent la transmission d'un rôle ARN avec le 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 rôles IAM à utiliser avec AWS DMS](security-iam.md#CHAP_Security.APIRole).

```
{
            "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'instance Amazon EC2 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 console AWS DMS, le AWS Command Line Interface (AWS CLI) ou l'API AWS DMS 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 rôles IAM à utiliser avec AWS DMS](security-iam.md#CHAP_Security.APIRole).

Pour plus d'informations sur les exigences relatives à l'utilisation de cette politique pour accéder au AWS DMS, consultez[Autorisations IAM nécessaires pour utiliser AWS DMS](security-iam.md#CHAP_Security.IAMPermissions).

## Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Cet exemple montre comment créer une politique qui permet aux utilisateurs IAM d’afficher les politiques 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 de l'API AWS CLI or AWS .

```
{
    "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
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

AWS DMS utilise des compartiments Amazon S3 comme stockage intermédiaire pour la migration de bases de données. En général, AWS DMS gère les compartiments S3 par défaut à cette fin. Toutefois, dans certains cas, en particulier lorsque vous utilisez l'API AWS CLI ou l'API AWS DMS, AWS DMS vous 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`. Cela permet à AWS DMS d'accorder à un utilisateur IAM 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 du bucket. En outre, l'action `s3:GetObjectAcl` est nécessaire pour pouvoir copier des objets.

------
#### [ JSON ]

****  

```
{
    "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](CHAP_Target.Redshift.md#CHAP_Target.Redshift.EndpointSettings.S3Buckets).

## Accès aux AWS DMS ressources à l'aide de balises
<a name="security_iam_id-based-policy-examples-access-resources-tags"></a>

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 politique 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é.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "dms:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "dms:endpoint-tag/Owner": "${aws:username}"
        }
      }
    }
  ]
}
```

------

Vous pouvez rattacher cette politique 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 ou`owner=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, consultez [Conditions pour éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.

# Exemples de politiques basées sur les ressources pour AWS KMS
<a name="security_iam_resource-based-policy-examples"></a>

AWS DMS vous permet de créer des clés de AWS KMS chiffrement personnalisées pour chiffrer les données des terminaux cibles pris en charge. Pour découvrir comment créer et attacher une stratégie de clé à la clé de chiffrement que vous générez pour le chiffrement des données cibles prises en charge, consultez [Création et utilisation de AWS KMS clés pour chiffrer les données cibles d'Amazon Redshift](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys) et [Création de AWS KMS clés pour chiffrer les objets cibles d'Amazon S3](CHAP_Target.S3.md#CHAP_Target.S3.KMSKeys).

**Topics**
+ [Une politique pour une clé de AWS KMS chiffrement personnalisée afin de chiffrer les données cibles d'Amazon Redshift](#security_iam_resource-based-policy-examples-custom-rs-key-policy)
+ [Une politique pour une clé de AWS KMS chiffrement personnalisée afin de chiffrer les données cibles d'Amazon S3](#security_iam_resource-based-policy-examples-custom-s3-key-policy)

## Une politique pour une clé de AWS KMS chiffrement personnalisée afin de chiffrer les données cibles d'Amazon Redshift
<a name="security_iam_resource-based-policy-examples-custom-rs-key-policy"></a>

L’exemple suivant présente le code JSON de la stratégie de clé créée pour une clé de chiffrement AWS KMS permettant de chiffrer les données cibles Amazon Redshift.

------
#### [ JSON ]

****  

```
{
  "Id": "key-consolepolicy-3",
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Enable IAM User Permissions",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::987654321098:root"
        ]
      },
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "Allow access for Key Administrators",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::987654321098:role/Admin"
        ]
      },
      "Action": [
        "kms:Create*",
        "kms:Describe*",
        "kms:Enable*",
        "kms:List*",
        "kms:Put*",
        "kms:Update*",
        "kms:Revoke*",
        "kms:Disable*",
        "kms:Get*",
        "kms:Delete*",
        "kms:TagResource",
        "kms:UntagResource",
        "kms:ScheduleKeyDeletion",
        "kms:CancelKeyDeletion"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Allow use of the key",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::987654321098:role/DMS-Redshift-endpoint-access-role"
        ]
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Allow attachment of persistent resources",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::987654321098:role/DMS-Redshift-endpoint-access-role"
        ]
      },
      "Action": [
        "kms:CreateGrant",
        "kms:ListGrants",
        "kms:RevokeGrant"
      ],
      "Resource": "*",
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
  ]
}
```

------

Ici, vous pouvez voir à quel endroit la stratégie de clé référence le rôle permettant d’accéder aux données du point de terminaison cible Amazon Redshift que vous avez créées avant de créer la clé. Dans cet exemple, il s'agit de `DMS-Redshift-endpoint-access-role`. Vous pouvez également voir les différentes actions clés autorisées pour les différentes entités (utilisateurs et rôles). Par exemple, tout utilisateur avec `DMS-Redshift-endpoint-access-role` peut chiffrer, déchiffrer et rechiffrer les données cibles. Un tel utilisateur peut également générer des clés de données à exporter afin de AWS KMS chiffrer les données externes. Ils peuvent également renvoyer des informations détaillées sur une AWS KMS clé, telles que la clé que vous venez de créer. En outre, un utilisateur avec ce rôle peut gérer les pièces jointes aux ressources  AWS , telles que le point de terminaison cible.

## Une politique pour une clé de AWS KMS chiffrement personnalisée afin de chiffrer les données cibles d'Amazon S3
<a name="security_iam_resource-based-policy-examples-custom-s3-key-policy"></a>

L’exemple suivant présente le code JSON de la stratégie de clé créée pour une clé de chiffrement AWS KMS permettant de chiffrer les données cibles Amazon S3.

------
#### [ JSON ]

****  

```
{
    "Id": "key-consolepolicy-3",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::987654321098:root"
                ]
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::987654321098:role/Admin"
                ]
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::987654321098:role/DMS-S3-endpoint-access-role"
                ]
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow attachment of persistent resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::987654321098:role/DMS-S3-endpoint-access-role"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
```

------

Ici, vous pouvez voir à quel endroit la stratégie de clé référence le rôle permettant d’accéder aux données du point de terminaison cible Amazon S3 que vous avez créées avant de créer la clé. Dans cet exemple, il s'agit de `DMS-S3-endpoint-access-role`. Vous pouvez également voir les différentes actions clés autorisées pour les différentes entités (utilisateurs et rôles). Par exemple, tout utilisateur avec `DMS-S3-endpoint-access-role` peut chiffrer, déchiffrer et rechiffrer les données cibles. Un tel utilisateur peut également générer des clés de données à exporter afin de AWS KMS chiffrer les données externes. Ils peuvent également renvoyer des informations détaillées sur une AWS KMS clé, telles que la clé que vous venez de créer. En outre, un utilisateur avec ce rôle peut gérer les pièces jointes aux ressources  AWS , telles que le point de terminaison cible.

# Utilisation de secrets pour accéder aux points de AWS Database Migration Service terminaison
<a name="security_iam_secretsmanager"></a>

En effet AWS DMS, un *secret* est une clé cryptée que vous pouvez utiliser pour représenter un ensemble d'informations d'identification utilisateur afin d'authentifier, par le biais d'une *authentification secrète*, la connexion à la base de données pour un point de terminaison AWS DMS source ou cible pris en charge. Pour un point de terminaison Oracle qui utilise également Oracle Automatic Storage Management (ASM), AWS DMS nécessite un secret supplémentaire représentant les informations d'identification de l'utilisateur pour accéder à Oracle ASM.

Vous pouvez créer le ou les secrets qui AWS DMS nécessitent une authentification secrète à l'aide AWS Secrets Manager d'un service permettant de créer, de stocker et de récupérer en toute sécurité des informations d'identification pour accéder aux applications, aux services et aux ressources informatiques dans le cloud et sur site. Cela inclut la prise en charge de la rotation périodique automatique de la valeur de secret chiffrée sans votre intervention, offrant ainsi un niveau de sécurité supplémentaire pour vos informations d’identification. L'activation de la rotation des valeurs secrètes garantit AWS Secrets Manager également que cette rotation des valeurs secrètes s'effectue sans aucun effet sur la migration de base de données qui repose sur le secret. Pour authentifier secrètement une connexion à une base de données de point de terminaison, créez un secret dont vous affectez l’identité ou l’ARN à `SecretsManagerSecretId`, que vous incluez dans les paramètres du point de terminaison. Pour authentifier secrètement Oracle ASM dans le cadre d’un point de terminaison Oracle, créez un secret dont vous affectez l’identité ou l’ARN à `SecretsManagerOracleAsmSecretId`, que vous incluez également dans les paramètres du point de terminaison.

**Note**  
Vous ne pouvez pas utiliser les informations d’identification principales gérées par Amazon RDS Aurora. Ces informations d'identification n'incluent pas les informations relatives à l'hôte ou au port, qui sont AWS DMS nécessaires pour établir des connexions. Créez plutôt un nouvel utilisateur et un nouveau secret. Pour en savoir plus sur la création d’un utilisateur et d’un secret, consultez la section [Utilisation du AWS Management Console pour créer un rôle d'accès secret et secret](#security_iam_secretsmanager.console) ci-dessous.

Pour plus d'informations AWS Secrets Manager, voir [Qu'est-ce que AWS Secrets Manager ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) dans le *guide de AWS Secrets Manager l'utilisateur*.

AWS DMS prend en charge l'authentification secrète pour les bases de données sur site ou AWS gérées suivantes sur les points de terminaison source et cible pris en charge :
+ Amazon DocumentDB
+ IBM Db2 LUW
+ Microsoft SQL Server
+ MongoDB
+ MySQL
+ Oracle
+ PostgreSQL
+ Amazon Redshift
+ SAP ASE

Pour vous connecter à l’une de ces bases de données, vous pouvez entrer l’un des ensembles de valeurs suivants, mais pas les deux, dans les paramètres du point de terminaison :
+ Valeurs en texte clair pour authentifier la connexion à la base de données à l’aide des paramètres `UserName`, `Password`, `ServerName` et `Port`. Pour un point de terminaison Oracle qui utilise également Oracle ASM, incluez des valeurs en texte clair supplémentaires pour authentifier ASM à l’aide des paramètres `AsmUserName`, `AsmPassword` et `AsmServerName`.
+ Authentification secrète à l’aide de valeurs pour les paramètres `SecretsManagerSecretId` et `SecretsManagerAccessRoleArn`. Pour un point de terminaison Oracle utilisant Oracle ASM, incluez des valeurs supplémentaires pour les paramètres `SecretsManagerOracleAsmSecretId` et `SecretsManagerOracleAsmAccessRoleArn`. Les valeurs de secret de ces paramètres peuvent inclure les valeurs suivantes pour : 
  + `SecretsManagerSecretId` : Amazon Resource Name (ARN) complet, ARN partiel ou nom convivial d’un secret que vous avez créé dans AWS Secrets Manager pour accéder à la base de données du point de terminaison.
  + `SecretsManagerAccessRoleArn`— L'ARN d'un rôle d'accès secret que vous avez créé dans IAM pour permettre AWS DMS l'accès à ce `SecretsManagerSecretId` secret en votre nom.
  + `SecretsManagerOracleAsmSecretId` : Amazon Resource Name (ARN) complet, ARN partiel ou nom convivial d’un secret que vous avez créé dans AWS Secrets Manager pour accéder à Oracle ASM.
  + `SecretsManagerOracleAsmAccessRoleArn` : ARN d’un rôle d’accès secret que vous avez créé dans IAM pour permettre à AWS DMS d’accéder en votre nom à ce secret `SecretsManagerOracleAsmSecretId`.
**Note**  
Vous pouvez également utiliser un rôle d'accès secret unique pour fournir un AWS DMS accès à la fois au `SecretsManagerSecretId` secret et au `SecretsManagerOracleAsmSecretId` secret. Si vous créez ce rôle d’accès secret unique pour les deux secrets, assurez-vous d’affecter le même ARN pour ce rôle d’accès à `SecretsManagerAccessRoleArn` et `SecretsManagerOracleAsmAccessRoleArn`. Par exemple, si l’ARN de votre rôle d’accès secret pour les deux secrets est affecté à la variable `ARN2xsecrets`, vous pouvez définir ces paramètres d’ARN comme suit :  

  ```
  SecretsManagerAccessRoleArn = ARN2xsecrets;
  SecretsManagerOracleAsmAccessRoleArn = ARN2xsecrets;
  ```

  Pour plus d’informations sur la création de ces valeurs, consultez [Utilisation du AWS Management Console pour créer un rôle d'accès secret et secret](#security_iam_secretsmanager.console).

Après avoir créé et spécifié les paramètres de point de terminaison du secret et du rôle d’accès secret requis pour vos points de terminaison, mettez à jour les autorisations sur les comptes d’utilisateurs qui exécuteront la demande d’API `CreateEndpoint` ou `ModifyEndpoint` avec ces détails de secret. Assurez-vous que ces autorisations de compte incluent l'`IAM:GetRole`autorisation sur le rôle d'accès secret et l'`SecretsManager:DescribeSecret`autorisation sur le secret. AWS DMS nécessite ces autorisations pour valider à la fois le rôle d'accès et son secret.

**Pour fournir et vérifier les autorisations utilisateur requises**

1. Connectez-vous à la Gestion des identités et des accès AWS console AWS Management Console et ouvrez-la à l'adresse[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Choisissez **Utilisateurs**, puis sélectionnez l’**ID utilisateur** utilisé pour effectuer des appels d’API `CreateEndpoint` et `ModifyEndpoint`.

1. Dans l’onglet **Autorisations**, choisissez **\$1\$1 JSON**.

1. Assurez-vous que l’utilisateur dispose des autorisations suivantes.

   ```
   {
   	"Statement": [{
   			"Effect": "Allow",
   			"Action": [
   				"iam:GetRole",
   				"iam:PassRole"
   			],
   			"Resource": "SECRET_ACCESS_ROLE_ARN"
   		},
   		{
   			"Effect": "Allow",
   			"Action": "secretsmanager:DescribeSecret",
   			"Resource": "SECRET_ARN"
   		}
   	]
   }
   ```

1. Si l’utilisateur ne dispose pas de ces autorisations, ajoutez-les.

1. Si vous utilisez un rôle IAM pour effectuer des appels d’API DMS, répétez les étapes ci-dessus pour le rôle correspondant.

1. Ouvrez un terminal et utilisez le AWS CLI pour vérifier que les autorisations sont correctement accordées en assumant le rôle ou l'utilisateur utilisé ci-dessus.

   1. Validez l'autorisation de l'utilisateur SecretAccessRole à l'aide de la `get-role` commande IAM.

      ```
      aws iam get-role --role-name ROLE_NAME
      ```

      Remplacez *ROLE\$1NAME* par le nom de`SecretsManagerAccessRole`.

      Si la commande renvoie un message d’erreur, assurez-vous que les autorisations ont été correctement accordées.

   1. Validez l’autorisation de l’utilisateur sur le secret à l’aide de la commande Secrets Manager `describe-secret`.

      ```
      aws secretsmanager describe-secret --secret-id SECRET_NAME OR SECRET_ARN --region=REGION_NAME
      ```

      L’utilisateur peut être le nom convivial, l’ARN partiel ou l’ARN complet. Pour plus d’informations, consultez [describe-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/describe-secret.html).

      Si la commande renvoie un message d’erreur, assurez-vous que les autorisations ont été correctement accordées.

## Utilisation du AWS Management Console pour créer un rôle d'accès secret et secret
<a name="security_iam_secretsmanager.console"></a>

Vous pouvez utiliser le AWS Management Console pour créer un secret pour l'authentification des terminaux et pour créer la politique et le rôle AWS DMS permettant d'accéder au secret en votre nom.

**Pour créer un secret à l'aide du AWS Management Console qui AWS DMS peut être utilisé pour authentifier une base de données pour les connexions aux points de terminaison source et cible**

1. Connectez-vous à la AWS Secrets Manager console AWS Management Console et ouvrez-la à l'adresse[https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Choisissez **Store a new secret** (Stocker un nouveau secret).

1. Sous **Sélectionner un type de secret** sur la page **Stocker un nouveau secret**, choisissez **Autre type de secrets**, puis **Texte brut**.
**Note**  
C’est le seul endroit où vous devez entrer des informations d’identification en texte clair pour vous connecter à la base de données de point de terminaison à partir de maintenant.

1. Dans le champ **Texte brut** : 
   + Pour un secret dont vous affectez l’identité à `SecretsManagerSecretId`, entrez la structure JSON suivante.

     ```
     {
       "username": db_username,
       "password": db_user_password,
       "port": db_port_number,
       "host": db_server_name
     }
     ```
**Note**  
Il s’agit de la liste minimale de membres JSON requis pour authentifier la base de données de point de terminaison. Vous pouvez ajouter n’importe quel paramètre de point de terminaison JSON supplémentaire en tant que membre JSON, tout en minuscules. Toutefois, AWS DMS ignore tout membre JSON supplémentaire pour l’authentification du point de terminaison.

     Ici, `db_username` est le nom de l’utilisateur accédant à la base de données, `db_user_password` est le mot de passe de l’utilisateur de base de données, `db_port_number` est le numéro de port permettant d’accéder à la base de données et `db_server_name` est le nom du serveur de base de données (adresse) sur le web, comme dans l’exemple suivant.

     ```
     {
       "username": "admin",
       "password": "some_password",
       "port": "8190",
       "host": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com"
     }
     ```
   + Pour un secret dont vous affectez l’identité à `SecretsManagerOracleAsmSecretId`, entrez la structure JSON suivante.

     ```
     {
       "asm_user": asm_username,
       "asm_password": asm_user_password,
       "asm_server": asm_server_name
     }
     ```
**Note**  
Il s’agit de la liste minimale de membres JSON requis pour authentifier Oracle ASM pour un point de terminaison Oracle. Il s’agit également de la liste complète que vous pouvez spécifier en fonction des paramètres de point de terminaison Oracle ASM disponibles.

     Ici, `asm_username` est le nom de l’utilisateur accédant à Oracle ASM, `asm_user_password` est le mot de passe de l’utilisateur Oracle ASM et `asm_server_name` est le nom du serveur Oracle ASM (adresse) sur le web, qui comprend le port, comme dans l’exemple suivant.

     ```
     { 
       "asm_user": "oracle_asm_user", 
       "asm_password": "oracle_asm_password",
       "asm_server": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com:8190/+ASM" 
     }
     ```

1. Sélectionnez une clé de AWS KMS chiffrement pour chiffrer le secret. Vous pouvez accepter la clé de chiffrement par défaut créée pour votre service AWS Secrets Manager ou sélectionner une AWS KMS clé que vous créez.

1. Spécifiez un nom pour faire référence à ce secret et une description facultative. Il s’agit du nom convivial que vous utilisez comme valeur pour `SecretsManagerSecretId` ou `SecretsManagerOracleAsmSecretId`.

1. Si vous souhaitez activer la rotation automatique du secret, vous devez sélectionner ou créer une AWS Lambda fonction avec l'autorisation de faire pivoter les informations d'identification du secret comme décrit. Toutefois, avant de configurer la rotation automatique pour utiliser votre fonction Lambda, assurez-vous que les paramètres de configuration de la fonction ajoutent les quatre caractères suivants à la valeur de la variable d’environnement `EXCLUDE_CHARACTERS`.

   ```
   ;.:+{}*&,%\
   ```

   AWS DMS n'autorise pas ces caractères dans les mots de passe utilisés pour les informations d'identification des terminaux. En configurant votre fonction Lambda de sorte à les exclure, AWS Secrets Manager ne peut pas générer ces caractères dans le cadre de la rotation des valeurs de mot de passe. Une fois que vous avez défini la rotation automatique pour utiliser votre fonction Lambda, fait AWS Secrets Manager immédiatement pivoter le secret pour valider votre configuration secrète.
**Note**  
Selon la configuration de votre moteur de base de données, il est possible que la base de données ne récupère pas les informations d’identification ayant fait l’objet d’une rotation. Dans ce cas, vous devez redémarrer manuellement la tâche pour actualiser les informations d’identification.

1. Passez en revue et conservez votre secret AWS Secrets Manager. Vous pouvez ensuite rechercher chaque secret par son nom convivial AWS Secrets Manager, puis récupérer l'ARN du secret en tant que valeur `SecretsManagerSecretId` ou`SecretsManagerOracleAsmSecretId`, le cas échéant, pour authentifier l'accès à la connexion à la base de données de votre point de terminaison et à Oracle ASM (le cas échéant).

**Pour créer la politique d'accès secret et le rôle permettant de définir votre `SecretsManagerAccessRoleArn` ou`SecretsManagerOracleAsmAccessRoleArn`, ce qui permet d'accéder AWS DMS AWS Secrets Manager à votre secret approprié**

1. Connectez-vous à la console Gestion des identités et des accès AWS (IAM) AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Sélectionnez **Politiques**, puis **Créer une politique**.

1. Choisissez **JSON** et entrez la politique suivante pour permettre d’accéder à votre secret et de le déchiffrer.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "secretsmanager:GetSecretValue",
         "Resource": "*"
       },
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:DescribeKey"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

   Ici, `secret_arn` est l’ARN de votre secret, que vous pouvez obtenir à partir de `SecretsManagerSecretId` ou de `SecretsManagerOracleAsmSecretId` selon le cas, et `kms_key_arn` est l’ARN de la clé AWS KMS que vous utilisez pour chiffrer votre secret, comme dans l’exemple suivant.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH"
           },
           {
                "Effect": "Allow",
                "Action": [
                           "kms:Decrypt",
                           "kms:DescribeKey"
                         ],
                "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd"
           }
        ]
   }
   ```

------
**Note**  
Si vous utilisez la clé de chiffrement par défaut créée par AWS Secrets Manager, il n'est pas nécessaire de spécifier les AWS KMS autorisations pour`kms_key_arn`.  
Si vous souhaitez que votre politique donne accès aux deux secrets, il vous suffit de spécifier un objet de ressource JSON supplémentaire pour l'autre*secret\$1arn*.  
Si votre secret se trouve dans un autre compte, le rôle `SecretsManagerAccessRoleArn` a besoin d’une politique supplémentaire pour vérifier le secret entre comptes. Pour de tels cas d’utilisation, ajoutez l’action `secretsmanager:DescribeSecret` à la politique. Pour plus de détails sur la configuration d'un secret multicompte, consultez la section [Permissions to AWS Secrets Manager secrets secrets pour les utilisateurs d'un autre compte](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples_cross.html).

1. Vérifiez et créez la politique avec un nom convivial et une description facultative.

1. Choisissez **Rôles**, puis **Créer un rôle**.

1. Choisissez **Service AWS ** comme type d’entité de confiance.

1. Choisissez **DMS** dans la liste des services comme service de confiance, puis choisissez **Suivant : Autorisations**.

1. Recherchez et attachez la politique que vous avez créée à l’étape 4, puis ajoutez des balises et passez en revue votre rôle. À ce stade, modifiez les relations de confiance du rôle afin d'utiliser votre directeur de service AWS DMS régional comme entité de confiance. Ce principal a le format suivant.

   ```
   dms.region-name.amazonaws.com
   ```

   Ici, *`region-name`* est le nom de votre région, par exemple `us-east-1`. Voici donc un principe de service AWS DMS régional pour cette région.

   ```
   dms.us-east-1.amazonaws.com
   ```

1. Après avoir modifié l’entité de confiance associée au rôle, créez le rôle avec un nom convivial et une description facultative. Vous pouvez désormais rechercher votre nouveau rôle par son nom convivial dans IAM, puis récupérer l’ARN du rôle sous forme de valeur `SecretsManagerAccessRoleArn` ou `SecretsManagerOracleAsmAccessRoleArn` pour authentifier la connexion à la base de données de votre point de terminaison.

**Pour utiliser Secrets Manager avec une instance de réplication dans un sous-réseau privé**

1. Créez un point de terminaison de VPC Secrets Manager et notez le DNS du point de terminaison. Pour plus d’informations sur la création d’un point de terminaison de VPC Secrets Manager, consultez [Connexion à Secrets Manager via un point de terminaison de VPC](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html#vpc-endpoint) []()dans le *Guide de l’utilisateur AWS Secrets Manager*.

1. Pour les règles d'entrée du groupe de sécurité des points de terminaison VPC, autorisez le trafic HTTPS provenant de l'adresse IP privée de l'instance de réplication ou des groupes de sécurité attachés aux instances de réplication.

1. Pour les règles de sortie du groupe de sécurité de l’instance de réplication, autorisez l’ensemble du trafic pour la destination `0.0.0.0/0`.

1. Définissez l’attribut de connexion supplémentaire du point de terminaison `secretsManagerEndpointOverride=secretsManager endpoint DNS` de sorte à fournir le DNS du point de terminaison de VPC Secrets Manager, comme illustré dans l’exemple suivant.

   ```
   secretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com
   ```

# Utilisation de rôles liés à un service pour AWS DMS
<a name="using-service-linked-roles"></a>

AWS Database Migration Service utilise des Gestion des identités et des accès AWS rôles liés à un [service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) (IAM). Un rôle lié à un service est un type unique de rôle IAM directement lié à. AWS DMS Les rôles liés au service sont prédéfinis par AWS DMS et incluent toutes les autorisations dont le service a besoin pour appeler d'autres AWS services en votre nom. 

Un rôle lié à un service facilite la configuration AWS DMS car vous n'avez pas à ajouter manuellement les autorisations nécessaires. AWS DMS définit les autorisations associées à ses rôles liés aux services et, sauf indication contraire, seul AWS DMS peut assumer ses rôles. Les autorisations définies comprennent la politique d'approbation et la politique d'autorisation. De plus, cette politique d'autorisation ne peut pas être attachée à une autre entité IAM.

Vous pouvez supprimer un rôle lié à un service uniquement après la suppression préalable de ses ressources connexes. Cela protège vos AWS DMS ressources car vous ne pouvez pas supprimer par inadvertance l'autorisation d'accès aux ressources.

Pour plus d'informations sur les autres services qui prennent en charge les rôles liés aux services, consultez la section [AWS Services qui fonctionnent avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) et recherchez les services dont la valeur est **Oui** dans la colonne Rôles liés aux **services**. Sélectionnez un **Oui** ayant un lien pour consulter la documentation du rôle lié à un service, pour ce service.

**Rôles liés à un service pour les fonctionnalités AWS DMS **

**Topics**
+ [Rôles liés aux services pour Fleet Advisor AWS DMS](slr-services-fa.md)
+ [Rôle lié à un service pour AWS DMS](slr-services-sl.md)

# Rôles liés aux services pour Fleet Advisor AWS DMS
<a name="slr-services-fa"></a>

AWS DMS Fleet Advisor utilise le rôle lié au service nommé **AWSServiceRoleForDMSFleetAdvisor**. DMS Fleet Advisor utilise ce rôle lié au service pour gérer les métriques Amazon. CloudWatch Ce rôle lié à un service est attaché à la politique gérée suivante : `AWSDMSFleetAdvisorServiceRolePolicy`. Pour connaître les mises à jour de cette politique, consultez [AWS politiques gérées pour AWS Database Migration Service](security-iam-awsmanpol.md).

Le rôle lié au service de AWSService RoleFor DMSFleet conseiller fait confiance aux services suivants pour assumer ce rôle :
+ `dms-fleet-advisor.amazonaws.com`

La politique d'autorisation des rôles nommée AWSDMSFleet AdvisorServiceRolePolicy permet à AWS DMS Fleet Advisor d'effectuer les actions suivantes sur les ressources spécifiées :
+ Action : `cloudwatch:PutMetricData` sur `all AWS resources`

  Cette autorisation permet aux principaux de publier des points de données métriques sur Amazon CloudWatch. AWS DMS Fleet Advisor a besoin de cette autorisation pour afficher des graphiques contenant les métriques de la base de données provenant de CloudWatch.

L'exemple de code suivant montre la AWSDMSFleet AdvisorServiceRolePolicy politique que vous utilisez pour créer le AWSDMSFleet AdvisorServiceRolePolicy rôle.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Resource": "*",
        "Action": "cloudwatch:PutMetricData",
        "Condition": {
            "StringEquals": {
                "cloudwatch:namespace": "AWS/DMS/FleetAdvisor"
            }
        }
    }
}
```

------

Vous devez configurer les autorisations de sorte à permettre à une entité IAM, comme un utilisateur, un groupe ou un rôle, de créer, modifier ou supprimer un rôle lié à un service. Pour plus d’informations, consultez [Autorisations de rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dans le *Guide de l’utilisateur IAM*.

## Création d'un rôle lié à un service pour AWS DMS Fleet Advisor
<a name="create-slr-fa"></a>

Vous pouvez utiliser la console IAM pour créer un rôle lié à un service avec le cas d’utilisation **DMS – Fleet Advisor**. Dans l'API AWS CLI ou dans l' AWS API, créez un rôle lié à un service avec le nom du `dms-fleet-advisor.amazonaws.com` service. Pour plus d’informations, consultez [Création d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) dans le *Guide de l’utilisateur IAM*. Si vous supprimez ce rôle lié à un service, vous pouvez utiliser ce même processus pour créer le rôle à nouveau.

Assurez-vous de créer ce rôle avant de créer un collecteur de données. DMS Fleet Advisor utilise ce rôle pour afficher des graphiques avec des métriques de base de données dans AWS Management Console. Pour de plus amples informations, veuillez consulter [Création d’un collecteur de données](fa-data-collectors-create.md).

## Modification d'un rôle lié à un service pour AWS DMS Fleet Advisor
<a name="edit-slr-fa"></a>

AWS DMS ne vous permet pas de modifier le rôle lié au service AWSService RoleFor DMSFleet Advisor. Une fois que vous avez créé un rôle lié à un service, vous ne pouvez pas changer le nom du rôle, car plusieurs entités peuvent faire référence au rôle. Néanmoins, vous pouvez modifier la description du rôle à l’aide d’IAM. Pour plus d’informations, consultez [Modification d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dans le *Guide de l’utilisateur IAM*.

## Supprimer un rôle lié à un service pour AWS DMS Fleet Advisor
<a name="delete-slr-fa"></a>

Si vous n’avez plus besoin d’utiliser une fonction ou un service qui nécessite un rôle lié à un service, nous vous recommandons de supprimer ce rôle. Ainsi, aucune entité inutilisée n’est surveillée ou gérée activement. Cependant, vous devez nettoyer les ressources de votre rôle lié à un service avant de pouvoir les supprimer manuellement.

**Note**  
Si le AWS DMS service utilise le rôle lorsque vous essayez de supprimer les ressources, la suppression risque d'échouer. Si cela se produit, patientez quelques minutes et réessayez.

**Pour supprimer AWS DMS les ressources utilisées par le AWSService RoleFor DMSFleet conseiller**

1. Connectez-vous à la AWS DMS console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/).

1. Dans le volet de navigation, choisissez **Collecteurs de données** sous **Découvrir**. La page **Collecteurs de données** s’ouvre.

1. Choisissez votre collecteur de données, puis choisissez **Supprimer**.

1. Pour confirmer la suppression, entrez le nom du collecteur de données dans le champ d’entrée du texte. Ensuite, choisissez **Supprimer**.

**Important**  
Lorsque vous supprimez un collecteur de données DMS, DMS Fleet Advisor supprime toutes les bases de données de l’inventaire que vous avez découvertes à l’aide de ce collecteur.

Après avoir supprimé tous les collecteurs de données, vous pouvez supprimer le rôle lié à un service.

**Pour supprimer manuellement le rôle lié au service à l’aide d’IAM**

Utilisez la console IAM AWS CLI, le ou l' AWS API pour supprimer le rôle lié au service AWSService RoleFor DMSFleet Advisor. Pour plus d’informations, consultez la section [Suppression d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l’utilisateur IAM*.

## Régions prises en charge pour les AWS DMS rôles liés au service Fleet Advisor
<a name="slr-regions-fa"></a>

AWS DMS Fleet Advisor prend en charge l'utilisation de rôles liés au service dans toutes les régions où le service est disponible. Pour de plus amples informations, veuillez consulter [Soutenu Régions AWS](CHAP_FleetAdvisor.md#CHAP_FleetAdvisor.SupportedRegions).

# Rôle lié à un service pour AWS DMS
<a name="slr-services-sl"></a>

AWS DMS utilise le rôle lié au service nommé. **AWSServiceRoleForDMSServerless** AWS DMS utilise ce rôle lié au service pour créer et gérer des AWS DMS ressources en votre nom. AWS DMS utilise ce rôle pour la gestion automatique des instances afin que vous n'ayez qu'à gérer les réplications.

Le rôle lié à un service [AWSServiceRoleForDMSServerless](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy) approuve les services suivants pour endosser le rôle :
+ `dms.amazonaws.com`

Vous devez configurer les autorisations de sorte à permettre à une entité IAM, comme un utilisateur, un groupe ou un rôle, de créer, modifier ou supprimer un rôle lié à un service. Pour plus d’informations, consultez [Autorisations de rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dans le *Guide de l’utilisateur IAM*.

## Création d'un rôle lié à un service pour AWS DMS
<a name="create-slr-sl"></a>

Lorsque vous lancez une tâche de réplication ou que vous lancez une évaluation préalable à la migration, vous créez AWS DMS par programmation un rôle lié à un AWS DMS service. Vous pouvez afficher ce rôle dans la console IAM. Vous pouvez également choisir de créer ce rôle manuellement. Pour créer le rôle manuellement, utilisez la console IAM pour créer un rôle lié à un service avec le cas d'utilisation du **DMS**. Dans l'API AWS CLI ou dans l' AWS API, créez un rôle lié à un service en utilisant le `dms.amazonaws.com` nom du service. Pour plus d’informations, consultez [Création d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) dans le *Guide de l’utilisateur IAM*. Si vous supprimez ce rôle lié à un service, vous pouvez utiliser ce même processus pour créer le rôle à nouveau.

**Note**  
Si vous supprimez un rôle alors que vous avez des réplications dans votre compte, la réplication échoue.

## Modification d'un rôle lié à un service pour AWS DMS
<a name="edit-slr-sl"></a>

AWS DMS ne vous permet pas de modifier le rôle AWSService RoleFor DMSServerless lié au service. Une fois que vous avez créé un rôle lié à un service, vous ne pouvez pas changer le nom du rôle, car plusieurs entités peuvent faire référence au rôle. Néanmoins, vous pouvez modifier la description du rôle à l’aide d’IAM. Pour plus d’informations, consultez [Modification d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dans le *Guide de l’utilisateur IAM*.

## Supprimer un rôle lié à un service pour AWS DMS
<a name="delete-slr-sl"></a>

Si vous n’avez plus besoin d’utiliser une fonction ou un service qui nécessite un rôle lié à un service, nous vous recommandons de supprimer ce rôle. Ainsi, aucune entité inutilisée n’est surveillée ou gérée activement. Cependant, vous devez nettoyer les ressources de votre rôle lié à un service avant de pouvoir les supprimer manuellement.

**Note**  
Si le AWS DMS service utilise le rôle lorsque vous essayez de supprimer les ressources, la suppression risque d'échouer. Si cela se produit, patientez quelques minutes et réessayez.

**Pour supprimer AWS DMS les ressources utilisées par AWSService RoleFor DMSServerless**

1. Connectez-vous à la AWS DMS console AWS Management Console et ouvrez-la à la [https://console.aws.amazon.com/dms/version v2](https://console.aws.amazon.com/dms/v2/).

1. Dans le volet de navigation, sélectionnez **Réplications sans serveur** sous ****Migrer**** les données. La page **Sans serveur** s’ouvre.

1. Choisissez votre réplication sans serveur, puis choisissez **Supprimer**.

1. Pour confirmer la suppression, entrez le nom de la réplication sans serveur dans le champ d’entrée du texte. Ensuite, choisissez **Supprimer**.

Après avoir supprimé toutes les réplications sans serveur, vous pouvez supprimer le rôle lié à un service.

**Pour supprimer manuellement le rôle lié au service à l’aide d’IAM**

Utilisez la console IAM, le AWS CLI, ou l' AWS API pour supprimer le rôle lié au AWSService RoleFor DMSServerless service. Pour plus d’informations, consultez la section [Suppression d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l’utilisateur IAM*.

## Régions prises en charge pour les rôles AWS DMS liés à un service
<a name="slr-regions-sl"></a>

AWS DMS prend en charge l'utilisation de rôles liés au service dans toutes les régions où le service est disponible. 

# Résolution des problèmes AWS Database Migration Service d'identité et d'accès
<a name="security_iam_troubleshoot"></a>

Utilisez les informations suivantes pour vous aider à diagnostiquer et à résoudre les problèmes courants que vous pouvez rencontrer lorsque vous travaillez avec AWS DMS IAM.

**Topics**
+ [Je ne suis pas autorisé à effectuer une action dans AWS DMS](#security_iam_troubleshoot-no-permissions)
+ [Je ne suis pas autorisé à effectuer iam : PassRole](#security_iam_troubleshoot-passrole)
+ [Je suis administrateur et je souhaite autoriser d'autres personnes à accéder AWS DMS](#security_iam_troubleshoot-admin-delegate)
+ [Je souhaite autoriser des personnes extérieures à mon AWS compte à accéder à mes AWS DMS ressources](#security_iam_troubleshoot-cross-account-access)

## Je ne suis pas autorisé à effectuer une action dans AWS DMS
<a name="security_iam_troubleshoot-no-permissions"></a>

S'il vous AWS Management Console indique que vous n'êtes pas autorisé à effectuer une action, vous devez contacter votre administrateur pour obtenir de l'aide. Votre administrateur est la personne qui vous a fourni votre nom d’utilisateur et votre mot de passe.

L'exemple d'erreur suivant se produit lorsque l'utilisateur `mateojackson` IAM essaie d'utiliser la console pour afficher les détails d'un point de terminaison AWS DMS mais ne dispose `dms: DescribeEndpoint` pas des autorisations nécessaires.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: dms:DescribeEndpoint on resource: my-postgresql-target
```

Dans ce cas, Mateo demande à son administrateur de mettre à jour ses stratégies pour lui permettre d'accéder à la ressource de point de terminaison `my-postgresql-target` à l'aide de l'action `dms:DescribeEndpoint`.

## Je ne suis pas autorisé à effectuer iam : PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si vous recevez une erreur selon laquelle vous n’êtes pas autorisé à exécuter `iam:PassRole` l’action, vos stratégies doivent être mises à jour afin de vous permettre de transmettre un rôle à AWS DMS.

Certains vous Services AWS permettent de transmettre un rôle existant à ce service au lieu de créer un nouveau rôle de service ou un rôle lié à un service. Pour ce faire, vous devez disposer des autorisations nécessaires pour transmettre le rôle au service.

L’exemple d’erreur suivant se produit lorsqu’un utilisateur IAM nommé `marymajor` essaie d’utiliser la console pour exécuter une action dans AWS DMS. Toutefois, l'action nécessite que le service ait des autorisations accordées par une fonction de service. Mary n'est pas autorisée à transmettre le rôle au service.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dans ce cas, les politiques de Mary doivent être mises à jour pour lui permettre d’exécuter l’action `iam:PassRole`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

## Je suis administrateur et je souhaite autoriser d'autres personnes à accéder AWS DMS
<a name="security_iam_troubleshoot-admin-delegate"></a>

Pour autoriser d'autres personnes à y accéder AWS DMS, vous devez accorder l'autorisation aux personnes ou aux applications qui ont besoin d'y accéder. Si vous utilisez AWS IAM Identity Center pour gérer des personnes et des applications, vous attribuez des ensembles d'autorisations aux utilisateurs ou aux groupes afin de définir leur niveau d'accès. Les ensembles d'autorisations créent et attribuent automatiquement des politiques IAM aux rôles IAM associés à la personne ou à l'application. Pour plus d'informations, consultez la section [Ensembles d'autorisations](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) dans le *guide de AWS IAM Identity Center l'utilisateur*.

Si vous n'utilisez pas IAM Identity Center, vous devez créer des entités IAM (utilisateurs ou rôles) pour les personnes ou les applications qui ont besoin d'un accès. Vous devez ensuite associer une politique à l'entité qui leur accorde les autorisations appropriées dans AWS DMS. Une fois les autorisations accordées, fournissez les informations d'identification à l'utilisateur ou au développeur de l'application. Ils utiliseront ces informations d'identification pour y accéder AWS. Pour en savoir plus sur la création d'utilisateurs, de groupes, de politiques et d'autorisations [IAM, consultez la section Identités](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html), [politiques et autorisations IAM dans le guide de l'utilisateur *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).

## Je souhaite autoriser des personnes extérieures à mon AWS compte à accéder à mes AWS DMS ressources
<a name="security_iam_troubleshoot-cross-account-access"></a>

Vous pouvez créer un rôle que les utilisateurs provenant d’autres comptes ou les personnes extérieures à votre organisation pourront utiliser pour accéder à vos ressources. Vous pouvez spécifier qui est autorisé à assumer le rôle. Pour les services qui prennent en charge les politiques basées sur les ressources ou les listes de contrôle d'accès (ACLs), vous pouvez utiliser ces politiques pour autoriser les utilisateurs à accéder à vos ressources.

Pour plus d’informations, consultez les éléments suivants :
+ Pour savoir si ces fonctionnalités sont prises AWS DMS en charge, consultez[Comment AWS Database Migration Service fonctionne avec IAM](security_iam_service-with-iam.md).
+ Pour savoir comment fournir l'accès à vos ressources sur celles Comptes AWS que vous possédez, consultez la section [Fournir l'accès à un utilisateur IAM dans un autre utilisateur Compte AWS que vous possédez](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) dans le Guide de l'*utilisateur IAM*.
+ Pour savoir comment fournir l'accès à vos ressources à des tiers Comptes AWS, consultez la section [Fournir un accès à des ressources Comptes AWS détenues par des tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dans le *guide de l'utilisateur IAM*.
+ Pour savoir comment fournir un accès par le biais de la fédération d’identité, consultez [Fournir un accès à des utilisateurs authentifiés en externe (fédération d’identité)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dans le *Guide de l’utilisateur IAM*.
+ Pour en savoir plus sur la différence entre l’utilisation des rôles et des politiques basées sur les ressources pour l’accès intercompte, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

## Autorisations IAM nécessaires pour utiliser AWS DMS
<a name="CHAP_Security.IAMPermissions"></a>

Vous devez utiliser certaines autorisations et certains rôles IAM pour pouvoir utiliser AWS DMS. Si vous êtes connecté en tant qu'utilisateur IAM et que vous souhaitez l'utiliser AWS DMS, l'administrateur de votre compte doit associer la politique décrite dans cette section à l'utilisateur, au groupe ou au rôle IAM que vous utilisez pour exécuter. AWS DMS Pour plus d'informations sur les autorisations IAM, consultez le [Guide de l'utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html). 

La politique suivante vous donne accès à d'autres services Amazon tels que IAM AWS DMS, Amazon EC2 et Amazon AWS KMS, ainsi que des autorisations pour effectuer certaines actions nécessaires. CloudWatch CloudWatchsurveille votre AWS DMS migration en temps réel et collecte et suit les indicateurs qui indiquent la progression de votre migration. Vous pouvez utiliser CloudWatch les journaux pour résoudre les problèmes liés à une tâche. 

**Note**  
Vous pouvez restreindre davantage l'accès aux AWS DMS ressources à l'aide du balisage. Pour plus d'informations sur la restriction de l'accès aux AWS DMS ressources à l'aide du balisage, consultez[Contrôle précis des accès à l'aide des noms de ressources et des balises](CHAP_Security.FineGrainedAccess.md).

------
#### [ JSON ]

****  

```
{

  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "dms:*",
      "Resource": "arn:aws:dms:*:123456789012:*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:ListAliases",
        "kms:DescribeKey"
      ],
      "Resource": "arn:aws:kms:*:123456789012:key/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:PassRole",
        "iam:CreateRole",
        "iam:AttachRolePolicy"
      ],
      "Resource": "arn:aws:iam::123456789012:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "dms.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "ec2:DescribeInternetGateways",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups",
        "ec2:ModifyNetworkInterfaceAttribute",
        "ec2:CreateNetworkInterface",
        "ec2:DeleteNetworkInterface"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:Get*",
        "cloudwatch:List*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:FilterLogEvents",
        "logs:GetLogEvents"
      ],
      "Resource": "arn:aws:logs:*:123456789012:*"
    }
  ]
}
```

------

L’analyse des autorisations suivantes peut vous aider à mieux comprendre pourquoi chacune d’elles est nécessaire.

La section suivante est requise pour permettre à l'utilisateur d'appeler des opérations AWS DMS d'API.

```
{
            "Effect": "Allow",
            "Action": "dms:*",
            "Resource": "arn:aws:dms:region:account:resourcetype/id"
}
```

La section suivante est requise pour permettre à l'utilisateur de répertorier ses AWS KMS clés et alias disponibles à afficher dans la console. Cette entrée n'est pas obligatoire si vous connaissez le nom de ressource Amazon (ARN) de la clé KMS 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 requise lorsque certains types de points de terminaison nécessitent la transmission de l'ARN d'un rôle IAM avec le point de terminaison. En outre, si les AWS DMS rôles requis ne sont pas créés à l'avance, la AWS DMS console peut créer le rôle. Si tous les rôles sont configurés à l'avance, seuls `iam:GetRole` et `iam:PassRole` sont nécessaires. Pour plus d'informations sur les rôles , consultez [Création des rôles IAM à utiliser avec AWS DMS](#CHAP_Security.APIRole).

```
{
            "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'instance Amazon EC2 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 l' 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 rôles IAM à utiliser avec AWS DMS](#CHAP_Security.APIRole).

## Création des rôles IAM à utiliser avec AWS DMS
<a name="CHAP_Security.APIRole"></a>

Si vous utilisez la AWS DMS console, AWS CLI ou l' AWS DMS API pour la migration de votre base de données, vous devez ajouter trois rôles IAM à votre AWS compte avant de pouvoir utiliser les fonctionnalités de AWS DMS. Deux d'entre eux sont `dms-vpc-role` et `dms-cloudwatch-logs-role`. Si vous utilisez Amazon Redshift comme base de données cible, vous devez également ajouter le rôle IAM `dms-access-for-endpoint` à votre compte. AWS 

Les mises à jour des stratégies gérées sont automatiques. Si vous utilisez une stratégie personnalisée avec les rôles IAM, veillez à vérifier régulièrement la disponibilité des mises à jour de la stratégie gérée dans cette documentation. Vous pouvez afficher les détails de la stratégie gérée grâce à une combinaison des commandes `get-policy` et `get-policy-version`.

Par exemple, la commande `get-policy` suivante récupère les informations relatives au rôle IAM spécifié.

```
aws iam get-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole
```

Les informations renvoyées par la commande sont les suivantes.

```
{
    "Policy": {
        "PolicyName": "AmazonDMSVPCManagementRole",
        "PolicyId": "ANPAJHKIGMBQI4AEFFSYO",
        "Arn": "arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole",
        "Path": "/service-role/",
        "DefaultVersionId": "v4",
        "AttachmentCount": 1,
        "PermissionsBoundaryUsageCount": 0,
        "IsAttachable": true,
        "Description": "Provides access to manage VPC settings for AWS managed customer configurations",
        "CreateDate": "2015-11-18T16:33:19+00:00",
        "UpdateDate": "2024-07-25T15:19:01+00:00",
        "Tags": []
    }
}
```

La commande `get-policy-version` suivante récupère les informations relatives à la stratégie IAM.

```
aws iam get-policy-version --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole --version-id v4
```

Les informations renvoyées par la commande sont les suivantes.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "ExampleStatementID",
        "Effect": "Allow",
        "Action": [
            "ec2:CreateNetworkInterface",
            "ec2:DeleteNetworkInterface",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeDhcpOptions",
            "ec2:DescribeInternetGateways",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcs",
            "ec2:ModifyNetworkInterfaceAttribute"
        ],
        "Resource": "*"
      }
    ]
}
```

------

Vous pouvez utiliser les mêmes commandes pour obtenir des informations sur la stratégie gérée `AmazonDMSCloudWatchLogsRole` et `AmazonDMSRedshiftS3Role`.

Les procédures suivantes créent les rôles IAM `dms-vpc-role`, `dms-cloudwatch-logs-role` et `dms-access-for-endpoint`.

**Pour créer le rôle dms-vpc-role IAM à utiliser avec l'API AWS CLI or AWS DMS**

1.  Créez un fichier JSON contenant la politique IAM suivante. Nommez le fichier JSON `dmsAssumeRolePolicyDocument.json`. 

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
           "Service": "dms.amazonaws.com"
        },
      "Action": "sts:AssumeRole"
      }
    ]
   }
   ```

------

    Créez le rôle à l' AWS CLI aide de la commande suivante.

   ```
   aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json                    
   ```

1.  Attachez la stratégie `AmazonDMSVPCManagementRole` à `dms-vpc-role` en utilisant la commande suivante.

   ```
   aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole                    
   ```

**Pour créer le rôle dms-cloudwatch-logs-role IAM à utiliser avec l'API AWS CLI or AWS DMS**

1.  Créez un fichier JSON contenant la politique IAM suivante. Nommez le fichier JSON `dmsAssumeRolePolicyDocument2.json`. 

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
           "Service": "dms.amazonaws.com"
        },
      "Action": "sts:AssumeRole"
      }
    ]
   }
   ```

------

    Créez le rôle à l' AWS CLI aide de la commande suivante.

   ```
   aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json                    
   ```

1.  Attachez la stratégie `AmazonDMSCloudWatchLogsRole` à `dms-cloudwatch-logs-role` en utilisant la commande suivante.

   ```
   aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole                    
   ```

Si vous utilisez Amazon Redshift en tant que base de données cible, vous devez créer le rôle IAM `dms-access-for-endpoint` pour fournir l’accès à Amazon S3.

**Pour créer le rôle dms-access-for-endpoint IAM à utiliser avec Amazon Redshift en tant que base de données cible**

1. Créez un fichier JSON contenant la politique IAM suivante. Nommez le fichier JSON `dmsAssumeRolePolicyDocument3.json`. 

------
#### [ JSON ]

****  

   ```
    {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "1",
         "Effect": "Allow",
         "Principal": {
           "Service": "dms.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       },
       {
         "Sid": "2",
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1.  Créez le rôle à l' AWS CLI aide de la commande suivante.

   ```
     aws iam create-role --role-name dms-access-for-endpoint --assume-role-policy-document file://dmsAssumeRolePolicyDocument3.json                   
   ```

1.  Attachez la stratégie `AmazonDMSRedshiftS3Role` au rôle `dms-access-for-endpoint` en utilisant la commande suivante.

   ```
   aws iam attach-role-policy --role-name dms-access-for-endpoint \
       --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role
   ```

Vous devriez maintenant avoir mis en place les politiques IAM pour utiliser l' AWS DMS API AWS CLI or.

# Prévention du problème de l’adjoint confus entre services
<a name="cross-service-confused-deputy-prevention"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner la confusion des adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le *service appelant*) appelle un autre service (le *service appelé*). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé à accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte.

Nous recommandons d'utiliser les clés de contexte de condition [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)et les clés contextuelles dans les politiques de ressources afin de limiter les autorisations qui AWS Database Migration Service accordent un autre service à la ressource. Si la valeur `aws:SourceArn` ne contient pas l’ID de compte, tel qu’un nom d’instance de réplication AWS DMS (ARN), vous devez utiliser les deux clés de contexte de condition globale pour limiter les autorisations. Si vous utilisez les deux clés de contexte de condition globale et que la valeur `aws:SourceArn` contient l'ID de compte, la valeur `aws:SourceAccount` et le compte dans la valeur `aws:SourceArn` doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction de politique. Utilisez `aws:SourceArn` si vous souhaitez qu'une seule ressource soit associée à l'accès entre services. Utilisez `aws:SourceAccount` si vous souhaitez autoriser l’association d’une ressource de ce compte à l’utilisation interservices.

AWS DMS prend en charge les options secondaires confuses à partir de la version 3.4.7 et supérieure. Pour de plus amples informations, veuillez consulter [AWS Notes de mise à jour du Database Migration Service 3.4.7](CHAP_ReleaseNotes.md#CHAP_ReleaseNotes.DMS347). Si votre instance de réplication utilise AWS DMS version 3.4.6 ou antérieure, assurez-vous de passer à la dernière version avant de définir les options d’adjoint confus.

Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale `aws:SourceArn` avec l’ARN complet de la ressource. Si vous ne connaissez pas l’ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de contexte de condition globale `aws:SourceArn` avec des caractères génériques (`*`) pour les parties inconnues de l’ARN. Par exemple, `arn:aws:dms:*:123456789012:rep:*`. 

**Topics**
+ [Rôles IAM à utiliser avec l' AWS DMS API pour prévenir la confusion entre les services](#cross-service-confused-deputy-prevention-dms-api)
+ [Politique IAM visant à stocker les évaluations de contrôle en amont dans Amazon S3 pour la prévention du problème de l’adjoint confus entre services](#cross-service-confused-deputy-prevention-s3)
+ [Utilisation d'Amazon DynamoDB comme point de terminaison cible pour la prévention de la confusion AWS DMS entre les services](#cross-service-confused-deputy-prevention-dynamodb)

## Rôles IAM à utiliser avec l' AWS DMS API pour prévenir la confusion entre les services
<a name="cross-service-confused-deputy-prevention-dms-api"></a>

Pour utiliser l'API AWS CLI ou l' AWS DMS API pour la migration de votre base de données, vous devez ajouter les rôles `dms-vpc-role` et `dms-cloudwatch-logs-role` IAM à votre AWS compte avant de pouvoir utiliser les fonctionnalités de AWS DMS. Pour de plus amples informations, veuillez consulter [Création des rôles IAM à utiliser avec AWS DMS](security-iam.md#CHAP_Security.APIRole).

L’exemple suivant illustre les politiques d’utilisation du rôle `dms-vpc-role` avec l’instance de réplication `my-replication-instance`. Utilisez ces politiques pour prévenir le problème de l’adjoint confus.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Sid": "AllowDMSAssumeRole",
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "AWS:SourceAccount": "111122223333"
         },
         "ArnLike": {
             "aws:SourceArn": "arn:aws:dms:*:123456789012:*"
         }
      }
    }
  ]
}
```

------

## Politique IAM visant à stocker les évaluations de contrôle en amont dans Amazon S3 pour la prévention du problème de l’adjoint confus entre services
<a name="cross-service-confused-deputy-prevention-s3"></a>

Pour stocker les résultats de la pré-évaluation dans votre compartiment S3, vous créez une politique IAM qui permet à AWS DMS de gérer les objets dans Amazon S3. Pour de plus amples informations, veuillez consulter [Création de ressources IAM](CHAP_Tasks.AssessmentReport.Prerequisites.md#CHAP_Tasks.AssessmentReport.Prerequisites.IAM).

L'exemple suivant montre une politique de confiance comportant des conditions d'adjoint confuses définies pour un rôle IAM qui permet d'accéder AWS DMS à toutes les tâches et à toutes les évaluations sous un compte utilisateur spécifié.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDMSAssumeRole",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "111122223333"
        },
        "ArnLike": {
            "aws:SourceArn": [
                "arn:aws:dms:*:123456789012:assessment-run:*",
                "arn:aws:dms:*:123456789012:task:*"
          ]
        }
      }
    }
  ]
}
```

------

## Utilisation d'Amazon DynamoDB comme point de terminaison cible pour la prévention de la confusion AWS DMS entre les services
<a name="cross-service-confused-deputy-prevention-dynamodb"></a>

Pour utiliser Amazon DynamoDB comme point de terminaison cible pour la migration de votre base de données, vous devez créer le rôle IAM qui AWS DMS permet d'assumer et d'accorder l'accès aux tables DynamoDB. Utilisez ensuite ce rôle lorsque vous créez votre point de terminaison DynamoDB cible dans AWS DMS. Pour de plus amples informations, veuillez consulter [Utilisation d’Amazon DynamoDB en tant que cible](CHAP_Target.DynamoDB.md).

L'exemple suivant montre une politique de confiance comportant des conditions secondaires confuses définies sur un rôle IAM qui permet à tous les AWS DMS points de terminaison d'accéder aux tables DynamoDB.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDMSAssumeRole",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {
      "StringEquals": {
          "AWS:SourceAccount": "111122223333"
        },
        "ArnLike": {
        "aws:SourceArn": [
            "arn:aws:dms:*:123456789012:assessment-run:*",
            "arn:aws:dms:*:123456789012:task:*"
            ]
         }
      }
    }
  ]
}
```

------

# AWS politiques gérées pour AWS Database Migration Service
<a name="security-iam-awsmanpol"></a>

**Topics**
+ [AWS politique gérée : Amazon DMSVPCManagement Role](#security-iam-awsmanpol-AmazonDMSVPCManagementRole)
+ [AWS politique gérée : AWSDMSServerless ServiceRolePolicy](#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy)
+ [AWS politique gérée : Amazon DMSCloud WatchLogsRole](#security-iam-awsmanpol-AmazonDMSCloudWatchLogsRole)
+ [AWS politique gérée : AWSDMSFleet AdvisorServiceRolePolicy](#security-iam-awsmanpol-AWSDMSFleetAdvisorServiceRolePolicy)
+ [AWS politique gérée : Amazon DMSRedshift S3Role](#security-iam-awsmanpol-AmazonDMSRedshiftS3Role)
+ [AWS DMS mises à jour des politiques AWS gérées](#security-iam-awsmanpol-updates)

## AWS politique gérée : Amazon DMSVPCManagement Role
<a name="security-iam-awsmanpol-AmazonDMSVPCManagementRole"></a>

Cette politique est attachée au `dms-vpc-role` rôle, ce qui permet d' AWS DMS effectuer des actions en votre nom.

Cette politique accorde aux contributeurs des autorisations leur permettant AWS DMS de gérer les ressources du réseau.

**Détails de l’autorisation**

Cette politique inclut les opérations suivantes :
+ `ec2:CreateNetworkInterface`— AWS DMS a besoin de cette autorisation pour créer des interfaces réseau. Ces interfaces sont essentielles pour que l'instance de AWS DMS réplication puisse se connecter aux bases de données source et cible.
+ `ec2:DeleteNetworkInterface`— AWS DMS a besoin de cette autorisation pour nettoyer les interfaces réseau qu'il a créées une fois qu'elles ne sont plus nécessaires. Cela permet de gérer les ressources et d'éviter des coûts inutiles.
+ `ec2:DescribeAvailabilityZones`— Cette autorisation permet AWS DMS de récupérer des informations sur les zones de disponibilité d'une région. AWS DMS utilise ces informations pour s'assurer qu'il provisionne les ressources dans les zones appropriées en termes de redondance et de disponibilité.
+ `ec2:DescribeDhcpOptions`— AWS DMS récupère les détails du jeu d'options DHCP pour le VPC spécifié. Ces informations sont nécessaires pour configurer correctement le réseau pour les instances de réplication.
+ `ec2:DescribeInternetGateways`— AWS DMS peut avoir besoin de cette autorisation pour comprendre les passerelles Internet configurées dans le VPC. Ces informations sont cruciales si l'instance de réplication ou les bases de données ont besoin d'un accès Internet.
+ `ec2:DescribeNetworkInterfaces`— AWS DMS récupère des informations sur les interfaces réseau existantes au sein du VPC. Ces informations sont nécessaires AWS DMS pour configurer correctement les interfaces réseau et garantir une connectivité réseau appropriée pour le processus de migration.
+ `ec2:DescribeSecurityGroups`— Les groupes de sécurité contrôlent le trafic entrant et sortant vers les instances et les ressources. AWS DMS doit décrire les groupes de sécurité pour configurer correctement les interfaces réseau et garantir une bonne communication entre l'instance de réplication et les bases de données.
+ `ec2:DescribeSubnets`— Cette autorisation permet de AWS DMS répertorier les sous-réseaux d'un VPC. AWS DMS utilise ces informations pour lancer des instances de réplication dans les sous-réseaux appropriés, en s'assurant qu'elles disposent de la connectivité réseau nécessaire.
+ `ec2:DescribeVpcs`— VPCs La description est essentielle AWS DMS pour comprendre l'environnement réseau dans lequel résident l'instance de réplication et les bases de données. Cela inclut la connaissance des blocs CIDR et des autres configurations spécifiques au VPC.
+ `ec2:ModifyNetworkInterfaceAttribute`— Cette autorisation est requise AWS DMS pour modifier les attributs des interfaces réseau qu'il gère. Cela peut inclure le réglage des paramètres pour garantir la connectivité et la sécurité.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Sid": "Statement1",
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface",
				"ec2:DeleteNetworkInterface",
				"ec2:DescribeAvailabilityZones",
				"ec2:DescribeDhcpOptions",
				"ec2:DescribeInternetGateways",
				"ec2:DescribeNetworkInterfaces",
				"ec2:DescribeSecurityGroups",
				"ec2:DescribeSubnets",
				"ec2:DescribeVpcs",
				"ec2:ModifyNetworkInterfaceAttribute"
			],
			"Resource": "*"
		}
    ]
}
```

------

## AWS politique gérée : AWSDMSServerless ServiceRolePolicy
<a name="security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy"></a>

Cette politique est attachée au `AWSServiceRoleForDMSServerless` rôle, ce qui permet d' AWS DMS effectuer des actions en votre nom. Pour de plus amples informations, veuillez consulter [Rôle lié à un service pour AWS DMS](slr-services-sl.md).

Cette politique accorde aux contributeurs des autorisations leur permettant AWS DMS de gérer les ressources de réplication.

**Détails de l’autorisation**

Cette politique inclut les autorisations suivantes.
+ **AWS DMS**— Permet aux directeurs d'interagir avec les AWS DMS ressources.
+ **Amazon S3** — Permet à DMS de créer un compartiment S3 pour stocker une évaluation préalable à la migration. Le compartiment S3 est créé pour un utilisateur par région et sa politique de compartiment limite l'accès au seul rôle de service du service. 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "id0",
            "Effect": "Allow",
            "Action": [
                "dms:CreateReplicationInstance",
                "dms:CreateReplicationTask"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "dms:req-tag/ResourceCreatedBy": "DMSServerless"
                }
            }
        },
        {
            "Sid": "id1",
            "Effect": "Allow",
            "Action": [
                "dms:DescribeReplicationInstances",
                "dms:DescribeReplicationTasks"
            ],
            "Resource": "*"
        },
        {
            "Sid": "id2",
            "Effect": "Allow",
            "Action": [
                "dms:StartReplicationTask",
                "dms:StopReplicationTask",
                "dms:ModifyReplicationTask",
                "dms:DeleteReplicationTask",
                "dms:ModifyReplicationInstance",
                "dms:DeleteReplicationInstance"
            ],
            "Resource": [
                "arn:aws:dms:*:*:rep:*",
                "arn:aws:dms:*:*:task:*"
            ],
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "aws:ResourceTag/ResourceCreatedBy": "DMSServerless"
                }
            }
        },
        {
            "Sid": "id3",
            "Effect": "Allow",
            "Action": [
                "dms:TestConnection",
                "dms:DeleteConnection"
            ],
            "Resource": [
                "arn:aws:dms:*:*:rep:*",
                "arn:aws:dms:*:*:endpoint:*"
            ]
        },
        {
            "Sid": "id4",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObjectTagging"
            ],
            "Resource": [
                "arn:aws:s3:::dms-serverless-premigration-results-*",
                "arn:aws:s3:::dms-premigration-results-*"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "id5",
            "Effect": "Allow",
            "Action": [
                "s3:PutBucketPolicy",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:CreateBucket"
            ],
            "Resource": [
                "arn:aws:s3:::dms-serverless-premigration-results-*",
                "arn:aws:s3:::dms-premigration-results-*"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "id6",
            "Effect": "Allow",
            "Action": [
                "dms:StartReplicationTaskAssessmentRun"
            ],
            "Resource": [
                "arn:aws:dms:*:*:task:*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

## AWS politique gérée : Amazon DMSCloud WatchLogsRole
<a name="security-iam-awsmanpol-AmazonDMSCloudWatchLogsRole"></a>

Cette politique est attachée au `dms-cloudwatch-logs-role` rôle, ce qui permet d' AWS DMS effectuer des actions en votre nom. Pour de plus amples informations, veuillez consulter [Utilisation de rôles liés à un service pour AWS DMS](using-service-linked-roles.md).

Cette politique accorde aux contributeurs des autorisations leur permettant AWS DMS de publier des journaux de réplication dans des CloudWatch journaux.

**Détails de l’autorisation**

Cette politique inclut les autorisations suivantes.




+ `logs`— Permet aux principaux de publier des journaux dans CloudWatch Logs. Cette autorisation est requise pour AWS DMS pouvoir CloudWatch afficher les journaux de réplication.



------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribeOnAllLogGroups",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogGroups"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "AllowDescribeOfAllLogStreamsOnDmsTasksLogGroup",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogStreams"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:dms-tasks-*",
                "arn:aws:logs:*:*:log-group:dms-serverless-replication-*"
            ]
        },
        {
            "Sid": "AllowCreationOfDmsLogGroups",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:dms-tasks-*",
                "arn:aws:logs:*:*:log-group:dms-serverless-replication-*:log-stream:"
            ]
        },
        {
            "Sid": "AllowCreationOfDmsLogStream",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:dms-tasks-*:log-stream:dms-task-*",
                "arn:aws:logs:*:*:log-group:dms-serverless-replication-*:log-stream:dms-serverless-*"
            ]
        },
        {
            "Sid": "AllowUploadOfLogEventsToDmsLogStream",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:dms-tasks-*:log-stream:dms-task-*",
                "arn:aws:logs:*:*:log-group:dms-serverless-replication-*:log-stream:dms-serverless-*"
            ]
        }
    ]
}
```

------

## AWS politique gérée : AWSDMSFleet AdvisorServiceRolePolicy
<a name="security-iam-awsmanpol-AWSDMSFleetAdvisorServiceRolePolicy"></a>





Vous ne pouvez pas vous associer AWSDMSFleet AdvisorServiceRolePolicy à vos entités IAM. Cette politique est associée à un rôle lié au service qui permet à AWS DMS Fleet Advisor d'effectuer des actions en votre nom. Pour de plus amples informations, veuillez consulter [Utilisation de rôles liés à un service pour AWS DMS](using-service-linked-roles.md).



Cette politique accorde aux contributeurs des autorisations qui permettent à AWS DMS Fleet Advisor de publier CloudWatch des statistiques Amazon.



**Détails de l’autorisation**

Cette politique inclut les autorisations suivantes.




+ `cloudwatch`— Permet aux principaux de publier des points de données métriques sur Amazon CloudWatch. Cette autorisation est requise pour que AWS DMS Fleet Advisor puisse CloudWatch afficher des graphiques contenant des métriques de base de données.



------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Resource": "*",
        "Action": "cloudwatch:PutMetricData",
        "Condition": {
            "StringEquals": {
                "cloudwatch:namespace": "AWS/DMS/FleetAdvisor"
            }
        }
    }
}
```

------

## AWS politique gérée : Amazon DMSRedshift S3Role
<a name="security-iam-awsmanpol-AmazonDMSRedshiftS3Role"></a>

Cette politique fournit des autorisations qui permettent AWS DMS de gérer les paramètres S3 pour les points de terminaison Redshift.

**Détails de l’autorisation**

Cette politique inclut les opérations suivantes :
+ `s3:CreateBucket`- Permet à DMS de créer des compartiments S3 avec le préfixe « dms- »
+ `s3:ListBucket`- Permet à DMS de répertorier le contenu des compartiments S3 avec le préfixe « dms- »
+ `s3:DeleteBucket `- Permet à DMS de supprimer les compartiments S3 avec le préfixe « dms- »
+ `s3:GetBucketLocation`- Permet à DMS de récupérer la région où se trouve un compartiment S3
+ `s3:GetObject`- Permet à DMS de récupérer des objets dans des compartiments S3 avec le préfixe « dms- »
+ `s3:PutObject`- Permet à DMS d'ajouter des objets aux compartiments S3 avec le préfixe « dms- »
+ `s3:DeleteObject`- Permet à DMS de supprimer des objets des compartiments S3 avec le préfixe « dms- »
+ `s3:GetObjectVersion`- Permet à DMS de récupérer des versions spécifiques d'objets dans des compartiments versionnés
+ `s3:GetBucketPolicy`- Permet au DMS de récupérer les politiques relatives aux compartiments
+ `s3:PutBucketPolicy`- Permet à DMS de créer ou de mettre à jour des politiques de compartiment
+ `s3:GetBucketAcl`- Permet au DMS de récupérer les listes de contrôle d'accès aux compartiments () ACLs
+ `s3:PutBucketVersioning`- Permet à DMS d'activer ou de suspendre la gestion des versions sur les buckets
+ `s3:GetBucketVersioning`- Permet à DMS de récupérer le statut de version des buckets
+ `s3:PutLifecycleConfiguration`- Permet au DMS de créer ou de mettre à jour des règles de cycle de vie pour les buckets
+ `s3:GetLifecycleConfiguration`- Permet au DMS de récupérer les règles de cycle de vie configurées pour les buckets
+ `s3:DeleteBucketPolicy`- Permet à DMS de supprimer les politiques relatives aux compartiments

Toutes ces autorisations s'appliquent uniquement aux ressources avec un modèle ARN : `arn:aws:s3:::dms-*`

**Document de politique JSON**

------
#### [ JSON ]

****  

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

------





## AWS DMS mises à jour des politiques AWS gérées
<a name="security-iam-awsmanpol-updates"></a>



Consultez les détails des mises à jour des politiques AWS gérées AWS DMS depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques concernant les modifications apportées à cette page, abonnez-vous au flux RSS sur la page Historique du AWS DMS document.




| Modifier | Description | Date | 
| --- | --- | --- | 
|  [AWSDMSServerlessServiceRolePolicy](#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy)— Modification  |  AWS DMS mis `AWSDMSServerlessServiceRolePolicy` à jour pour permettre à DMS de créer des compartiments S3 et de placer les résultats de l'évaluation préalable à la migration dans ces compartiments pour les tâches de réplication non liées au DMS sans serveur.  | 5 novembre 2025 | 
|  [Rôle lié à un service pour AWS DMS Serverless — Modifier](slr-services-sl.md)  |  AWS DMS mis `AWSDMSServerlessServiceRolePolicy` à jour pour permettre `dms:StartReplicationTaskAssessmentRun` de prendre en charge les évaluations de prémigration. AWS DMS a également mis à jour le rôle lié au service sans serveur afin de créer des compartiments S3 et de placer les résultats de l'évaluation préalable à la migration dans ces compartiments.  | 14 février 2025 | 
|  [AWSDMSServerlessServiceRolePolicy](#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy)— Modification  |  AWS DMS ajouté`dms:ModifyReplicationTask`, ce qui est requis par AWS DMS Serverless pour appeler l'`ModifyReplicationTask`opération de modification d'une tâche de réplication. AWS DMS ajouté`dms:ModifyReplicationInstance`, ce qui est requis par AWS DMS Serverless pour appeler `ModifyReplicationInstance` l'opération de modification d'une instance de réplication.  | 17 janvier 2025 | 
|  [Amazon DMSVPCManagement Role](#security-iam-awsmanpol-AmazonDMSVPCManagementRole) — Modifier  |  AWS DMS ajoutés `ec2:DescribeDhcpOptions` et `ec2:DescribeNetworkInterfaces` opérations permettant de AWS DMS gérer les paramètres réseau en votre nom.  | 17 juin 2024 | 
|  [AWSDMSServerlessServiceRolePolicy](#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy) : nouvelle politique  |  AWS DMS a ajouté le `AWSDMSServerlessServiceRolePolicy` rôle pour permettre AWS DMS de créer et de gérer des services en votre nom, tels que la publication de CloudWatch statistiques Amazon.  | 22 mai 2023 | 
|  [Amazon DMSCloud WatchLogsRole](#security-iam-awsmanpol-AmazonDMSCloudWatchLogsRole) — Modifier  |  AWS DMS a ajouté l'ARN pour les ressources sans serveur à chacune des autorisations accordées, afin de permettre le téléchargement des journaux de AWS DMS réplication des configurations de réplication sans serveur vers Logs. CloudWatch   | 22 mai 2023 | 
|  [AWSDMSFleetAdvisorServiceRolePolicy](#security-iam-awsmanpol-AWSDMSFleetAdvisorServiceRolePolicy) : nouvelle politique  |  AWS DMS Fleet Advisor a ajouté une nouvelle politique autorisant la publication de points de données métriques sur Amazon CloudWatch.  | 06 mars 2023 | 
|  AWS DMS a commencé à suivre les modifications  |  AWS DMS a commencé à suivre les modifications apportées AWS à ses politiques gérées.  | 06 mars 2023 | 

# Validation de conformité pour AWS Database Migration Service
<a name="dms-compliance"></a>

Des auditeurs tiers évaluent la sécurité et AWS Database Migration Service la conformité de plusieurs programmes de AWS conformité. Ces programmes sont les suivants :
+  SOC
+ PCI
+ ISO
+ FedRAMP
+ DoD CC SRG
+ HIPAA BAA
+ MTCS
+ CS
+ K-ISMS
+ ENS High
+ OSPAR
+ HITRUST CSF

Pour obtenir la liste des AWS services concernés par des programmes de conformité spécifiques, voir [AWS Services concernés par programme de conformitéAWS](https://aws.amazon.com/compliance/services-in-scope/) . Pour des informations générales, consultez [AWS la section Programmes de conformité Programmes AWS](https://aws.amazon.com/compliance/programs/) .

Vous pouvez télécharger des rapports d'audit tiers à l'aide de AWS Artifact. Pour plus d'informations, voir [Téléchargement de rapports dans AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Votre responsabilité en matière de conformité lors de l'utilisation AWS DMS est déterminée par la sensibilité de vos données, les objectifs de conformité de votre entreprise et les lois et réglementations applicables. AWS fournit les ressources suivantes pour faciliter la mise en conformité :
+ [Guides de démarrage rapide de la sécurité et de la conformité](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) : ces guides de déploiement traitent de considérations architecturales et indiquent comment déployer des environnements de référence axés sur la sécurité et la conformité sur AWS.
+ Livre blanc [Architecting for HIPAA security and compliance on Amazon Web Services — Ce livre blanc](https://docs.aws.amazon.com/whitepapers/latest/architecting-hipaa-security-and-compliance-on-aws/architecting-hipaa-security-and-compliance-on-aws.html) décrit comment les entreprises peuvent créer des applications conformes à la loi HIPAA. AWS 
+ AWS ressources de [https://aws.amazon.com/compliance/resources/](https://aws.amazon.com/compliance/resources/) de conformité — Cette collection de classeurs et de guides peut s'appliquer à votre secteur d'activité et à votre région.
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)— Ce AWS service évalue dans quelle mesure les configurations de vos ressources sont conformes aux pratiques internes, aux directives du secteur et aux réglementations.
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)— Ce AWS service fournit une vue complète de l'état de votre sécurité interne, AWS ce qui vous permet de vérifier votre conformité aux normes et aux meilleures pratiques du secteur de la sécurité.

# Résilience dans AWS Database Migration Service
<a name="disaster-recovery-resiliency"></a>

L'infrastructure AWS mondiale est construite autour des AWS régions et des zones de disponibilité. AWS Les régions fournissent plusieurs zones de disponibilité physiquement séparées et isolées, connectées par un réseau à faible latence, à haut débit et hautement redondant. Avec les zones de disponibilité, vous pouvez concevoir et exploiter des applications et des bases de données qui basculent automatiquement d’une zone de disponibilité à l’autre sans interruption. Les zones de disponibilité sont plus hautement disponibles, tolérantes aux pannes et évolutives que les infrastructures traditionnelles à un ou plusieurs centres de données. 

Pour plus d'informations sur AWS les régions et les zones de disponibilité, consultez la section [Infrastructure AWS globale](https://aws.amazon.com/about-aws/global-infrastructure/).

Outre l'infrastructure AWS globale, AWS DMS fournit une haute disponibilité et un support de basculement pour une instance de réplication à l'aide d'un déploiement multi-AZ lorsque vous choisissez l'option **Multi-AZ**.

Dans un déploiement multi-AZ, AWS DMS provisionne et gère automatiquement une réplique de secours de l'instance de réplication dans une autre zone de disponibilité. L'instance de réplication principale est répliquée de manière synchrone vers le réplica de secours. Si l'instance de réplication principale échoue ou ne répond plus, l'instance de secours reprend toutes les tâches en cours avec une interruption minimale. Comme l'instance principale réplique constamment son état vers l'instance de secours, un déploiement multi-AZ occasionne une certaine dégradation des performances.

Pour plus d'informations sur le fonctionnement des déploiements Multi-AZ, consultez [Utilisation d'une instance AWS DMS de réplication](CHAP_ReplicationInstance.md).

# Sécurité de l'infrastructure dans AWS Database Migration Service
<a name="infrastructure-security"></a>

En tant que service géré, AWS Database Migration Service il est protégé par la sécurité du réseau AWS mondial. Pour plus d'informations sur les services AWS de sécurité et sur la manière dont AWS l'infrastructure est protégée, consultez la section [Sécurité du AWS cloud](https://aws.amazon.com/security/). Pour concevoir votre AWS environnement en utilisant les meilleures pratiques en matière de sécurité de l'infrastructure, consultez la section [Protection de l'infrastructure](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) dans le cadre * AWS bien architecturé du pilier de sécurité*.

Vous utilisez des appels d'API AWS publiés pour accéder AWS DMS via le réseau. Les clients doivent prendre en charge les éléments suivants :
+ Protocole TLS (Transport Layer Security). Nous exigeons TLS 1.2 et recommandons TLS 1.3.
+ Ses suites de chiffrement PFS (Perfect Forward Secrecy) comme DHE (Ephemeral Diffie-Hellman) ou ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). La plupart des systèmes modernes tels que Java 7 et les versions ultérieures prennent en charge ces modes.

Vous pouvez appeler ces opérations d'API depuis n'importe quel emplacement du réseau. AWS DMS prend également en charge les politiques d'accès basées sur les ressources, qui peuvent spécifier des restrictions sur les actions et les ressources, par exemple en fonction de l'adresse IP source. En outre, vous pouvez utiliser des AWS DMS politiques pour contrôler l'accès depuis des points de terminaison Amazon VPC spécifiques ou des clouds privés virtuels spécifiques (). VPCs En fait, cela isole l'accès réseau à une AWS DMS ressource donnée uniquement du VPC spécifique au sein AWS du réseau. Pour plus d'informations sur l'utilisation de politiques d'accès basées sur les ressources avec AWS DMS, notamment des exemples, voir. [Contrôle précis des accès à l'aide des noms de ressources et des balises](CHAP_Security.FineGrainedAccess.md)

Pour limiter vos communications AWS DMS au sein d'un seul VPC, vous pouvez créer un point de terminaison d'interface VPC auquel vous pouvez vous connecter via. AWS DMS AWS PrivateLink AWS PrivateLink permet de garantir que tout appel AWS DMS et les résultats associés restent confinés au VPC spécifique pour lequel le point de terminaison de votre interface est créé. Vous pouvez ensuite spécifier l'URL de ce point de terminaison d'interface en tant qu'option pour chaque AWS DMS commande que vous exécutez à l'aide du SDK AWS CLI ou d'un SDK. Cela permet de garantir que l'ensemble de vos communications AWS DMS reste confiné au VPC et soit autrement invisible pour l'Internet public.

**Pour créer un point de terminaison d’interface afin d’accéder à DMS dans un seul VPC**

1. Connectez-vous à la console Amazon VPC AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Dans le volet de navigation, choisissez **Points de terminaison**. Cela ouvre la page **Créer des points de terminaison**, où vous pouvez créer le point de terminaison d'interface d'un AWS DMS VPC à.

1. Choisissez **AWS les services**, puis recherchez et choisissez une valeur pour le **nom du service**, dans ce cas AWS DMS sous la forme suivante.

   ```
   com.amazonaws.region.dms
   ```

   *`region`*Spécifie ici la AWS région dans laquelle AWS DMS s'exécute, par exemple`com.amazonaws.us-west-2.dms`.

1. Pour **VPC**, choisissez le VPC à partir duquel créer le point de terminaison d’interface, par exemple `vpc-12abcd34`.

1. Choisissez une valeur pour **Zone de disponibilité** et pour **ID de sous-réseau**. Ces valeurs doivent indiquer un emplacement où le point de terminaison AWS DMS que vous avez choisi peut s’exécuter, par exemple `us-west-2a (usw2-az1)` et `subnet-ab123cd4`.

1. Choisissez **Activer le nom DNS** pour créer le point de terminaison avec un nom DNS. Ce nom DNS se compose de l’identifiant du point de terminaison (`vpce-12abcd34efg567hij`) accompagné d’un trait d’union et d’une chaîne aléatoire (`ab12dc34`). Ils sont séparés du nom du service par un point dans l’ordre inverse séparé par des points, avec l’ajout de `vpce` (`dms.us-west-2.vpce.amazonaws.com`). 

   Par exemple : `vpce-12abcd34efg567hij-ab12dc34.dms.us-west-2.vpce.amazonaws.com`.

1. Pour **Groupe de sécurité**, choisissez un groupe à utiliser pour le point de terminaison.

   Lorsque vous configurez votre groupe de sécurité, assurez-vous d’autoriser les appels HTTPS sortants en provenance de celui-ci. Pour plus d’informations, consultez [Création de groupes de sécurité](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups) dans le *Guide de l’utilisateur Amazon VPC*. 

1. Choisissez **Accès complet** ou une valeur personnalisée pour **Politique**. Par exemple, vous pouvez choisir une politique personnalisée similaire à la suivante qui restreint l’accès du point de terminaison à certaines actions et ressources.

   ```
   {
     "Statement": [
       {
         "Action": "dms:*",
         "Effect": "Allow",
         "Resource": "*",
         "Principal": "*"
       },
       {
         "Action": [
           "dms:ModifyReplicationInstance",
           "dms:DeleteReplicationInstance"
         ],
         "Effect": "Deny",
         "Resource": "arn:aws:dms:us-west-2:<account-id>:rep:<replication-instance-id>",
         "Principal": "*"
       }
     ]
   }
   ```

   Ici, l'exemple de politique autorise n'importe quel appel AWS DMS d'API, à l'exception de la suppression ou de la modification d'une instance de réplication spécifique.

Vous pouvez désormais spécifier une URL formée à l’aide du nom DNS créé à l’étape 6 en option. Vous le spécifiez pour chaque commande AWS DMS CLI ou opération d'API permettant d'accéder à l'instance de service à l'aide du point de terminaison d'interface créé. Par exemple, vous pouvez exécuter la commande CLI DMS `DescribeEndpoints` dans ce VPC comme indiqué ci-dessous.

```
$ aws dms describe-endpoints --endpoint-url https://vpce-12abcd34efg567hij-ab12dc34.dms.us-west-2.vpce.amazonaws.com
```

Si vous activez l’option de DNS privé, vous n’avez pas à spécifier l’URL du point de terminaison dans la demande.

*Pour plus d'informations sur la création et l'utilisation des points de terminaison d'interface VPC (y compris l'activation de l'option DNS privé), consultez la section Points de [terminaison VPC d'interface () dans AWS PrivateLink le guide de l'](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)utilisateur Amazon VPC.*

# Contrôle précis des accès à l'aide des noms de ressources et des balises
<a name="CHAP_Security.FineGrainedAccess"></a>

Vous pouvez utiliser des noms de ressources et des balises de ressources basés sur Amazon Resource Names (ARNs) pour gérer l'accès aux AWS DMS ressources. Pour ce faire, définissez l'action autorisée ou incluez les instructions conditionnelles dans les stratégies IAM. 

## Utilisation des noms de ressources pour contrôler l'accès
<a name="CHAP_Security.FineGrainedAccess.ResourceName"></a>

Vous pouvez créer un compte utilisateur IAM et attribuer une stratégie basée sur l'ARN de la ressource AWS DMS .

La politique suivante refuse l'accès à l'instance de AWS DMS réplication avec l'ARN *arn:aws:dms:us-east* - 1:152683116:rep : ZTOXGLIXMIHKITV : DOH67

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "dms:*"
            ],
            "Effect": "Deny",
            "Resource": "arn:aws:dms:us-east-1:111122223333:rep:DOH67ZTOXGLIXMIHKITV"
        }
    ]
}
```

------

Par exemple, les commandes suivantes échouent lorsque la stratégie est en vigueur.

```
$ aws dms delete-replication-instance 
   --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV"

A client error (AccessDeniedException) occurred when calling the DeleteReplicationInstance 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:DeleteReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV

$ aws dms modify-replication-instance 
   --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV"

A client error (AccessDeniedException) occurred when calling the ModifyReplicationInstance 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:ModifyReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV
```

Vous pouvez également définir des politiques IAM qui limitent l'accès aux AWS DMS points de terminaison et aux tâches de réplication.

La politique suivante limite l'accès à un AWS DMS point de terminaison à l'aide de l'ARN du point de terminaison.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "dms:*"
            ],
            "Effect": "Deny",
            "Resource": "arn:aws:dms:us-east-1:111122223333:endpoint:D6E37YBXTNHOA6XRQSZCUGX"
        }
    ]
}
```

------

Par exemple, les commandes suivantes échouent si la stratégie qui utilise l'ARN du point de terminaison est en vigueur.

```
$ aws dms delete-endpoint 
   --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX"

A client error (AccessDeniedException) occurred when calling the DeleteEndpoint operation: 
User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteEndpoint 
on resource: arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX

$ aws dms modify-endpoint 
   --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX"     

A client error (AccessDeniedException) occurred when calling the ModifyEndpoint operation: 
User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyEndpoint 
on resource: arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX
```

La politique suivante limite l'accès à une AWS DMS tâche à l'aide de l'ARN de la tâche.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "dms:*"
            ],
            "Effect": "Deny",
            "Resource": "arn:aws:dms:us-east-1:111122223333:task:UO3YR4N47DXH3ATT4YMWOIT"
        }
    ]
}
```

------

Par exemple, les commandes suivantes échouent si la stratégie utilisant l'ARN de la tâche est en vigueur.

```
$ aws dms delete-replication-task 
   --replication-task-arn "arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT"

A client error (AccessDeniedException) occurred when calling the DeleteReplicationTask operation: 
User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationTask 
on resource: arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT
```

## Utilisation de balises pour contrôler l'accès
<a name="CHAP_Security.FineGrainedAccess.Tags"></a>

AWS DMS définit un ensemble de paires clé-valeur communes qui peuvent être utilisées dans les politiques définies par le client sans aucune exigence de balisage supplémentaire. Pour plus d'informations sur le balisage AWS DMS des ressources, consultez[Marquage des ressources dans AWS Database Migration Service](CHAP_Tagging.md). 

La liste suivante répertorie les balises standard pouvant être utilisées avec AWS DMS : 
+  aws : CurrentTime — Représente la date et l'heure de la demande, permettant de restreindre l'accès en fonction de critères temporels. 
+  aws : EpochTime — Cette balise est similaire à la CurrentTime balise aws : précédente, sauf que l'heure actuelle est représentée par le nombre de secondes écoulées depuis l'ère Unix. 
+  aws : MultiFactorAuthPresent — Il s'agit d'une balise booléenne qui indique si la demande a été signée via une authentification à plusieurs facteurs. 
+  aws : MultiFactorAuthAge — Permet d'accéder à l'âge du jeton d'authentification multifactoriel (en secondes). 
+  aws:principaltype : fournit l’accès au type de principal (utilisateur, compte, utilisateur fédéré, etc.) pour la demande actuelle. 
+  aws : SourceIp — Représente l'adresse IP source de l'utilisateur qui émet la demande. 
+  aws : UserAgent — Fournit des informations sur l'application cliente demandant une ressource. 
+  aws:userid – fournit l'accès à l'ID de l'utilisateur émettant la demande. 
+  aws:username – fournit l'accès au nom de l'utilisateur émettant la demande. 
+  dms : InstanceClass — Permet d'accéder à la taille de calcul du ou des hôtes de l'instance de réplication. 
+  dms : StorageSize — Permet d'accéder à la taille du volume de stockage (en Go). 

Vous pouvez également définir vos propres balises. Les balises définies par le client sont de simples paires clé-valeur qui sont conservées dans le service de balisage. AWS Vous pouvez les ajouter aux ressources AWS DMS , y compris les instances de réplication, les points de terminaison et les tâches. Ces balises sont mises en correspondance via les instructions « conditionnelles » IAM des stratégies et sont référencées à l'aide d'une balise conditionnelle spécifique. Les clés de balise sont préfixées par « dms », le type de ressource et le préfixe « tag ». Le format de balise est le suivant.

```
dms:{resource type}-tag/{tag key}={tag value}
```

Par exemple, supposons que vous vouliez définir une stratégie permettant qu'un appel d'API ne réussisse que pour une instance de réplication contenant la balise « stage=production ». L'instruction conditionnelle suivante correspond à une ressource avec la balise donnée.

```
"Condition":
{
    "streq":
        {
            "dms:rep-tag/stage":"production"
        }
}
```

Vous devez ajouter la balise suivante à une instance de réplication correspondant à cette condition de stratégie. 

```
stage production
```

Outre les balises déjà attribuées aux AWS DMS ressources, des politiques peuvent également être rédigées pour limiter les clés de balise et les valeurs qui peuvent être appliquées à une ressource donnée. Dans ce cas, le préfixe de balise est « req ». 

Par exemple, la déclaration de stratégie suivante limite les balises qu'un utilisateur peut attribuer à une ressource donnée pour une liste spécifique de valeurs autorisées.

```
 "Condition":
{
    "streq":
        {
            "dms:rep-tag/stage": [ "production", "development", "testing" ]
        }
}
```

Les exemples de politique suivants limitent l'accès à une AWS DMS ressource en fonction des balises de ressource.

La stratégie suivante limite l'accès à une instance de réplication où la valeur de balise est « Desktop » et la clé de balise « Env » :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "dms:*"
            ],
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "dms:rep-tag/Env": [
                        "Desktop"
                    ]
                }
            }
        }
    ]
}
```

------

Les commandes suivantes réussissent ou échouent en fonction de la stratégie IAM qui restreint l'accès lorsque la valeur de balise est « Desktop » et la clé de balise « Env ».

```
$ aws dms list-tags-for-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN 
   --endpoint-url http://localhost:8000                                   
{
    "TagList": [
        {
            "Value": "Desktop", 
            "Key": "Env"
        }
    ]
}

$ aws dms delete-replication-instance 
   --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN"
A client error (AccessDeniedException) occurred when calling the DeleteReplicationInstance 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:DeleteReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

$ aws dms modify-replication-instance 
   --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN" 

A client error (AccessDeniedException) occurred when calling the ModifyReplicationInstance 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:ModifyReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

$ aws dms add-tags-to-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN 
   --tags Key=CostCenter,Value=1234 

A client error (AccessDeniedException) occurred when calling the AddTagsToResource 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

$ aws dms remove-tags-from-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN 
   --tag-keys Env             

A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN
```

La politique suivante limite l'accès à un AWS DMS point de terminaison dont la valeur de balise est « Desktop » et la clé de balise est « Env ».

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "dms:*"
            ],
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "dms:endpoint-tag/Env": [
                        "Desktop"
                    ]
                }
            }
        }
    ]
}
```

------

Les commandes suivantes réussissent ou échouent en fonction de la stratégie IAM qui restreint l'accès lorsque la valeur de balise est « Desktop » et la clé de balise « Env ».

```
$ aws dms list-tags-for-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I
{
    "TagList": [
        {
            "Value": "Desktop", 
            "Key": "Env"
        }
    ]
}

$ aws dms delete-endpoint 
   --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I"

A client error (AccessDeniedException) occurred when calling the DeleteEndpoint 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:DeleteEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

$ aws dms modify-endpoint 
   --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I"    

A client error (AccessDeniedException) occurred when calling the ModifyEndpoint 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:ModifyEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

$ aws dms add-tags-to-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I 
   --tags Key=CostCenter,Value=1234

A client error (AccessDeniedException) occurred when calling the AddTagsToResource 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

$ aws dms remove-tags-from-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I 
   --tag-keys Env

A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I
```

La stratégie suivante limite l'accès à une tâche de réplication où la valeur de balise est « Desktop » et la clé de balise « Env ».

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "dms:*"
            ],
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "dms:task-tag/Env": [
                        "Desktop"
                    ]
                }
            }
        }
    ]
}
```

------

Les commandes suivantes réussissent ou échouent en fonction de la stratégie IAM qui restreint l'accès lorsque la valeur de balise est « Desktop » et la clé de balise « Env ».

```
$ aws dms list-tags-for-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3
{
    "TagList": [
        {
            "Value": "Desktop", 
            "Key": "Env"
        }
    ]
}

$ aws dms delete-replication-task 
   --replication-task-arn "arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3"

A client error (AccessDeniedException) occurred when calling the DeleteReplicationTask 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:DeleteReplicationTask on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3

$ aws dms add-tags-to-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 
   --tags Key=CostCenter,Value=1234

A client error (AccessDeniedException) occurred when calling the AddTagsToResource 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3

$ aws dms remove-tags-from-resource 
   --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 
   --tag-keys Env

A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource 
operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: 
dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3
```

## Chiffrement pour des migrations AWS DMS homogènes
<a name="CHAP_Security.Migrations"></a>

AWS DMS les migrations homogènes chiffrent également les ressources utilisées pour vos migrations de données, y compris le stockage et les autres composants. Si vous ne spécifiez pas de clé gérée par le client, les migrations AWS DMS homogènes utilisent automatiquement une clé AWS détenue pour chiffrer vos ressources.

Lorsque vous utilisez une clé gérée par le client, les migrations AWS DMS homogènes créent des autorisations sur votre clé afin de permettre au service de chiffrer et de déchiffrer les ressources selon les besoins. Ces subventions sont gérées automatiquement dans le cadre du cycle de vie de la migration.

**Utilisation d'une clé gérée par le client avec des migrations homogènes**

Pour utiliser une clé gérée par le client pour votre migration homogène, ajoutez les autorisations suivantes aux autorisations IAM que vous devez accorder au compte utilisateur IAM pour utiliser des migrations AWS DMS homogènes :

```
{
    "Effect": "Allow",
    "Action": [
        "kms:CreateGrant",
        "kms:DescribeKey",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKeyWithoutPlaintext"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "kms:ViaService": [
                "dms.us-west-2.amazonaws.com", 
                "elasticfilesystem.us-west-2.amazonaws.com"
            ]
        }
    }
}
```

DMS créera une subvention interne pour accéder aux clés de chiffrement et les gérer au cours du processus de migration. Afin de préciser davantage l' CreateGrant opération, les limites suivantes peuvent être appliquées à votre politique clé gérée par le client :

```
{
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
  },
  "Action": "kms:CreateGrant",
  "Resource": "*",
  "Condition": {
    "ForAllValues:StringEquals": {
      "kms:GrantOperations": [
        "CreateGrant",
        "DescribeKey",
        "Encrypt",
        "Decrypt",
        "RetireGrant",
        "GenerateDataKeyWithoutPlaintext"
      ]
    },
    "StringEquals": {
      "kms:ViaService": [
            "dms.us-west-2.amazonaws.com", 
            "elasticfilesystem.us-west-2.amazonaws.com"
      ]
    }
  }
}
```

**Important**  
Les contraintes de contexte de chiffrement supplémentaires ne sont pas prises en charge pour le moment. L'inclusion de telles contraintes entraînera l'échec de la migration.

## Configuration d'une clé de chiffrement et spécification AWS KMS des autorisations
<a name="CHAP_Security.EncryptionKey"></a>

AWS DMS chiffre le stockage utilisé par une instance de réplication et les informations de connexion du point de terminaison. Pour chiffrer le stockage utilisé par une instance de réplication, AWS DMS utilisez une clé AWS Key Management Service (AWS KMS) propre à votre AWS compte. Vous pouvez consulter et gérer cette clé avec AWS KMS. Vous pouvez utiliser la clé KMS par défaut de votre compte (`aws/dms`) ou créer une clé KMS personnalisée. Si vous disposez d'une clé KMS existante, vous pouvez également utiliser cette clé pour le chiffrement.

**Note**  
Toute AWS KMS clé personnalisée ou existante que vous utilisez comme clé de chiffrement doit être une clé symétrique. AWS DMS ne prend pas en charge l'utilisation de clés de chiffrement asymétriques. Pour plus d’informations sur les clés de chiffrement symétriques et asymétriques, consultez [https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) dans le *Guide du développeur AWS Key Management Service *.

La clé KMS par défaut (`aws/dms`) est créée lorsque vous lancez pour la première fois une instance de réplication, si vous n’avez pas sélectionné une clé KMS personnalisée dans la section **Avancé** de la page **Créer une instance de réplication**. Si vous utilisez la clé KMS par défaut, les seules autorisations que vous devez accorder au compte utilisateur IAM que vous utilisez pour la migration sont `kms:ListAliases` et `kms:DescribeKey`. Pour en savoir plus sur l'utilisation de la clé KMS par défaut, consultez [Autorisations IAM nécessaires pour utiliser AWS DMS](security-iam.md#CHAP_Security.IAMPermissions). 

Pour utiliser une clé KMS personnalisée, vous devez attribuer des autorisations pour la clé KMS personnalisée en appliquant l'une des options suivantes :
+ Ajoutez le compte utilisateur IAM utilisé pour la migration en tant qu'administrateur clé ou utilisateur clé pour la clé AWS KMS personnalisée. Cela permettra de garantir l'attribution des autorisations AWS KMS requises au compte utilisateur IAM. Cette action est effectuée en plus des autorisations IAM que vous devez attribuer au compte utilisateur IAM pour utiliser AWS DMS. Pour plus d’informations sur l’octroi d’autorisations à un utilisateur de clé, consultez [Autoriser les utilisateurs de clé à utiliser la clé KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) dans le *Guide du développeur AWS Key Management Service *.
+ Si vous ne souhaitez pas ajouter le compte utilisateur IAM en tant qu'administrateur ou utilisateur de la clé pour la clé KMS personnalisée, ajoutez les autorisations suivantes aux autorisations IAM qui doivent être accordées au compte utilisateur IAM pour utiliser AWS DMS. 

  ```
  {
              "Effect": "Allow",
              "Action": [
                  "kms:ListAliases",
                  "kms:DescribeKey",
                  "kms:CreateGrant",
                  "kms:Encrypt",
                  "kms:ReEncrypt*"
              ],
              "Resource": "*"
          },
  ```

AWS DMS fonctionne également avec les alias de clé KMS. Pour plus d’informations sur la création de vos propres clés AWS KMS et sur la configuration de l’accès des utilisateurs à une clé KMS, consultez le *[Guide du développeur AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)*. 

Si vous ne spécifiez pas d'identifiant de clé KMS, AWS DMS utilise votre clé de chiffrement par défaut. AWS KMS crée la clé de chiffrement par défaut AWS DMS pour votre AWS compte. Votre AWS compte possède une clé de chiffrement par défaut différente pour chaque AWS région. 

Pour gérer les AWS KMS clés utilisées pour chiffrer vos AWS DMS ressources, utilisez le AWS Key Management Service. AWS KMS combine du matériel et des logiciels sécurisés et hautement disponibles pour fournir un système de gestion des clés adapté au cloud. À l'aide de AWS KMS, vous pouvez créer des clés de chiffrement et définir les politiques qui contrôlent la manière dont ces clés peuvent être utilisées.

**Vous pouvez trouver AWS KMS dans le AWS Management Console**

1. Connectez-vous à la console AWS Key Management Service (AWS KMS) AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/kms.](https://console.aws.amazon.com/kms)

1. Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.

1. Choisissez l'une des options suivantes pour utiliser les AWS KMS touches :
   + Pour afficher les clés de votre compte qui AWS crée et gère pour vous, dans le volet de navigation, choisissez **les clés AWS gérées**.
   + Pour afficher les clés de votre compte que vous créez et gérez vous-même, dans le volet de navigation, choisissez **Clés gérées par le client**.

AWS KMS prend en charge AWS CloudTrail, afin que vous puissiez auditer l'utilisation des clés pour vérifier que les clés sont utilisées de manière appropriée. Vos AWS KMS clés peuvent être utilisées en combinaison avec AWS DMS des AWS services pris en charge tels qu'Amazon RDS, Amazon S3, Amazon Redshift et Amazon EBS. 

Vous pouvez également créer des AWS KMS clés personnalisées spécifiquement pour chiffrer les données cibles pour les points de AWS DMS terminaison suivants :
+ Amazon Redshift : pour plus d’informations, consultez [Création et utilisation de AWS KMS clés pour chiffrer les données cibles d'Amazon Redshift](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys).
+ Amazon S3 : pour plus d’informations, consultez [Création de AWS KMS clés pour chiffrer les objets cibles d'Amazon S3](CHAP_Target.S3.md#CHAP_Target.S3.KMSKeys).

Une fois que vous avez créé vos AWS DMS ressources avec une clé KMS, vous ne pouvez pas modifier la clé de chiffrement de ces ressources. Assurez-vous de déterminer vos exigences en matière de clé de chiffrement avant de créer vos AWS DMS ressources. 

## Sécurité du réseau pour AWS Database Migration Service
<a name="CHAP_Security.Network"></a>

Les exigences de sécurité pour le réseau que vous créez lors de l'utilisation AWS Database Migration Service dépendent de la façon dont vous configurez le réseau. Les règles générales relatives à la sécurité du réseau AWS DMS sont les suivantes : 
+ L'instance de réplication doit avoir accès aux points de terminaison source et cible. Le groupe de sécurité de l'instance de réplication doit disposer d'un réseau ACLs ou de règles autorisant la sortie de l'instance sur le port de base de données vers les points de terminaison de la base de données.
+ Les points de terminaison de base de données doivent inclure des règles de réseau ACLs et de groupe de sécurité qui autorisent l'accès entrant depuis l'instance de réplication. Vous pouvez atteindre cet objectif à l'aide du groupe de sécurité de l'instance de réplication, l'adresse IP privée, l'adresse IP publique ou l'adresse publique de la passerelle NAT, selon votre configuration. 
+ Si votre réseau utilise un tunnel VPN, l’instance Amazon EC2 qui agit comme la passerelle NAT doit utiliser un groupe de sécurité possédant des règles qui permettent à l’instance de réplication d’envoyer le trafic par son intermédiaire.

Par défaut, le groupe de sécurité VPC utilisé par l'instance de AWS DMS réplication possède des règles qui autorisent la sortie vers 0.0.0.0/0 sur tous les ports. Si vous modifiez ce groupe de sécurité ou que vous utilisez votre propre groupe de sécurité, le trafic sortant doit, au minimum, être autorisé sur les points de terminaison sources et cibles des ports de base de données respectifs.

Les configurations de réseau que vous pouvez utiliser pour la migration de base de données chaque requièrent toutes des normes de sécurité spécifiques :
+  [Configuration avec tous les composants de migration de base de données dans un VPC](CHAP_ReplicationInstance.VPC.md#CHAP_ReplicationInstance.VPC.Configurations.ScenarioAllVPC) : le groupe de sécurité utilisé par les points de terminaison doit autoriser le trafic entrant sur le port de base de données à partir de l’instance de réplication. Veillez que le groupe de sécurité utilisé par l'instance de réplication dispose du trafic entrant vers les points de terminaison, ou créez une règle dans le groupe de sécurité utilisé par les points de terminaison qui autorise l'adresse IP privée de l'accès à la réplication d'instance. 
+  [Configuration avec plusieurs VPCs](CHAP_ReplicationInstance.VPC.md#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer) : le groupe de sécurité utilisé par l’instance de réplication doit avoir une règle pour la plage VPC et le port de base de données sur la base de données. 
+  [Configuration d'un réseau vers un VPC à l'aide Direct Connect d'un VPN](CHAP_ReplicationInstance.VPC.md#CHAP_ReplicationInstance.VPC.Configurations.ScenarioDirect) : tunnel VPN autorisant le trafic à accéder du VPC à un VPN sur site. Dans cette configuration, le VPC comporte une règle de routage qui envoie le trafic destiné à une adresse IP spécifique ou une plage vers un hôte qui peut acheminer le trafic du VPC vers le VPN sur site. Dans ce cas, l'hôte NAT inclut ses propres paramètres de groupe de sécurité qui doivent autoriser le trafic provenant de l'adresse IP privée ou du groupe de sécurité de l'instance de réplication vers l'instance NAT. 
+  [Configuration d'un réseau à un VPC avec Internet](CHAP_ReplicationInstance.VPC.md#CHAP_ReplicationInstance.VPC.Configurations.ScenarioInternet) : le groupe de sécurité du VPC doit inclure des règles de routage qui envoient le trafic non destiné au VPC à la passerelle Internet. Dans cette configuration, la connexion au point de terminaison semble provenir de l'adresse IP publique sur l'instance de réplication. 
+  [Configuration avec une instance de base de données RDS ne figurant pas dans un VPC vers une instance de base de données dans un VPC en utilisant ClassicLink](CHAP_ReplicationInstance.VPC.md#CHAP_ReplicationInstance.VPC.Configurations.ClassicLink)— Lorsque l'instance de base de données Amazon RDS source ou cible ne se trouve pas dans un VPC et ne partage pas de groupe de sécurité avec le VPC où se trouve l'instance de réplication, vous pouvez configurer un serveur proxy et l' ClassicLink utiliser pour connecter les bases de données source et cible. 
+  **Le point de terminaison source est en dehors du VPC utilisé par l’instance de réplication et utilise une passerelle NAT** : vous pouvez configurer une passerelle de traduction d’adresses réseau (NAT) en utilisant une seule adresse IP Elastic liée à une seule interface réseau Elastic. Celle-ci reçoit alors un identificateur NAT (nat-\$1\$1\$1\$1\$1). Si le VPC comporte une route par défaut pour cette passerelle NAT au lieu de la passerelle Internet, l'instance de réplication apparaît pour contacter le point de terminaison de base de données à l'aide de l'adresse IP publique de la passerelle Internet. Dans ce cas, le trafic entrant vers le point de terminaison de base de données en dehors du VPC doit autoriser le trafic entrant à partir de l'adresse NAT au lieu de l'adresse IP publique de l'instance de réplication. 
+ **Points de terminaison de VPC pour les moteurs non-SGBDR** : AWS DMS ne prend pas en charge les points de terminaison de VPC pour les moteurs non-SGBDR.

# Utilisation du protocole SSL avec AWS Database Migration Service
<a name="CHAP_Security.SSL"></a>

Vous pouvez chiffrer les connexions pour les points de terminaison source et cible grâce au protocole SSL (Secure Sockets Layer). Pour ce faire, vous pouvez utiliser la console de AWS DMS gestion ou l' AWS DMS API pour attribuer un certificat à un point de terminaison. Vous pouvez également utiliser la AWS DMS console pour gérer vos certificats. 

Toutes les bases de données n’utilisent pas SSL de la même manière. Amazon Aurora MySQL-Compatible Edition utilise le nom du serveur, le point de terminaison de l’instance principale dans le cluster, en tant que point de terminaison pour SSL. Un point de terminaison Amazon Redshift utilise déjà une connexion SSL et ne requiert pas de connexion SSL configurée par AWS DMS. Un point de terminaison Oracle requiert des étapes supplémentaires ; pour plus d'informations, consultez [Prise en charge de SSL pour un point de terminaison Oracle](CHAP_Source.Oracle.md#CHAP_Security.SSL.Oracle).

**Topics**
+ [Limitations relatives à l'utilisation du protocole SSL avec AWS DMS](#CHAP_Security.SSL.Limitations)
+ [Gestion de certificats](#CHAP_Security.SSL.ManagingCerts)
+ [Activation de SSL pour un point de terminaison compatible MySQL, PostgreSQL ou SQL Server](#CHAP_Security.SSL.Procedure)

Pour établir une connexion sécurisée, vous devez fournir le certificat racine ou la chaîne de certificats CA intermédiaires menant à la racine (sous forme de bundle de certificats) qui a été utilisée pour signer le certificat SSL du serveur sur le point de terminaison. Les certificats sont acceptés uniquement sous la forme de fichiers X509 au format PEM. Lorsque vous importez un certificat, vous recevez un ARN (Amazon Resource Name), que vous pouvez utiliser pour spécifier ce certificat pour un point de terminaison. Si vous utilisez Amazon RDS, vous pouvez télécharger l’autorité de certification racine et l’ensemble de certificats fourni dans le fichier `rds-combined-ca-bundle.pem` hébergé par Amazon RDS. Pour plus d'informations sur le téléchargement de ce fichier, consultez la section [Utilisation SSL/TLS pour chiffrer une connexion à une instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) de base de données dans le guide de l'*utilisateur Amazon RDS*.

Vous avez le choix parmi plusieurs modes SSL à utiliser pour vérifier le certificat SSL. 
+ **none** : la connexion n’est pas chiffrée. Cette option n'est pas sécurisée, mais elle nécessite moins de ressources.
+ **require** : la connexion est chiffrée à l’aide du protocole SSL (TLS), mais aucune vérification d’autorité de certification n’est effectuée. Cette option est plus sécurisée, mais elle nécessite plus de ressources. 
+ **verify-ca** : la connexion est chiffrée. Cette option est plus sécurisée, mais elle nécessite plus de ressources. Cette option vérifie le certificat de serveur. 
+ **verify-full** : la connexion est chiffrée. Cette option est plus sécurisée, mais elle nécessite plus de ressources. Cette option vérifie le certificat de serveur et vérifie que le nom d'hôte du serveur correspond à l'attribut de nom d'hôte pour le certificat. 

Les modes SSL ne fonctionnent pas tous avec tous les points de terminaison de base de données. Le tableau suivant présente les modes SSL pris en charge pour chaque moteur de base de données.


|  Moteur de base de données  |  **Aucun(e)**  |  **require**  |  **verify-ca**  |  **verify-full**  | 
| --- | --- | --- | --- | --- | 
|  MySQL/MariaDB/AmazonAurora MySQL  | Par défaut | Non pris en charge | Pris en charge | Pris en charge | 
|  Microsoft SQL Server  | Par défaut | Pris en charge | Non pris en charge | Pris en charge | 
|  PostgreSQL  | Par défaut | Pris en charge | Pris en charge | Pris en charge | 
|  Amazon Redshift  | Par défaut | SSL non activé | SSL non activé | SSL non activé | 
|  Oracle  | Par défaut | Non pris en charge | Pris en charge | Non pris en charge | 
|  SAP ASE  | Par défaut | SSL non activé | SSL non activé | Pris en charge | 
|  MongoDB  | Par défaut | Pris en charge | Non pris en charge | Pris en charge | 
|  Db2 LUW  | Par défaut | Non pris en charge | Pris en charge | Non pris en charge | 
|  Db2 pour z/OS  | Par défaut | Non pris en charge | Pris en charge | Non pris en charge | 

**Note**  
L’option Mode SSL de la console DMS ou de l’API ne s’applique pas à certains services de streaming de données et NoSQL tels que Kinesis et DynamoDB. Ils sont sécurisés par défaut, si bien que DMS indique que le paramètre du mode SSL a pour valeur none (**SSL Mode=None**). Vous n’avez pas besoin de fournir de configuration supplémentaire pour que votre point de terminaison utilise le protocole SSL. Par exemple, lorsque Kinesis est utilisé comme point de terminaison cible, il est sécurisé par défaut. Tous les appels d’API à Kinesis utilisent le protocole SSL. Il n’est donc pas nécessaire d’ajouter une option SSL supplémentaire dans le point de terminaison DMS. Vous pouvez placer et récupérer des données en toute sécurité via des points de terminaison SSL à l’aide du protocole HTTPS, utilisé par DMS par défaut lors de la connexion à un flux de données Kinesis.

## Limitations relatives à l'utilisation du protocole SSL avec AWS DMS
<a name="CHAP_Security.SSL.Limitations"></a>

Voici les limites relatives à l'utilisation du protocole SSL avec AWS DMS :
+ Les connexions SSL aux points de terminaison cibles Amazon Redshift ne sont pas prises en charge. AWS DMS utilise un compartiment Amazon S3 pour transférer des données vers la base de données Amazon Redshift. Cette transmission est chiffrée par Amazon Redshift par défaut. 
+ Des délais d'attente SQL peuvent se produire lors de l'exécution de tâches de capture des changements de données (CDC) avec les points de terminaison Oracle compatibles SSL. Si vous rencontrez un problème, dans lequel les compteurs CDC ne reflètent pas les nombres attendus, affectez une valeur inférieure au paramètre `MinimumTransactionSize` dans la section `ChangeProcessingTuning` des paramètres de tâche. La valeur la plus faible possible correspond à 100. Pour plus d’informations sur le paramètre `MinimumTransactionSize`, consultez [Paramètres de réglage du traitement des modifications](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md).
+ Vous ne pouvez importer les certificats que dans les formats .pem et .sso (portefeuille Oracle).
+ Dans certains cas, le certificat SSL de votre serveur peut être signé par une autorité de certification intermédiaire. Si tel est le cas, assurez-vous que toute la chaîne de certificats allant de l'autorité de certification intermédiaire à l'autorité de certification racine est importée en tant que fichier .pem unique.
+ Si vous utilisez des certificats auto-signés sur votre serveur, sélectionnez **require** comme mode SSL. Le mode SSL **require** fait confiance implicitement au certificat SSL du serveur et ne tente pas de s'assurer que le certificat a été signé par une autorité de certification. 
+ AWS DMS ne prend pas en charge la version 1.3 de TLS pour MySQL et les points de MariaDb terminaison.

## Gestion de certificats
<a name="CHAP_Security.SSL.ManagingCerts"></a>

Vous pouvez utiliser la console DMS pour afficher et gérer vos certificats SSL. Vous pouvez également importer vos certificats à l'aide de la console DMS.

![\[AWS Database Migration Service Gestion des certificats SSL\]](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/images/datarep-certificatemgr.png)


## Activation de SSL pour un point de terminaison compatible MySQL, PostgreSQL ou SQL Server
<a name="CHAP_Security.SSL.Procedure"></a>

Vous pouvez ajouter une connexion SSL à un point de terminaison nouvellement créé ou à un point de terminaison existant.

**Pour créer un AWS DMS point de terminaison avec SSL**

1. Connectez-vous à la AWS DMS console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/). 

   Si vous êtes connecté en tant qu'utilisateur Gestion des identités et des accès AWS (IAM), assurez-vous de disposer des autorisations d'accès AWS DMS appropriées. Pour plus d'informations sur les autorisations requises pour la migration de base de données, consultez [Autorisations IAM nécessaires pour utiliser AWS DMS](security-iam.md#CHAP_Security.IAMPermissions).

1. Dans le volet de navigation, choisissez **Certificates**.

1. Sélectionnez **Import Certificate**.

1. Téléchargez le certificat que vous voulez utiliser pour chiffrer la connexion à un point de terminaison.
**Note**  
Vous pouvez également télécharger un certificat à l'aide de la AWS DMS console lorsque vous créez ou modifiez un point de terminaison en sélectionnant **Ajouter un nouveau certificat CA** sur la page **Créer un point de terminaison de base de données**.  
Pour Aurora Serverless comme cible, obtenez le certificat mentionné dans [Utilisation TLS/SSL avec Aurora Serverless](https://docs.aws.amazon.com//AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.tls).

1. Créez un point de terminaison comme décrit dans la page [Étape 2 : Spécifier les points de terminaison sources et cibles](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.Endpoints)

**Pour modifier un point de AWS DMS terminaison existant afin d'utiliser le protocole SSL**

1. Connectez-vous à la AWS DMS console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/). 

   Si vous êtes connecté en tant qu’utilisateur IAM, vous devez détenir les autorisations appropriées pour accéder à AWS DMS. Pour plus d'informations sur les autorisations requises pour la migration de base de données, consultez [Autorisations IAM nécessaires pour utiliser AWS DMS](security-iam.md#CHAP_Security.IAMPermissions).

1. Dans le volet de navigation, choisissez **Certificates**.

1. Sélectionnez **Import Certificate**.

1. Téléchargez le certificat que vous voulez utiliser pour chiffrer la connexion à un point de terminaison.
**Note**  
Vous pouvez également télécharger un certificat à l'aide de la AWS DMS console lorsque vous créez ou modifiez un point de terminaison en sélectionnant **Ajouter un nouveau certificat CA** sur la page **Créer un point de terminaison de base de données**.

1. Dans le volet de navigation, sélectionnez **Points de terminaison**, sélectionnez le point de terminaison à modifier, puis **Modifier**.

1. Choisissez une valeur pour le **mode SSL**.

   Si vous choisissez le mode **verify-ca** ou **verify-full**, spécifiez le certificat que vous souhaitez utiliser pour le **certificat d'autorité de certification**, comme indiqué ci-dessous.   
![\[AWS Database Migration Service Gestion des certificats SSL\]](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/images/datarep-certificate2.png)

   

1. Sélectionnez **Modifier**.

1. Lorsque le point de terminaison a été modifié, sélectionnez-le et choisissez **Tester la connexion** pour déterminer si la connexion SSL fonctionne.

Lorsque vous avez créé vos points de terminaison source et cible, créez une tâche qui utilise ces points de terminaison. Pour plus d'informations sur la création d'une tâche, consultez [Étape 3 : Créer une tâche et migrer les données](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.Tasks). 

## Modification du mot de passe de base de données
<a name="CHAP_Security.ChangingDBPassword"></a>

Dans la plupart des cas, la modification du mot de passe de base de données pour votre point de terminaison source ou cible est un processus simple. Si vous devez modifier le mot de passe de base de données d'un point de terminaison que vous utilisez actuellement dans le cadre d'une tâche de migration ou de réplication, le processus nécessite quelques étapes supplémentaires. La procédure suivante montre comment procéder.

**Pour modifier le mot de passe de base de données pour un point de terminaison dans une tâche de réplication ou de migration**

1. Connectez-vous à la AWS DMS console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/). 

   Si vous êtes connecté en tant qu’utilisateur IAM, vous devez détenir les autorisations appropriées pour accéder à AWS DMS. Pour plus d'informations sur les autorisations requises, consultez [Autorisations IAM nécessaires pour utiliser AWS DMS](security-iam.md#CHAP_Security.IAMPermissions).

1. Dans le volet de navigation, choisissez, **Tâches de migration de base de données**.

1. Choisissez la tâche qui utilise le point de terminaison pour lequel vous voulez modifier le mot de passe de base de données, puis choisissez **Arrêter**.

1. Pendant que la tâche est en cours d'arrêt, vous pouvez modifier le mot de passe de la base de données pour le point de terminaison à l'aide des outils natifs que vous utilisez pour gérer la base de données.

1. Revenez à la console de gestion DMS et choisissez **Points de terminaison** dans le volet de navigation.

1. Choisissez le point de terminaison pour la base de données dont vous avez modifié le mot de passe, puis sélectionnez **Modifier**.

1. Tapez le nouveau mot de passe dans la zone **Mot de passe**, puis choisissez **Modifier**.

1. Dans le volet de navigation, choisissez, **Tâches de migration de base de données**.

1. Choisissez la tâche que vous avez arrêtée précédemment, puis sélectionnez **Arrêter/Reprendre**.

1. Choisissez **Démarrer** ou **Reprendre** selon la façon dont vous voulez continuer la tâche, puis choisissez **Démarrer tâche**.

# Utilisation de l'authentification Kerberos avec AWS Database Migration Service
<a name="CHAP_Security.Kerberos"></a>

À partir de DMS v3.5.3, vous pouvez configurer votre point de terminaison source Oracle ou SQL Server pour qu'il se connecte à votre instance de base de données à l'aide de l'authentification Kerberos. DMS prend en charge Directory Service l'authentification Microsoft Active Directory et Kerberos. Pour plus d'informations sur l'accès AWS géré aux services Microsoft Active Directory, voir [Qu'est-ce que c'est ? Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) .

## AWS DMS Présentation de l'architecture d'authentification Kerberos
<a name="CHAP_Security.Kerberos.architecture"></a>

Le schéma suivant fournit une vue d'ensemble du flux de travail d'authentification AWS DMS Kerberos. 

![\[Architecture d'authentification Kerberos\]](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/images/datarep-kerberos-architecture.jpg)


## Limitations relatives à l'utilisation de l'authentification Kerberos avec AWS DMS
<a name="CHAP_Security.Kerberos.limitations"></a>

Les limites suivantes s'appliquent lors de l'utilisation de l'authentification Kerberos avec : AWS DMS
+ Les instances de réplication DMS prennent en charge un fichier Kerberos et un `krb5.conf` fichier de cache de clés.
+ Vous devez mettre à jour le fichier de cache de clés Kerberos dans Secrets Manager au moins 30 minutes avant l'expiration du ticket.
+ Un point de terminaison DMS compatible Kerberos ne fonctionne qu'avec une instance de réplication DMS compatible Kerberos.

## Conditions préalables
<a name="CHAP_Security.Kerberos.prerequisites"></a>

Pour commencer, vous devez remplir les conditions préalables suivantes à partir d'un hôte authentifié Active Directory ou Kerberos existant : 
+ Établissez une relation de confiance Active Directory avec votre AD sur site. Pour plus d'informations, consultez [Tutoriel : Création d'une relation de confiance entre votre Microsoft AD AWS géré et votre domaine Active Directory autogéré](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_setup_trust.html).
+ Préparez une version simplifiée du fichier de `krb5.conf` configuration Kerberos. Incluez des informations sur le domaine, l'emplacement des serveurs d'administration du domaine et les mappages des noms d'hôtes sur un domaine Kerberos. Vous devez vérifier que le `krb5.conf` contenu est formaté avec le bon boîtier mixte pour les domaines et les noms de domaine. Par exemple :

  ```
  [libdefaults] 
   dns_lookup_realm = true 
   dns_lookup_kdc = true 
   forwardable = true 
   default_realm = MYDOMAIN.ORG 
  [realms] 
  MYDOMAIN.ORG = { 
  kdc = mydomain.org 
  admin_server = mydomain.org 
  } 
  [domain_realm] 
  .mydomain.org = MYDOMAIN.ORG 
  mydomain.org = MYDOMAIN.ORG
  ```
+ Préparez un fichier de cache de clés Kerberos. Le fichier contient un identifiant Kerberos temporaire contenant les informations principales du client. Le fichier ne stocke pas le mot de passe du client. Votre tâche DMS utilise ces informations de ticket de cache pour obtenir des informations d'identification supplémentaires sans mot de passe. Exécutez les étapes suivantes sur un hôte authentifié Active Directory ou Kerberos existant pour générer un fichier de cache de clés. 
  + Créez un fichier keytab Kerberos. **Vous pouvez générer un fichier keytab à l'aide de l'**utilitaire kutil ou ktpass.**** 

    Pour plus d'informations sur l'utilitaire Microsoft **ktpass**, consultez [ktpass](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass) dans la documentation de *Windows Server*. 

    *Pour plus d'informations sur l'utilitaire MIT **kutil**, consultez [kutil](https://web.mit.edu/kerberos/krb5-1.12/doc/admin/admin_commands/ktutil.html) dans la documentation Kerberos du MIT.*
  + **Créez un fichier de cache de clés Kerberos à partir d'un fichier keytab à l'aide de l'utilitaire kinit.** Pour plus d'informations sur l'utilitaire **kinit**, consultez [kinit](https://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/kinit.html) dans la documentation *Kerberos du MIT*.
+ Stockez le fichier de cache de clés Kerberos dans Secrets Manager à l'aide du paramètre. `SecretBinary` Lorsque vous téléchargez le fichier de cache de clés dans Secrets Manager, DMS le récupère, puis met à jour le fichier de cache local toutes les 30 minutes environ. Lorsque le fichier de cache de clés local dépasse l'horodatage d'expiration prédéfini, DMS arrête la tâche en douceur. Pour éviter les échecs d'authentification lors d'une tâche de réplication en cours, mettez à jour le fichier de cache de clés dans Secrets Manager au moins 30 minutes avant l'expiration du ticket. Pour plus d'informations, consultez [createsecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) dans le Guide de référence de l'API *Secrets Manager*. L' AWS CLI exemple suivant montre comment stocker le fichier keycache au format binaire dans Secrets Manager :

  ```
  aws secretsmanager create-secret —name keycache —secret-binary fileb://keycachefile
  ```
+ Accordez à un rôle IAM les `DescribeSecret` autorisations `GetSecretValue` et pour obtenir le fichier de cache de clés auprès de Secrets Manager. Assurez-vous que le rôle IAM inclut la politique de `dms-vpc-role` confiance. Pour plus d'informations sur la politique de `dms-vpc-role` confiance, consultez[Création des rôles IAM à utiliser avec AWS DMS](security-iam.md#CHAP_Security.APIRole).

L'exemple suivant montre une politique de rôle IAM avec le Secrets Manager `GetSecretValue` et `DescribeSecret` les autorisations. La *<keycache\$1secretsmanager\$1arn>* valeur est l'ARN du Keycache Secrets Manager que vous avez créé à l'étape précédente.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetSecretValue",
        "secretsmanager:DescribeSecret"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Activation de la prise en charge de Kerberos sur une instance de réplication AWS DMS
<a name="CHAP_Security.Kerberos.enable.instance"></a>

Les domaines Kerberos sont identiques aux domaines de Windows. Pour résoudre un domaine principal, Kerberos s'appuie sur un service de noms de domaine (DNS). Lorsque vous définissez le `dns-name-servers` paramètre, votre instance de réplication utilise votre ensemble personnalisé prédéfini de serveurs DNS pour résoudre les domaines de domaine Kerberos. Une autre option pour résoudre les requêtes de domaine Kerberos consiste à configurer Amazon Route 53 sur le cloud privé virtuel (VPC) de l'instance de réplication. Pour plus d'informations, consultez [Route 53](https://docs.aws.amazon.com/route53/). 

### Activation de la prise en charge de Kerberos sur une instance de réplication DMS à l'aide du AWS Management Console
<a name="CHAP_Security.Kerberos.enable.instance.console"></a>

Pour activer le support Kerberos à l'aide de la console, entrez les informations suivantes dans la section **Authentification Kerberos** de la page **Créer une instance de réplication ou **Modifier** une instance** de réplication :
+ Le contenu de votre `krb5.conf` fichier
+ L'ARN du secret de Secrets Manager qui contient le fichier keycache
+ L'ARN du rôle IAM qui a accès à l'ARN du gestionnaire de secrets et les autorisations nécessaires pour récupérer le fichier de cache de clés

### Activation de la prise en charge de Kerberos sur une instance de réplication DMS à l'aide du AWS CLI
<a name="CHAP_Security.Kerberos.enable.instance.cli"></a>

L' AWS CLI exemple d'appel suivant crée une instance de réplication DMS privée compatible avec Kerberos. L'instance de réplication utilise un DNS personnalisé pour résoudre le domaine Kerberos. Pour de plus amples informations, veuillez consulter [create-replication-instance](https://docs.aws.amazon.com/cli/latest/reference/dms/create-replication-instance.html).

```
aws dms create-replication-instance 
--replication-instance-identifier my-replication-instance 
--replication-instance-class dms.t2.micro 
--allocated-storage 50 
--vpc-security-group-ids sg-12345678 
--engine-version 3.5.4 
--no-auto-minor-version-upgrade 
--kerberos-authentication-settings'{"KeyCacheSecretId":<secret-id>,"KeyCacheSecretIamArn":<secret-iam-role-arn>,"Krb5FileContents":<krb5.conf file contents>}'
--dns-name-servers <custom dns server>
--no-publicly-accessible
```

## Activation de la prise en charge de Kerberos sur un point de terminaison source
<a name="CHAP_Security.Kerberos.enable.endpoint"></a>

Avant d'activer l'authentification Kerberos sur un point de terminaison source DMS Oracle ou SQL Server, assurez-vous de pouvoir vous authentifier auprès de la base de données source à l'aide du protocole Kerberos à partir d'un ordinateur client. Vous pouvez utiliser l'AMI AWS DMS de diagnostic pour lancer une instance Amazon EC2 sur le même VPC que l'instance de réplication, puis tester l'authentification Kerberos. Pour plus d'informations sur l'AMI, consultez[Utilisation de l'AMI d'assistance au AWS DMS diagnostic](CHAP_SupportAmi.md).

### Utilisation de la AWS console DMS
<a name="CHAP_Security.Kerberos.enable.endpoint.console"></a>

Sous **Accès à la base de données des terminaux**, sélectionnez **Authentification Kerberos**. 

### À l'aide du AWS CLI
<a name="CHAP_Security.Kerberos.enable.endpoint.cli"></a>

Spécifiez le paramètre de réglage du point de terminaison et définissez `AuthenticationMethod` l'option comme Kerberos. Par exemple :

**Oracle**

```
aws dms create-endpoint 
--endpoint-identifier my-endpoint 
--endpoint-type source 
--engine-name oracle 
--username dmsuser@MYDOMAIN.ORG 
--server-name mydatabaseserver 
--port 1521 
--database-name mydatabase  
--oracle-settings "{\"AuthenticationMethod\": \"kerberos\"}"
```

**SQL Server**

```
aws dms create-endpoint 
--endpoint-identifier my-endpoint 
--endpoint-type source 
--engine-name sqlserver 
--username dmsuser@MYDOMAIN.ORG 
--server-name mydatabaseserver 
--port 1433
--database-name mydatabase  
--microsoft-sql-server-settings "{\"AuthenticationMethod\": \"kerberos\"}"
```

## Test d'un point de terminaison source
<a name="CHAP_Security.Kerberos.test"></a>

Vous devez tester le point de terminaison compatible Kerberos par rapport à une instance de réplication compatible Kerberos. Lorsque vous ne configurez pas correctement l'instance de réplication ou le point de terminaison source pour l'authentification Kerberos, l'`test-connection`action du point de terminaison échoue et peut renvoyer des erreurs liées à Kerberos. Pour plus d'informations, consultez la section [test-connection](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dms/test-connection.html).