

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando a autenticação Kerberos com AWS Database Migration Service
<a name="CHAP_Security.Kerberos"></a>

A partir da v3.5.3 do DMS, você pode configurar seu endpoint Oracle ou SQL Server de origem para se conectar à sua instância de banco de dados usando a autenticação Kerberos. O DMS oferece suporte Directory Service à autenticação do Microsoft Active Directory e Kerberos. Para obter mais informações sobre o acesso AWS gerenciado aos Serviços do Microsoft Active Directory, consulte [O que é Directory Service?](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) .

## AWS DMS Visão geral da arquitetura de autenticação Kerberos
<a name="CHAP_Security.Kerberos.architecture"></a>

O diagrama a seguir fornece uma visão geral de alto nível do fluxo de trabalho de autenticação AWS DMS Kerberos. 

![Arquitetura de autenticação Kerberos](http://docs.aws.amazon.com/pt_br/dms/latest/userguide/images/datarep-kerberos-architecture.jpg)


## Limitações no uso da autenticação Kerberos com AWS DMS
<a name="CHAP_Security.Kerberos.limitations"></a>

As seguintes limitações se aplicam ao usar a autenticação Kerberos com: AWS DMS
+ As instâncias de replicação do DMS permitem usar um arquivo Kerberos e um arquivo keycache `krb5.conf`.
+ Você deve atualizar o arquivo keycache do Kerberos no Secrets Manager pelo menos 30 minutos antes da expiração do tíquete.
+ Um endpoint do DMS habilitado para o Kerberos só funciona com uma instância de replicação do DMS habilitada para o Kerberos.

## Pré-requisitos
<a name="CHAP_Security.Kerberos.prerequisites"></a>

Para começar, você deve atender aos seguintes pré-requisitos em um host autenticado do Active Directory ou do Kerberos: 
+ Estabeleça uma relação de confiança do Active Directory com o AD on-premises. Para obter mais informações, consulte [Tutorial: Crie uma relação de confiança entre seu Microsoft AD AWS gerenciado e seu domínio autogerenciado do Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_setup_trust.html).
+ Prepare uma versão simplificada do arquivo de configuração `krb5.conf` do Kerberos. Inclua informações sobre o realm, o local dos servidores de administração do domínio e mapeamentos de nomes de host em um realm do Kerberos. Verifique se o conteúdo do `krb5.conf` está formatado com a combinação correta de maiúsculas e minúsculas para os realms e os nomes de realm dos domínios. Por exemplo:

  ```
  [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
  ```
+ Prepare um arquivo keycache do Kerberos. O arquivo contém uma credencial temporária do Kerberos das informações de entidade principal do cliente. O arquivo não armazena a senha do cliente. Sua tarefa do DMS usa essas informações de tíquete de cache para obter credenciais adicionais sem uma senha. Execute as etapas a seguir em um host existente autenticado pelo Active Directory ou Kerberos para gerar um arquivo keycache. 
  + Crie um arquivo keycache do Kerberos. Você pode gerar um arquivo keytab usando o utilitário **kutil** ou **ktpass**. 

    Para ter mais informações sobre o utilitário **ktpass** da Microsoft, consulte [ktpass](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass) na *documentação do Windows Server*. 

    Para ter mais informações sobre o utilitário **kutil** do MIT, consulte [kutil](https://web.mit.edu/kerberos/krb5-1.12/doc/admin/admin_commands/ktutil.html) na *documentação do MIT Kerberos*.
  + Crie um arquivo keycache do Kerberos com base no arquivo keytab usando o utilitário **kinit**. Para ter mais informações sobre o utilitário **kinit**, consulte [kinit](https://web.mit.edu/kerberos/krb5-1.12/doc/user/user_commands/kinit.html) nas *documentação do MIT Kerberos*.
+ Armazene o arquivo keycache do Kerberos no Secrets Manager usando o parâmetro `SecretBinary`. Quando você faz upload do arquivo keycache no Secrets Manager, o DMS o recupera e atualiza o arquivo de cache local a cada 30 minutos. Quando o arquivo keycache local excede o carimbo de data/hora de expiração predefinido, o DMS interrompe a tarefa normalmente. Para evitar falhas de autenticação durante uma tarefa de replicação contínua, atualize o arquivo keycache no Secrets Manager pelo menos 30 minutos antes da expiração do tíquete. Para ter mais informações, consulte [createsecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) na *Referência de API do Systems Manager*. O exemplo a seguir AWS CLI mostra como armazenar o arquivo keycache em formato binário no Secrets Manager:

  ```
  aws secretsmanager create-secret —name keycache —secret-binary fileb:{{//keycachefile}}
  ```
+ Conceda a um perfil do IAM as permissões `GetSecretValue` e `DescribeSecret` para obter o arquivo keycache do Secrets Manager. O perfil do IAM deve incluir a política de confiança `dms-vpc-role`. Para ter mais informações sobre a política de confiança `dms-vpc-role`, consulte [Criação das funções do IAM para usar com AWS DMS](security-iam.md#CHAP_Security.APIRole).

O exemplo a seguir mostra uma política de perfil do IAM com as permissões `GetSecretValue` e `DescribeSecret` do Secrets Manager. O {{<keycache\_secretsmanager\_arn>}} valor é o ARN do Keycache Secrets Manager que você criou na etapa anterior.

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

****  

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

------

## Habilitando o suporte Kerberos em uma instância de replicação do AWS DMS
<a name="CHAP_Security.Kerberos.enable.instance"></a>

Os realms do Kerberos são idênticos aos domínios no Windows. Para resolver um domínio principal, o Kerberos depende de um serviço de nomes de domínio (DNS). Quando você define o parâmetro `dns-name-servers`, a instância de replicação usará seu conjunto personalizado predefinido de servidores de DNS para resolver os realms do domínio do Kerberos. Outra opção para resolver consultas de realm do Kerberos é configurar o Amazon Route 53 na nuvem privada virtual (VPC) da instância de replicação. Para ter mais informações, consulte [Route 53](https://docs.aws.amazon.com/route53/). 

### Habilitando o suporte ao Kerberos em uma instância de replicação do DMS usando o Console de gerenciamento da AWS
<a name="CHAP_Security.Kerberos.enable.instance.console"></a>

Para habilitar o suporte ao Kerberos usando o console, insira as seguintes informações na seção **Autenticação Kerberos** da página **Criar instância de replicação** ou **Modificar instância de replicação**:
+ O conteúdo do seu arquivo `krb5.conf`.
+ O ARN do segredo do Secrets Manager que contém o arquivo keycache.
+ O ARN do perfil do IAM que tem acesso ao ARN do Secrets Manager e permissões para recuperar o arquivo keycache.

### Habilitando o suporte ao Kerberos em uma instância de replicação do DMS usando o AWS CLI
<a name="CHAP_Security.Kerberos.enable.instance.cli"></a>

O AWS CLI exemplo de chamada a seguir cria uma instância de replicação DMS privada com suporte a Kerberos. A instância de replicação usa um DNS personalizado para resolver o realm do Kerberos. Para obter mais informações, consulte [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
```

## Habilitar o suporte a Kerberos em um endpoint de origem
<a name="CHAP_Security.Kerberos.enable.endpoint"></a>

Antes de habilitar a autenticação Kerberos em um endpoint de origem do DMS para Oracle ou SQL Server, verifique se você pode se autenticar no banco de dados de origem usando o protocolo Kerberos de uma máquina cliente. Você pode usar a AMI de AWS DMS diagnóstico para iniciar uma instância do Amazon EC2 na mesma VPC da instância de replicação e depois testar a autenticação kerberos. Para ter mais informações sobre a AMI, consulte [Trabalhando com o suporte AWS DMS de diagnóstico AMI](CHAP_SupportAmi.md).

### Usando o console do AWS DMS
<a name="CHAP_Security.Kerberos.enable.endpoint.console"></a>

Em **Acesso ao banco de dados de endpoint**, escolha **Autenticação Kerberos**. 

### Usando o AWS CLI
<a name="CHAP_Security.Kerberos.enable.endpoint.cli"></a>

Especifique o parâmetro de configuração do endpoint e defina a opção `AuthenticationMethod` como Kerberos. Por exemplo:

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

## Testar um endpoint de origem
<a name="CHAP_Security.Kerberos.test"></a>

Você deve testar o endpoint habilitado para Kerberos em relação a uma instância de replicação habilitada para Kerberos. Quando você não configura adequadamente a instância de replicação ou o endpoint de origem para a autenticação Kerberos, a ação `test-connection` do endpoint falha e pode exibir erros relacionados ao Kerberos. Para ter mais informações, consulte [test-connection](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dms/test-connection.html).