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.
Importante
Esse recurso está em Visualização Pública nas seguintes regiões: westus, , westus2, eastus, eastus2, centralus, southcentralus, , northeurope, westeurope, , australiaeast, , brazilsouth, , canadacentral, , centralindia, , southeastasiauksouth.
Uma função do Postgres para a identidade do Azure Databricks do proprietário da instância do banco de dados Lakebase é criada de forma automática.
Inicialmente, somente o proprietário da instância pode fazer logon e acessar a instância por meio do Postgres. Para permitir que outras identidades do Azure Databricks façam login na instância do banco de dados, a identidade do Azure Databricks deve ter uma função do Postgres correspondente.
Esta página descreve como adicionar e gerenciar funções adicionais baseadas em identidade do Azure Databricks no PostgreSQL.
Criar funções do Postgres e conceder privilégios para identidades do Azure Databricks
Crie funções do Postgres usando a interface do usuário do Azure Databricks ou consultas PostgreSQL.
Observação
As ações de gerenciamento de função são regidas pelas permissões concedidas na instância do banco de dados. Verifique se você tem o nível apropriado de acesso antes de tentar gerenciar funções.
interface do usuário
Os usuários com CAN USE permissão na instância do banco de dados podem exibir as funções existentes do Postgres associadas às identidades do Azure Databricks ou adicionar uma função para sua própria identidade à instância.
Além disso, os usuários com CAN MANAGE podem criar funções para outras identidades do Azure Databricks, incluindo com privilégios adicionais, e remover funções para qualquer identidade do Azure Databricks.
Você pode atribuir permissões adicionais a usuários, grupos ou entidades de serviço desejados na página de visão geral de instâncias de banco de dados.
- Clique
Aplicativos no canto superior direito e selecione Lakebase Postgres.
- Clique em Provisionado para abrir a página Instâncias Provisionadas.
- Selecione sua instância de banco de dados.
- Selecione a página Funções na barra lateral do Aplicativo Lakebase.
- Clique em Adicionar função no canto superior direito.
- No menu suspenso Principal, selecione um usuário, grupo ou entidade de serviço que você deseja conceder acesso ao banco de dados. Você deve selecionar uma identidade do Azure Databricks que ainda não tenha uma função Postgres na instância.
- (Opcional) Selecione Funções do Sistema a serem concedidas:
-
databricks_superuser: concede acesso de leitura e gravação a todos os dados. Essa é uma função administrativa com privilégios amplos que herda de
pg_read_all_data,pg_write_all_dataepg_monitor. Consulte as funções e permissões pré-criadas.
-
databricks_superuser: concede acesso de leitura e gravação a todos os dados. Essa é uma função administrativa com privilégios amplos que herda de
- (Opcional) Selecione Atributos do Sistema para conceder recursos específicos:
- CREATEDB: concede permissão para criar novos bancos de dados.
- CREATEROLE: concede permissão para criar novas funções.
- BYPASSRLS: Concede permissão para ignorar políticas de segurança em nível de linha (RLS).
- Clique em Adicionar.
PostgreSQL
Antes de criar novas funções do Postgres, verifique se você atende aos seguintes requisitos:
- Você deve ter as permissões
CREATEeCREATE ROLEno banco de dados. - Você deve autenticar e fazer login no Postgres usando uma identidade do Azure Databricks (usuário, princípio de serviço ou grupo). As sessões autenticadas do Postgres nativo não podem criar funções do Azure Databricks.
- Seu token de autenticação deve ser válido e não ter expirado no momento da criação da função.
Use a função databricks_create_role para adicionar e criar funções do PostgreSQL baseadas em identidade do Azure Databricks. A extensão databricks_auth personalizada do PostgreSQL fornece a databricks_create_role função.
Crie a extensão
databricks_auth. Cada banco de dados Postgres deve ter sua própria extensão.CREATE EXTENSION IF NOT EXISTS databricks_auth;Use a
databricks_create_rolefunção para adicionar e criar novas funções postgres para identidades do Azure Databricks. A função ainda não deve existir. Se existir uma função com o mesmo nome, solte-a antes de criar a função baseada em identidade do Azure Databricks.SELECT databricks_create_role('identity_name', 'identity_type');Os
identity_nameparâmetros e os parâmetrosidentity_typedependem do tipo de identidade do Azure Databricks:Usuário do Azure Databricks:
- identity_name: Email do usuário, por exemplo,
myuser@databricks.com - tipo_de_identidade:
USER
SELECT databricks_create_role('myuser@databricks.com','USER');- identity_name: Email do usuário, por exemplo,
Principal de Serviço do Azure Databricks:
- identity_name: ID do aplicativo da Entidade de Serviço, por exemplo,
8c01cfb1-62c9-4a09-88a8-e195f4b01b08 - tipo_de_identidade:
SERVICE_PRINCIPAL
SELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08','SERVICE_PRINCIPAL');- identity_name: ID do aplicativo da Entidade de Serviço, por exemplo,
Grupo do Azure Databricks:
- identity_name: nome do grupo (sensível a maiúsculas e minúsculas):
My Group 123 - tipo_de_identidade:
GROUP
SELECT databricks_create_role('My Group 123','GROUP');- identity_name: nome do grupo (sensível a maiúsculas e minúsculas):
Uma função criada usando
databricks_create_roleapenas tem privilégios concedidos àPUBLICapós a criação. Para conceder ou revogar privilégios adicionais, use os comandos padrão de gerenciamento de privilégios do PostgresGRANTeREVOKE.Conceda permissão de leitura à função para acessar uma tabela.
GRANT SELECT ON "my_schema"."my_table" TO <role-name>;Remova o acesso de gravação a uma tabela da função.
REVOKE INSERT, UPDATE, DELETE ON TABLE "my_schema"."my_table" FROM <role-name>;Revogue todo o acesso a um banco de dados da função.
REVOKE CONNECT ON DATABASE "example_database" FROM <role-name>;
Exibir funções de identidade do Azure Databricks
interface do usuário
Você pode ver quais usuários, grupos e entidades de serviço têm uma função PostgreSQL correspondente na página de visão geral das instâncias de banco de dados.
- Clique
Aplicativos no canto superior direito e selecione Lakebase Postgres.
- Clique em Provisionado para abrir a página Instâncias Provisionadas.
- Selecione sua instância de banco de dados.
- Selecione a página Funções na barra lateral do Aplicativo Lakebase.
PostgreSQL
Use consultas PostgreSQL para listar todos os roles de identidade do Azure Databricks criados por padrão e, usando a função databricks_create_role, use a função databricks_list_roles na extensão databricks_auth. Isso lista todos os usuários, entidades de serviço e grupos do Azure Databricks adicionados para autenticar como funções do Postgres.
CREATE EXTENSION IF NOT EXISTS databricks_auth;
SELECT * from databricks_list_roles;
Descartar uma função do Postgres baseada em identidade do Azure Databricks
interface do usuário
A remoção de uma função não pode ser desfeita. Você pode recriar uma função, mas qualquer reatribuição de propriedade de objeto não é reversível sem descartar a nova função que possui objetos reatribuídos.
- Clique
Aplicativos no canto superior direito e selecione Lakebase Postgres.
- Clique em Provisionado para abrir a página Instâncias Provisionadas.
- Selecione sua instância de banco de dados.
- Selecione a página Funções na barra lateral do Aplicativo Lakebase.
- Para a função que você deseja remover, clique no
No lado direito da linha.
- Clique em Soltar.
- (Opcional) Se a função possuir objetos, ative reatribuir objetos de propriedade para habilitar a remoção da função. Essa opção reatribui objetos de propriedade para outra função antes de remover. Alguns objetos (como concessões para a função que está sendo removida) não são reatribuíveis e são removidos após a reatribuição de todos os objetos reatribuíveis.
- Clique em Confirmar.
PostgreSQL
Uma função Postgres baseada em identidade do Azure Databricks pode ser excluída da mesma forma que qualquer outra função Postgres. Para obter mais detalhes, consulte a documentação do PostgreSQL sobre como remover funções. Depois que uma função baseada em identidade do Azure Databricks é descartada, ela não pode ser usada para autenticação baseada em token e acesso ao Postgres.