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)