Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Important
La scalabilità automatica di Lakebase è la versione più recente di Lakebase, con calcolo autoscalabile, scalabilità fino a zero, ramificazione e ripristino immediato. Per le aree supportate, vedere Disponibilità dell'area. Se sei un utente provisioning di Lakebase, vedere Lakebase provisioning.
In Lakebase usare un ruolo condiviso temporaneo come passaggio intermedio per trasferire la proprietà dell'oggetto Postgres tra i ruoli. Non è possibile eseguire questa operazione direttamente con un comando standard ALTER TABLE ... OWNER TO .
Note
Questa pagina illustra il trasferimento della proprietà a un ruolo del gruppo Azure Databricks. Per concedere l'accesso agli oggetti senza modificare la proprietà, vedere Gestire le autorizzazioni del database.
Prerequisiti
- Il gruppo Azure Databricks destinato esiste nella tua area di lavoro. Per creare un gruppo: in Lakehouse passare a Impostazioni>Identità e accesso>Gruppi>Aggiungi gruppo.
- Il proprietario dell'oggetto corrente è un membro del gruppo di destinazione. Per aggiungere un membro: in Lakehouse passare a Impostazioni>Identità e accesso>Gruppi> del gruppo >Aggiungi membro.
- Esiste un ruolo Postgres per il gruppo Azure Databricks. Vedere Creare un ruolo OAuth per le identità Azure Databricks per aggiungere un ruolo Postgres per il gruppo.
Trasferire la proprietà di un singolo oggetto
Collegarsi come il ruolo
<current_owner>(il ruolo attualmente proprietario della tabella), quindi creare un ruolo di co-proprietà temporaneo:CREATE ROLE temp_table_owners NOLOGIN;Concedere le autorizzazioni dello schema al ruolo temporaneo:
GRANT USAGE, CREATE ON SCHEMA public TO temp_table_owners;Concedere l'appartenenza al ruolo temporaneo al proprietario corrente e al gruppo di destinazione:
GRANT temp_table_owners TO "<current_owner>"; GRANT temp_table_owners TO "<databricks_group_name>";Trasferire la proprietà della tabella al ruolo temporaneo:
ALTER TABLE <target_table> OWNER TO temp_table_owners;Nel progetto Lakebase fare clic su Connetti, selezionare il
<databricks_group_name>ruolo nell'elenco a discesa Ruoli e fare clic su Copia token OAuth.Connettersi nel ruolo di
<databricks_group_name>:export PGPASSWORD='<oauth_token>' psql -h <lakebase_hostname> -p 5432 \ -d <database_name> \ -U "<databricks_group_name>" \ --set=sslmode=requireTrasferire la tabella al ruolo del gruppo di Azure Databricks:
ALTER TABLE <target_table> OWNER TO "<databricks_group_name>";Verificare il trasferimento:
\dtLa colonna Proprietario per
<target_table>mostra<databricks_group_name>.
Trasferire la proprietà di più oggetti
REASSIGN OWNED trasferisce tutti gli oggetti posseduti da un ruolo, incluse tabelle, viste, viste materializzate, sequenze, funzioni, schemi e tipi.
Connettersi con il ruolo
<current_owner>, quindi creare un ruolo temporaneo di proprietà condivisa.CREATE ROLE temp_table_owners NOLOGIN;Concedi al ruolo temporaneo le autorizzazioni dello schema.
GRANT USAGE, CREATE ON SCHEMA public TO temp_table_owners;Concedere l'appartenenza al ruolo temporaneo al proprietario corrente e al gruppo di destinazione:
GRANT temp_table_owners TO "<current_owner>"; GRANT temp_table_owners TO "<databricks_group_name>";Riassegnare tutti gli oggetti di proprietà del proprietario corrente al ruolo temporaneo:
REASSIGN OWNED BY "<current_owner>" TO temp_table_owners;Nel progetto Lakebase fare clic su Connetti, selezionare il
<databricks_group_name>ruolo nell'elenco a discesa Ruoli e fare clic su Copia token OAuth.Connettersi nel ruolo di
<databricks_group_name>export PGPASSWORD='<oauth_token>' psql -h <lakebase_hostname> -p 5432 \ -d <database_name> \ -U "<databricks_group_name>" \ --set=sslmode=requireRiassegnare tutti gli oggetti dal ruolo temporaneo al gruppo di Azure Databricks:
REASSIGN OWNED BY temp_table_owners TO "<databricks_group_name>";
Note
REASSIGN OWNED ha il comportamento seguente:
- Viene eseguito nel contesto del database corrente. Eseguirlo in ogni database in cui è necessario trasferire la proprietà.
- Riassegna solo la proprietà. Non modifica le autorizzazioni esistenti GRANT o i privilegi predefiniti.