Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve como criar funções de banco de dados habilitadas para Microsoft Entra ID em uma instância de servidor flexível do Azure Database para PostgreSQL.
Para saber mais sobre como criar e gerenciar usuários de assinatura do Azure e seus privilégios, consulte o artigo do Azure RBAC (controle de acesso baseado em função) do Azure ou examine como personalizar funções.
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.
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 no locatário atual do Microsoft Entra.
- Para remover um administrador, selecione o ícone Excluir para o administrador que você deseja remover.
- Selecione Salvar e aguarde a conclusão da operação de provisionamento.
Observação
O suporte para o gerenciamento de Administradores do Microsoft Entra por meio do SDK do Azure, da CLI do Azure e do Azure PowerShell estará disponível em breve.
Gerenciar as funções do Microsoft Entra usando o SQL
Depois de criar o primeiro administrador do Microsoft Entra do portal ou da API do Azure, você pode usar a função de 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.
Para obter a melhor experiência com a integração do Microsoft Entra no Banco de Dados do Azure para PostgreSQL, recomendamos familiarizar-se com a plataforma de identidade da Microsoft.
Principais tipos
O Banco de Dados do Azure para PostgreSQL armazena internamente o mapeamento entre funções de banco de dados PostgreSQL e identificadores exclusivos de objetos do Microsoft Entra. Cada função de banco de dados do PostgreSQL pode ser mapeada para um dos seguintes tipos de objeto do Microsoft Entra:
- Usuário – Inclui usuários locais do locatário e convidados.
- Principal de Serviço – Incluindo aplicativos e identidades gerenciadas
- Grupo – Quando uma função do PostgreSQL está vinculada a um grupo do Microsoft Entra, qualquer usuário ou entidade de serviço membro desse grupo pode se conectar à instância do servidor flexível do Banco de Dados do Azure para PostgreSQL com a função de grupo.
Listar as funções do Microsoft Entra usando o SQL
select * from pg_catalog.pgaadauth_list_principals(isAdminValue boolean)
Arguments
isAdminValue
boolean - Quando true, retorna usuários administradores. Quando false, retorna todos os usuários do Microsoft Entra, incluindo administradores do Microsoft Entra e não administradores.
Tipo de retorno
TABLE(rolename name, principalType text, objectId text, tenantId text, isMfa integer, isAdmin integer) - Uma tabela com o seguinte esquema:
-
rolename- O nome da função no PostgreSQL. -
principalType– O tipo de entidade de segurança no Microsoft Entra ID. Pode seruser,groupouservice. -
objectId– O identificador do objeto no Microsoft Entra ID para essa entidade de segurança. -
tenantId– O identificador do locatário que hospeda essa entidade de segurança no Microsoft Entra ID. -
isMfa– Retorna um valor de1se o usuário/função tiver a MFA aplicada. -
isAdmin- Retorna um valor de1se o usuário/função for um administrador no PostgreSQL.
Criar um usuário ou função com um nome de entidade de segurança do Microsoft Entra
select * from pg_catalog.pgaadauth_create_principal(roleName text, isAdmin boolean, isMfa boolean)
Arguments
roleName
text nome da função a ser criada. Esse nome deve corresponder ao nome da entidade de segurança do Microsoft Entra.
- Para usuários, use o Nome de Usuário Principal do perfil. Para usuários convidados, inclua o nome completo em seu domínio de origem com a tag #EXT#.
- Para grupos e principais de serviço, use o nome de exibição. O nome precisa 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, cria um usuário regular do PostgreSQL.
isMfa
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, ele 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
valor único de text que consiste em uma cadeia de caracteres “Função criada para roleName”, em que roleName é o argumento transmitido para o parâmetro roleName.
Remover uma função com um nome de entidade de segurança do Microsoft Entra
Você pode remover uma função que corresponde a uma entidade de segurança do Microsoft Entra ID de três maneiras:
O portal do Azure
A API do Azure Resource Manager (ARM)
Executando a seguinte instrução SQL:
DROP ROLE rolename;
Observação
O portal do Azure exibe apenas funções de administrador. Para remover uma função não administrador, use a API do ARM (Azure Resource Manager) ou a instrução SQL.
Criar uma função usando o identificador de objeto do Microsoft Entra ID
select * from pg_catalog.pgaadauth_create_principal_with_oid(roleName text, objectId text, objectType text, isAdmin boolean, isMfa boolean)
Arguments
roleName
text nome da função a ser criada.
objectId
text identificador de objeto exclusivo do objeto do Microsoft Entra.
- Para usuários, grupos e identidades gerenciadas, encontre o
objectIdpesquisando o nome do objeto na página Microsoft Entra ID no Azure portal. Veja este guia como um exemplo. - Para grupos e principais de serviço, use o nome de exibição. O nome precisa ser exclusivo no locatário.
- Para aplicativos, use a objectId da entidade de serviço correspondente. No portal do Azure, localize a objectId necessária na página Aplicativos Empresariais .
objectType
text tipo de objeto do Microsoft Entra para vincular 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, cria um usuário regular do PostgreSQL.
isMfa
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, ele 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
valor único de text que consiste em uma cadeia de caracteres “Função criada para roleName”, em que roleName é o argumento transmitido para o parâmetro roleName.
Habilitar a autenticação do Microsoft Entra para uma função do PostgreSQL existente usando o SQL
O 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 correspondente do Microsoft Entra ID.
Use o SEGUINTE SQL para atribuir o rótulo de segurança necessário e mapeá-lo para um objeto do Microsoft Entra:
SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<objectType>,admin';
Arguments
roleName
text nome de uma função PostgreSQL existente para habilitar a autenticação do Microsoft Entra.
objectId
text identificador de objeto exclusivo do objeto do Microsoft Entra.
objectType
text definido como user, groupou service (para aplicativos ou identidades gerenciadas que se conectam sob suas próprias credenciais de serviço).
admin
text definido como presente ou ausente. Se estiverem presentes no rótulo de segurança, os usuários ou funções poderão gerenciar outras funções do Microsoft Entra ID.