

# Conectar-se ao PostgreSQL com a autenticação Kerberos
<a name="postgresql-kerberos-connecting"></a>

Você pode se conectar ao PostgreSQL com autenticação Kerberos com a interface pgAdmin ou com uma interface de linha de comando, como psql. Para obter mais informações sobre a conexão, consulte [Conectar a uma instância de banco de dados executando o mecanismo de banco de dados do PostgreSQL](USER_ConnectToPostgreSQLInstance.md) . Para saber como obter o endpoint, o número da porta e outros detalhes necessários para a conexão, consulte [Conectar-se à instância de banco de dados PostgreSQL](CHAP_GettingStarted.CreatingConnecting.PostgreSQL.md#CHAP_GettingStarted.Connecting.PostgreSQL). 

**nota**  
A autenticação e a criptografia GSSAPI no PostgreSQL são implementadas pela biblioteca Kerberos `libkrb5.so`. Recursos como `postgres_fdw` e `dblink` também dependem dessa mesma biblioteca para conexões de saída com autenticação ou criptografia Kerberos.

## pgAdmin
<a name="collapsible-section-pgAdmin"></a>

Para usar o pgAdmin para conectar-se ao PostgreSQL com autenticação Kerberos, execute as seguintes etapas:

1. Inicie a aplicação pgAdmin no computador cliente.

1. Na guia **Dashboard (Painel)**, escolha **Add New Server (Adicionar novo servidor)**.

1. Na caixa de diálogo **Criar - servidor**, insira um nome na guia **Geral** para identificar o servidor no pgAdmin.

1. Na guia **Connection** (Conexão), insira as seguintes informações do banco de dados do RDS para PostgreSQL. 
   + Em **Host**, insira o endpoint da Instância de banco de dados do RDS para PostgreSQL. Um endpoint é semelhante ao seguinte:

     ```
     RDS-DB-instance.111122223333.aws-region.rds.amazonaws.com
     ```

     Para se conectar a um Microsoft Active Directory on-premises de um cliente Windows, use o nome de domínio do AWS Managed Active Directory em vez de `rds.amazonaws.com` no endpoint do host. Por exemplo, suponha que o nome de domínio do Managed Active Directory da AWS seja `corp.example.com`. Depois, em **Host**, o endpoint seria especificado da seguinte forma: 

     ```
     RDS-DB-instance.111122223333.aws-region.corp.example.com
     ```
   + Em **Porta**, insira a porta designada. 
   + Em **Banco de dados de manutenção**, insira o nome do banco de dados inicial ao qual o cliente se conectará.
   + Em **Nome de usuário**, insira o nome de usuário que você inseriu para a autenticação Kerberos em [Etapa 7: Criar usuários do PostgreSQL para suas entidades principais do Kerberos](postgresql-kerberos-setting-up.md#postgresql-kerberos-setting-up.create-logins). 

1. Escolha **Salvar**.

## Psql
<a name="collapsible-section-psql"></a>

Para usar o psql para conectar-se ao PostgreSQL com autenticação Kerberos, execute as seguintes etapas:

1. Em um prompt de comando, execute o comando a seguir.

   ```
   kinit username                
   ```

   Substitua *`username`* pelo nome de usuário. No prompt, insira a senha armazenada no Microsoft Active Directory para o usuário.

1. Se a instância de banco de dados PostgreSQL estiver usando uma VPC acessível publicamente, coloque um endereço IP para o endpoint do  da instância de banco de dados em seu arquivo `/etc/hosts` no cliente do EC2. Por exemplo, os comandos a seguir obtêm o endereço IP e o colocam no arquivo `/etc/hosts`.

   ```
   % dig +short PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com  
   ;; Truncated, retrying in TCP mode.
   ec2-34-210-197-118.AWS-Region.compute.amazonaws.com.
   34.210.197.118 
   
   % echo " 34.210.197.118  PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com" >> /etc/hosts
   ```

   Se você estiver usando um Microsoft Active Directory on-premises de um cliente Windows, será necessário se conectar usando um endpoint especializado. Em vez de usar o domínio `rds.amazonaws.com` da Amazon no endpoint do host, use o nome de domínio do Managed Active Directory da AWS.

   Por exemplo, suponha que o nome de domínio do Managed Active Directory da AWS seja `corp.example.com`. Use o formato `PostgreSQL-endpoint.AWS-Region.corp.example.com` para o endpoint e coloque-o no arquivo `/etc/hosts`.

   ```
   % echo " 34.210.197.118  PostgreSQL-endpoint.AWS-Region.corp.example.com" >> /etc/hosts
   ```

1. Use o comando psql a seguir para fazer login em uma instância de banco de dados PostgreSQL com integração ao Active Directory. 

   ```
   psql -U username@CORP.EXAMPLE.COM -p 5432 -h PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com postgres
   ```

   Para fazer login no cluster de banco de dados PostgreSQL de um cliente Windows usando um Active Directory on-premises, use o seguinte comando psql com o nome de domínio da etapa anterior (`corp.example.com`):

   ```
   psql -U username@CORP.EXAMPLE.COM -p 5432 -h PostgreSQL-endpoint.AWS-Region.corp.example.com postgres
   ```