Configurar a autenticação do Kerberos usando grupos de segurança do Active Directory para Babelfish - Amazon Aurora

Configurar a autenticação do Kerberos usando grupos de segurança do Active Directory para Babelfish

A partir da versão 4.2.0 do Babelfish, é possível configurar a autenticação do Kerberos para o Babelfish com grupos de segurança do Active Directory. Veja a seguir os pré-requisitos a serem atendidos para configurar a autenticação do Kerberos usando o Active Directory:

  • É necessário seguir todas as etapas mencionadas em Autenticação do Kerberos com o Babelfish.

  • A instância de banco de dados deve estar associada ao Active Directory. Para verificar isso, é possível visualizar o status da associação ao domínio no console ou executando o comando describe-db-instances da AWS CLI.

    O status da instância de banco de dados deve ser habilitado para Kerberos. Para saber mais sobre a associação ao domínio, consulte Compreensão da associação de domínio.

  • Verifique os mapeamentos entre o nome de domínio NetBIOS e o nome de domínio DNS usando a seguinte consulta:

    SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;
  • Antes de continuar, verifique se a autenticação do Kerberos usando o login individual funciona conforme o esperado. A conexão usando a autenticação do Kerberos como usuário do Active Directory deve ser bem-sucedida. Se você enfrentar algum problema, consulte Erros que ocorrem com frequência.

Configurar a extensão pg_ad_mapping

É necessário seguir todas as etapas mencionadas em Configurar a extensão pg_ad_mapping. Para verificar se a extensão está instalada, execute a seguinte consulta no endpoint do TDS:

1> SELECT extname, extversion FROM pg_extension where extname like 'pg_ad_mapping'; 2> GO extname extversion ------------- ---------- pg_ad_mapping 0.1 (1 rows affected)

Gerenciar logins de grupo

Crie logins de grupo seguindo as etapas mencionadas em Gerenciar logins. Recomendamos que o nome de login seja igual ao nome do grupo de segurança do Active Directory (AD) para facilitar a manutenção, embora não seja obrigatório. Por exemplo:

CREATE LOGIN [corp\accounts-group] FROM WINDOWS [WITH DEFAULT_DATABASE=database]

Auditoria e registro em log

Para determinar a identidade principal de segurança do AD, use os seguintes comandos:

1> select suser_name(); 2> GO suser_name ---------- corp\user1 (1 rows affected)

No momento, a identidade do usuário do AD não está visível nos logs. É possível ativar o parâmetro log_connections para registrar o estabelecimento da sessão de banco de dados. Para ter mais informações, consulte log_connections. A saída inclui a identidade do usuário do AD como entidade principal, como mostra o exemplo a seguir. O PID de back-end associado a essa saída pode então ajudar a atribuir ações de volta ao usuário real do AD.

bbf_group_ad_login@babelfish_db:[615]:LOG: connection authorized: user=bbf_group_ad_login database=babelfish_db application_name=sqlcmd GSS (authenticated=yes, encrypted=yes, principal=user1@CORP.EXAMPLE.COM)