Compartilhar via


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)

  1. 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.
  2. 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.
  3. Para remover um administrador, selecione o ícone Excluir referente ao que deve ser removido.
  4. Selecione Salvar e aguarde a conclusão da operação de provisionamento.

Screenshot of managing Microsoft Entra administrators via portal.

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.

Gerenciar as funções do Microsoft Entra usando o SQL

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.

Tipos de entidade de segurança

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:

  1. Usuário – incluindo usuários locais e convidados do locatário.
  2. Entidade de serviço. Incluindo Aplicativos e identidades gerenciadas
  3. 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.

Listar as funções do Microsoft Entra usando o SQL

select * from pgaadauth_list_principals(true);

Parâmetros:

  • true – retornará usuários administradores.
  • false – Retornará todos os usuários do Microsoft Entra, tanto os administradores do Microsoft Entra quanto os administradores que não são do Microsoft Entra.

Criar uma função usando o nome da entidade de segurança do Microsoft Entra

select * from pgaadauth_create_principal('<roleName>', <isAdmin>, <isMfa>);

--For example: 

select * from pgaadauth_create_principal('mary@contoso.com', false, false);

Parâmetros:

  • roleName – nome da função a ser criada. Isso precisa corresponder a um 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.
  • isAdmin – defina como true ao criar um usuário administrador e false para um usuário regular. O usuário administrador criado dessa forma tem os mesmos privilégios que um criado por meio do portal ou da API.
  • isMfa – sinalize se a Autenticação Multifator precisar ser imposta para essa função.

Remover uma função usando o nome da entidade de segurança 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 remover 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

select * from pgaadauth_create_principal_with_oid('<roleName>', '<objectId>', '<objectType>', <isAdmin>, <isMfa>);

For example: select * from pgaadauth_create_principal_with_oid('accounting_application', '00000000-0000-0000-0000-000000000000', 'service', false, false);

Parâmetros:

  • roleName – nome da função a ser criada.
  • objectId – Identificador de objeto exclusivo do objeto do Microsoft Entra:
    • No caso de Usuários, Grupos e Identidades Gerenciadas, encontre a ObjectId pesquisando o nome do objeto na página do Microsoft Entra ID no portal do Azure. Veja este guia como exemplo
    • 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.
  • objectType – Tipo de objeto do Microsoft Entra a ser vinculado a essa função: serviço, usuário, grupo.
  • isAdmin – defina como true ao criar um usuário administrador e false para um usuário regular. O usuário administrador criado dessa forma tem os mesmos privilégios que um criado por meio do portal ou da API.
  • isMfa – sinalize se a Autenticação Multifator precisar ser imposta para essa função.

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

Você pode usar o seguinte SQL para atribuir o rótulo de segurança:

SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<user|group|service>,admin';

Parâmetros:

  • roleName – Nome de uma função do PostgreSQL existente para a qual a autenticação do Microsoft Entra precisa ser habilitada.
  • objectId – Identificador de objeto exclusivo do objeto do Microsoft Entra.
  • user – entidades de usuário finais.
  • service – Aplicativos ou Identidades Gerenciadas conectando-se sob suas próprias credenciais de serviço.
  • group – Nome do grupo do Microsoft Entra.

Próximas etapas