Gerenciar as funções do Microsoft Entra no Banco 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 funções de banco de dados habilitadas para o Microsoft Entra ID em um servidor flexível do Banco de Dados do Azure para PostgreSQL.
Observação
Este guia pressupõe que você já habilitou a autenticação do Microsoft Entra em sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. Confira Como configurar a autenticação do Microsoft Entra
Se desejar saber mais sobre como criar e gerenciar usuários de assinatura do Azure e seus privilégios, você poderá ver o artigo Azure RBAC (controle de acesso baseado em função do Azure) ou examinar como personalizar funções.
Criar ou excluir administradores do Microsoft Entra usando o portal do Azure ou a API do Azure Resource Manager (Azure Resource Manager)
- Abra a página de 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, um grupo, um aplicativo ou uma identidade gerenciada do locatário atual do Microsoft Entra.
- Para remover um administrador, selecione o ícone Excluir referente ao que deve ser removido.
- Selecione Salvar e aguarde a conclusão da operação de provisionamento.
Observação
O suporte ao gerenciamento de Administradores do Microsoft Entra por meio do SDK do Azure, da CLI do Azure e do Azure PowerShell será disponibilizado em breve.
Depois que o primeiro administrador do Microsoft Entra for criado por meio da API ou do portal do Azure, você poderá usar a função Administrador para gerenciar as funções do Microsoft Entra em sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL.
É recomendável se familiarizar com a plataforma de identidade da Microsoft para melhor uso da integração do Microsoft Entra com o servidor flexível do Banco de Dados do Azure para PostgreSQL.
O servidor flexível do Banco de Dados do Azure para PostgreSQL armazenam internamente o mapeamento entre funções de banco de dados do PostgreSQL e identificadores exclusivos de objetos do AzureAD. Cada função de banco de dados do PostgreSQL pode ser mapeada para um dos seguintes tipos de objeto do Microsoft Entra:
- Usuário – incluindo usuários locais e convidados do locatário.
- Entidade de serviço. Incluindo Aplicativos e identidades gerenciadas
- Grupo Quando uma função do PostgreSQL é 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.
pg_catalog.pgaadauth_list_principals(isAdminValue boolean)
boolean
quando true
retorna usuários administradores. Quando false
retorna todos os usuários do Microsoft Entra, incluindo administradores e não administradores do Microsoft Entra.
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 de segurança 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 esta entidade de segurança no Microsoft Entra ID.isMfa
retornará um valor de1
se o usuário/função tiver a MFA imposta.isAdmin
retornará um valor de1
se o usuário/função for um administrador no PostgreSQL.
pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)
text
nome da função a ser criada. Isso deve corresponder ao nome da entidade de segurança do Microsoft Entra.
- Para usuários, use o nome UPN do perfil. Para usuários convidados, inclua o nome completo no domínio inicial com a marca #EXT#.
- Para grupos e entidades de serviço, use o nome de exibição. O nome precisa ser exclusivo no locatário.
boolean
quando true
cria um usuário administrador do PostgreSQL (membro da função azure_pg_admin
e com permissões CREATEROLE e CREATEDB). Quando false
ele cria um usuário regular do PostgreSQL.
boolean
quando true
impõe a autenticação multifator para este usuário do PostgreSQL.
Importante
O sinalizador isMfa
testa a declaração mfa
no token do Microsoft Entra ID, mas não afeta o fluxo de aquisição de 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á este sinalizador inútil.
text
valor único que consiste em uma cadeia de caracteres "Função criada para roleName", em que roleName é o argumento passado para o parâmetro roleName.
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 remover uma função do Entra, isso resultará em um erro.
DROP ROLE rolename;
pg_catalog.pgaadauth_create_principal_with_oid(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)
text
nome da função a ser criada.
text
identificador de objeto exclusivo do objeto do Microsoft Entra.
- Para usuários, grupos e identidades gerenciadas, a objectId pode ser encontrada pesquisando o nome do objeto na página do Microsoft Entra ID no portal do Azure. Veja este guia como exemplo
- Para grupos e entidades de serviço, use o nome de exibição. O nome precisa ser exclusivo no locatário.
- Para aplicativos, a objectId da entidade de serviço correspondente deve ser usada. No portal do Azure, a objectId necessária pode ser encontrada na página Aplicativos empresariais no portal do Azure.
text
o tipo de objeto do Microsoft Entra a ser vinculado a esta função. Pode ser user
, group
ou service
.
boolean
quando true
cria um usuário administrador do PostgreSQL (membro da função azure_pg_admin
e com permissões CREATEROLE e CREATEDB). Quando false
ele cria um usuário regular do PostgreSQL.
boolean
quando true
impõe a autenticação multifator para este usuário do PostgreSQL.
Importante
O sinalizador isMfa
testa a declaração mfa
no token do Microsoft Entra ID, mas não afeta o fluxo de aquisição de 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á este sinalizador inútil.
text
valor único que consiste em uma cadeia de caracteres "Função criada para roleName", em que roleName é o argumento passado para o parâmetro roleName.
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 do Microsoft Entra ID 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';
text
nome de uma função PostgreSQL existente para a qual a autenticação do Microsoft Entra precisa ser habilitada.
text
identificador de objeto exclusivo do objeto do Microsoft Entra.
text
ele pode ser definido como user
, group
ou service
(para aplicativos ou identidades gerenciadas que se conectam com suas próprias credenciais de serviço).
text
pode estar presente ou ausente. Os usuários/funções para os quais esta parte está presente em seu rótulo de segurança podem gerenciar outras funções do Microsoft Entra ID.