

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.

# 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).