Gerir as funções do Microsoft Entra na Base de Dados do Azure para PostgreSQL – Servidor Flexível
APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Flexível
Este artigo descreve como você pode criar uma função de banco de dados habilitada para ID do Microsoft Entra em uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL.
Nota
Este guia pressupõe que você já tenha habilitado a autenticação do Microsoft Entra em seu Banco de Dados do Azure para instância flexível do servidor PostgreSQL. Consulte Como configurar a autenticação do Microsoft Entra
Se você quiser saber mais sobre como criar e gerenciar usuários de assinatura do Azure e seus privilégios, visite o artigo Controle de acesso baseado em função do Azure (Azure RBAC) ou revise como personalizar funções.
Criar ou excluir administradores do Microsoft Entra usando o portal do Azure ou a API do Azure Resource Manager (ARM)
- Abra a página Autenticação para sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL no portal do Azure.
- Para adicionar um administrador - selecione Adicionar administrador do Microsoft Entra e selecione um usuário, grupo, aplicativo ou uma identidade gerenciada do locatário atual do Microsoft Entra.
- Para remover um administrador - selecione o ícone Excluir para aquele a ser removido.
- Selecione Salvar e aguarde a conclusão da operação de provisionamento.
Nota
O suporte para o gerenciamento de Administradores do Microsoft Entra por meio do SDK do Azure, az cli e Azure PowerShell será disponibilizado em breve.
Gerenciar funções do Microsoft Entra usando SQL
Depois que o primeiro administrador do Microsoft Entra for criado a partir do portal ou da API do Azure, você poderá usar a função de administrador para gerenciar funções do Microsoft Entra em sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL.
Recomendamos familiarizar-se com a plataforma de identidade da Microsoft para melhor uso da integração do Microsoft Entra com o Banco de Dados do Azure para servidor flexível PostgreSQL.
Principais tipos
O servidor flexível do Banco de Dados do Azure para PostgreSQL armazena internamente o mapeamento entre funções de banco de dados PostgreSQL e identificadores exclusivos de objetos AzureAD. Cada função de banco de dados PostgreSQL pode ser mapeada para um dos seguintes tipos de objeto do Microsoft Entra:
- Usuário - Incluindo usuários inquilinos locais e convidados.
- Entidade de Serviço. Incluindo aplicativos e identidades gerenciadas
- Grupo Quando uma função PostgreSQL está vinculada a um grupo do Microsoft Entra, qualquer usuário ou membro da entidade de serviço desse grupo pode se conectar à instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com a função de grupo.
Listar funções do Microsoft Entra usando SQL
pg_catalog.pgaadauth_list_principals(isAdminValue boolean)
Argumentos
isAdminValue
boolean
quando true
retorna usuários Admin. Quando false
retorna todos os usuários do Microsoft Entra, incluindo administradores e não administradores do Microsoft Entra.
Tipo de retorno
TABLE(rolname name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer)
Uma tabela com o seguinte esquema:
rolname
o nome da função no PostgreSQL.principalType
o tipo de entidade no Microsoft Entra ID. Pode seruser
,group
ouservice
.objectId
o identificador do objeto no Microsoft Entra ID para esta entidade de segurança.tenantId
o identificador do locatário que hospeda essa entidade no Microsoft Entra ID.isMfa
retorna um valor de1
se o usuário/função tiver MFA imposta.isAdmin
retorna um valor de1
se o usuário/função for um administrador no PostgreSQL.
Criar um usuário/função usando o nome principal do Microsoft Entra
pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)
Argumentos
roleName
text
Nome da função a ser criada. Isso deve corresponder ao nome da entidade de segurança do Microsoft Entra.
- Para os usuários, use o Nome Principal do Usuário do Perfil. Para usuários convidados, inclua o nome completo em seu domínio inicial com a tag #EXT#.
- Para grupos e entidades de serviço, use o nome para exibição. O nome deve ser exclusivo no locatário.
isAdmin
boolean
quando true
cria um usuário administrador do PostgreSQL (membro da azure_pg_admin
função e com permissões CREATEROLE e CREATEDB). Quando false
ele cria um usuário regular do PostgreSQL.
isMfa
boolean
quando true
ele impõe a autenticação multifator para este usuário PostgreSQL.
Importante
O isMfa
sinalizador testa a mfa
declaração no token de ID do Microsoft Entra, mas não afeta o fluxo de aquisição do token. Por exemplo, se o locatário da entidade de segurança não estiver configurado para autenticação multifator, isso impedirá o uso do recurso. E se o locatário exigir autenticação multifator para todos os tokens, isso tornará esse sinalizador inútil.
Tipo de retorno
text
valor único que consiste em uma cadeia de caracteres "Created role for roleName", onde roleName é o argumento passado para o parâmetro roleName.
Soltar uma função usando o nome principal do Microsoft Entra
Lembre-se de que qualquer função do Microsoft Entra criada no PostgreSQL deve ser descartada usando um administrador do Microsoft Entra. Se você usar um administrador regular do PostgreSQL para soltar uma função do Entra, isso resultará em um erro.
DROP ROLE rolename;
Criar uma função usando o identificador de objeto do Microsoft Entra
pg_catalog.pgaadauth_create_principal_with_oid(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)
Argumentos
roleName
text
Nome da função a ser criada.
objectId
text
identificador de objeto exclusivo do objeto Microsoft Entra.
- Para usuários, grupos e identidades gerenciadas, o objectId pode ser encontrado pesquisando o nome do objeto na página ID do Microsoft Entra no portal do Azure. Veja este guia como exemplo
- Para grupos e entidades de serviço, use o nome para exibição. O nome deve ser exclusivo no locatário.
- Para aplicativos, o objectId da entidade de serviço correspondente deve ser usado. No portal do Azure, o objectId necessário pode ser encontrado na página Aplicativos Empresariais no portal do Azure.
objectType
text
o tipo de objeto do Microsoft Entra a ser vinculado a essa função. Pode ser user
, group
ou service
.
isAdmin
boolean
quando true
cria um usuário administrador do PostgreSQL (membro da azure_pg_admin
função e com permissões CREATEROLE e CREATEDB). Quando false
ele cria um usuário regular do PostgreSQL.
isMfa
boolean
quando true
ele impõe a autenticação multifator para este usuário PostgreSQL.
Importante
O isMfa
sinalizador testa a mfa
declaração no token de ID do Microsoft Entra, mas não afeta o fluxo de aquisição do token. Por exemplo, se o locatário da entidade de segurança não estiver configurado para autenticação multifator, isso impedirá o uso do recurso. E se o locatário exigir autenticação multifator para todos os tokens, isso tornará esse sinalizador inútil.
Tipo de retorno
text
valor único que consiste em uma cadeia de caracteres "Created role for roleName", onde roleName é o argumento passado para o parâmetro roleName.
Habilitar a autenticação do Microsoft Entra para uma função existente do PostgreSQL usando SQL
O servidor flexível do Banco de Dados do Azure para PostgreSQL usa rótulos de segurança associados a funções de banco de dados para armazenar o mapeamento de ID do Microsoft Entra correspondente.
Você pode usar o seguinte SQL para atribuir o rótulo de segurança necessário para mapeá-lo para um objeto do Microsoft Entra:
SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<objectType>,admin';
Argumentos
roleName
text
nome de uma função PostgreSQL existente para a qual a autenticação do Microsoft Entra precisa ser habilitada.
objectId
text
identificador de objeto exclusivo do objeto Microsoft Entra.
objectType
text
ele pode ser definido como user
, group
ou service
(para aplicativos ou identidades gerenciadas que se conectam sob suas próprias credenciais de serviço).
admin
text
pode estar presente ou ausente. Os usuários/funções para os quais essa parte está presente em seu rótulo de segurança podem gerenciar outras funções de ID do Microsoft Entra.
Próximos passos
- Analise os conceitos gerais de autenticação do Microsoft Entra com o Banco de Dados do Azure para PostgreSQL - Servidor Flexível