Partilhar via


Gerenciar funções do Microsoft Entra no Banco de Dados do Azure para PostgreSQL

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 Banco de Dados do Azure para PostgreSQL.

Para saber mais sobre como criar e gerenciar usuários de assinatura do Azure e seus privilégios, consulte o artigo Controle de acesso baseado em função do Azure (Azure RBAC) ou revise como personalizar funções.

Observação

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.

Criar ou excluir administradores do Microsoft Entra usando o portal do Azure ou a API do Azure Resource Manager (ARM)

  1. 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.
  2. 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.
  3. Para remover um administrador, selecione o ícone Excluir do administrador que você deseja remover.
  4. 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, az cli e Azure PowerShell será disponibilizado em breve.

Gerenciar funções do Microsoft Entra usando SQL

Depois de criar o primeiro administrador do Microsoft Entra a partir do portal ou da API do Azure, você pode 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.

Para obter a melhor experiência com a integração do Microsoft Entra no Banco de Dados do Azure para PostgreSQL, recomendamos se familiarizar 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 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 é vinculada a um grupo do Microsoft Entra, qualquer utilizador ou entidade de serviço membro deste grupo pode se conectar à instância de servidor flexível do Azure Database para PostgreSQL com a função de grupo.

Listar funções do Microsoft Entra usando 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 e não administradores do Microsoft Entra.

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 no Microsoft Entra ID. Pode ser user, groupou service.
  • 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 - Devolve um valor de 1 se o utilizador/função tiver MFA imposta.
  • isAdmin - Retorna um valor de 1 se o usuário/função é um administrador no PostgreSQL.

Criar um usuário ou função com um nome principal 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 do principal do Microsoft Entra.

  • Para utilizadores, use o Nome Principal de Utilizador do perfil. Para usuários convidados, inclua o nome completo em seu domínio inicial com a tag #EXT#.
  • Para grupos e principais de serviço, use o nome de 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, 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 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 inquilino do principal não estiver configurado para autenticação multifator, impede o uso dessa funcionalidade. 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 que você passa para o parâmetro roleName .

Eliminar uma função com um nome principal do Microsoft Entra

Pode remover uma função que corresponde a um principal 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 descartar uma função não administrativa, use a API do Azure Resource Manager (ARM) ou a instrução SQL.

Criar uma função usando o identificador de objeto ID do Microsoft Entra

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 Microsoft Entra.

  • Para usuários, grupos e identidades gerenciadas, localize o objectId pesquisando o nome do objeto na página ID do Microsoft Entra no portal do Azure. Veja este guia como um exemplo.
  • Para grupos e principais de serviço, use o nome de exibição. O nome deve ser exclusivo no locatário.
  • Para aplicativos, use o objectId da entidade de serviço correspondente. No portal do Azure, localize o objectId necessário na página Aplicativos Empresariais .
objectType

text tipo de objeto do Microsoft Entra para vincular a essa função. Pode ser user, groupou 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 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 inquilino do principal não estiver configurado para autenticação multifator, impede o uso dessa funcionalidade. 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 que você passa para o parâmetro roleName .

Habilitar a autenticação do Microsoft Entra para uma função existente do PostgreSQL usando 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 Microsoft Entra.

objectType

text Defina 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 utilizadores ou as funções podem gerir outras funções do Microsoft Entra ID.