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.
Important
O Dimensionamento Automático do Lakebase é a versão mais recente do Lakebase, com computação de dimensionamento automático, escala para zero, ramificação e restauração instantânea. Para regiões com suporte, consulte a disponibilidade da região. Se você for um usuário provisionado do Lakebase, consulte Lakebase Provisioned.
No Lakebase, use uma função compartilhada temporária como uma etapa intermediária para transferir a propriedade do objeto Postgres entre funções. Você não pode fazer isso diretamente com um comando padrão ALTER TABLE ... OWNER TO .
Note
Esta página aborda a transferência de propriedade para uma função de grupo Azure Databricks. Para conceder acesso a objetos sem alterar a propriedade, consulte Gerenciar permissões de banco de dados.
Pré-requisitos
- O grupo de Azure Databricks de destino existe em seu workspace. Para criar um grupo: No Lakehouse, vá para Configurações>Identidade e acesso>Grupos>Adicionar Grupo.
- O proprietário do objeto atual é um membro do grupo de destino. Para adicionar um membro: no Lakehouse, vá para Configurações>Identidade e acesso>Grupos> seu grupo >Adicionar membro.
- Existe uma função Postgres para o grupo Azure Databricks. Consulte Criar uma função OAuth para identidades Azure Databricks para adicionar uma função Postgres ao grupo.
Transferir a propriedade de um único objeto
Conecte-se como a
<current_owner>função (a função que atualmente possui a tabela) e crie uma função de propriedade compartilhada temporária:CREATE ROLE temp_table_owners NOLOGIN;Conceda permissões de esquema à função temporária:
GRANT USAGE, CREATE ON SCHEMA public TO temp_table_owners;Conceda a associação na função temporária ao proprietário atual e ao grupo de destino:
GRANT temp_table_owners TO "<current_owner>"; GRANT temp_table_owners TO "<databricks_group_name>";Transferir a propriedade da tabela para a função temporária:
ALTER TABLE <target_table> OWNER TO temp_table_owners;Em seu projeto do Lakebase, clique em Conectar, selecione a
<databricks_group_name>função na lista suspensa Funções e clique em Copiar Token OAuth.Conecte-se como a
<databricks_group_name>função:export PGPASSWORD='<oauth_token>' psql -h <lakebase_hostname> -p 5432 \ -d <database_name> \ -U "<databricks_group_name>" \ --set=sslmode=requireTransfira a tabela para o grupo de funções do Azure Databricks:
ALTER TABLE <target_table> OWNER TO "<databricks_group_name>";Verifique a transferência:
\dtA coluna Proprietário para
<target_table>mostra<databricks_group_name>.
Transferir a propriedade de vários objetos
REASSIGN OWNED transfere todos os objetos pertencentes a uma função, incluindo tabelas, exibições, exibições materializadas, sequências, funções, esquemas e tipos.
Conecte-se como a
<current_owner>função e crie uma função de propriedade compartilhada temporária:CREATE ROLE temp_table_owners NOLOGIN;Conceda permissões de esquema à função temporária:
GRANT USAGE, CREATE ON SCHEMA public TO temp_table_owners;Conceda a associação na função temporária ao proprietário atual e ao grupo de destino:
GRANT temp_table_owners TO "<current_owner>"; GRANT temp_table_owners TO "<databricks_group_name>";Reatribua todos os objetos de propriedade do proprietário atual para a função temporária:
REASSIGN OWNED BY "<current_owner>" TO temp_table_owners;Em seu projeto do Lakebase, clique em Conectar, selecione a
<databricks_group_name>função na lista suspensa Funções e clique em Copiar Token OAuth.Conecte-se como a
<databricks_group_name>função:export PGPASSWORD='<oauth_token>' psql -h <lakebase_hostname> -p 5432 \ -d <database_name> \ -U "<databricks_group_name>" \ --set=sslmode=requireReatribua todos os objetos da função temporária para o grupo Azure Databricks:
REASSIGN OWNED BY temp_table_owners TO "<databricks_group_name>";
Note
REASSIGN OWNED tem o seguinte comportamento:
- É executado no contexto atual do banco de dados. Execute-o em cada banco de dados em que você deve transferir a propriedade.
- Reatribui apenas a propriedade. Ele não altera permissões existentes GRANT ou privilégios padrão.