Questa pagina spiega come configurare controllo dell'accesso granulare per i database Spanner per GoogleSQL e PostgreSQL.
Per scoprire di più sul controllo dell'accesso granulare, consulta l'articolo Informazioni sul controllo dell'accesso granulare.
Per configurare il controllo dell'accesso granulare:
Gli utenti controllo dell'accesso granulare devono quindi specificare un ruolo di database per eseguire query, DML o operazioni sulle righe nel database.
Prima di iniziare
Assicurati che a ogni entità che deve essere un utente controllo dell'accesso granulare venga concesso
il ruolo IAM Cloud Spanner Viewer
(roles/spanner.viewer
).
Questo ruolo è consigliato a livello di progetto per gli utenti che devono interagire con
le risorse Spanner nella console Google Cloud .
Per istruzioni, vedi Concedere autorizzazioni ai principal.
Crea ruoli di database e concedi privilegi
Un ruolo database è una raccolta di privilegi di accesso granulari. Puoi creare fino a 100 ruoli del database per ogni database.
Decidi i ruoli e le gerarchie dei ruoli nel database e codificali in DDL. Come per altre modifiche dello schema in Spanner, consigliamo vivamente di eseguire le modifiche dello schema in batch anziché separatamente. Per ulteriori informazioni, vedi Limitare la frequenza degli aggiornamenti dello schema.
Console
Per creare un ruolo del database e concedere privilegi di accesso granulari, segui questi passaggi:
Vai alla pagina Istanze nella console Google Cloud .
Seleziona l'istanza contenente il database per cui vuoi aggiungere il ruolo.
Seleziona il database.
Nella pagina Panoramica, fai clic su Spanner Studio.
Nella pagina Spanner Studio, per ogni ruolo di database a cui vuoi creare e concedere privilegi, segui questi passaggi:
Per creare il ruolo, inserisci la seguente istruzione:
CREATE ROLE ROLE_NAME;
Non fare ancora clic su Invia.
Per concedere privilegi al ruolo, inserisci un'istruzione
GRANT
nella riga successiva dopo l'istruzioneCREATE ROLE
.Per informazioni dettagliate sulla sintassi dell'istruzione
GRANT
, consulta GoogleSQL Data Definition Language. Per informazioni sui privilegi, vedi Privilegi di controllo dell'accesso granulare.Ad esempio, per concedere
SELECT
,INSERT
eUPDATE
sulle tabelleemployees
econtractors
al ruolo del databasehr_manager
, inserisci la seguente istruzione:GoogleSQL
GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO ROLE hr_manager;
PostgreSQL
GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO hr_manager;
Puoi utilizzare un modello DDL per l'istruzione
GRANT
. Nel riquadro Explorer, vai al ruolo per cui vuoi concedere privilegi. Fai clic su Visualizza azioni e seleziona il tipo di privilegio a cui vuoi concedere l'accesso per questo ruolo. Il modelloGRANT
viene compilato in una nuova scheda dell'editor.
Fai clic su Invia.
Se sono presenti errori nel DDL, la console Google Cloud restituisce un errore.
gcloud
Per creare un ruolo del database e concedere privilegi di accesso granulari,
utilizza il comando gcloud spanner databases ddl update
con le istruzioni CREATE ROLE
e GRANT
.
Per informazioni dettagliate sulla sintassi delle istruzioni CREATE ROLE
e GRANT
, consulta
GoogleSQL Data Definition Language.
Ad esempio, utilizza il seguente comando per creare un ruolo di database e concedere i privilegi su una o più tabelle.
GoogleSQL
gcloud spanner databases ddl update DATABASE_NAME --instance=INSTANCE_NAME \ --ddl='CREATE ROLE ROLE_NAME; GRANT PRIVILEGES ON TABLE TABLES TO ROLE ROLE_NAME;'
PostgreSQL
gcloud spanner databases ddl update DATABASE_NAME --instance=INSTANCE_NAME \ --ddl='CREATE ROLE ROLE_NAME; GRANT PRIVILEGES ON TABLE TABLES TO ROLE_NAME;'
Sostituisci quanto segue:
PRIVILEGES
è un elenco delimitato da virgole di privilegicontrollo dell'accessoo dell'accesso granulare. Per informazioni sui privilegi, vedi Privilegi di controllo dell'accesso granulare.TABLES
è un elenco di tabelle separate da virgole.
Ad esempio, per concedere SELECT
,
INSERT
e UPDATE
nelle tabelle employees
e contractors
al
ruolo di database hr_analyst
nel database hrdb1
nell'istanza hr
,
inserisci la seguente istruzione:
GoogleSQL
gcloud spanner databases ddl update hrdb1 --instance=hr \ --ddl='CREATE ROLE hr_analyst; GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO ROLE hr_analyst;'
PostgreSQL
gcloud spanner databases ddl update hrdb1 --instance=hr \ --ddl='CREATE ROLE hr_analyst; GRANT SELECT, INSERT, UPDATE ON TABLE employees, contractors TO hr_analyst;'
Librerie client
Questi esempi di codice creano ed eliminano un ruolo del database.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Creare una gerarchia di ruoli con ereditarietà
Puoi creare una gerarchia di ruoli database concedendo un ruolo database a un altro. I ruoli secondari (noti come ruoli membro) ereditano i privilegi dal ruolo padre.
Per concedere un ruolo database a un altro ruolo database, utilizza la seguente istruzione:
GoogleSQL
GRANT ROLE role1 TO ROLE role2;
PostgreSQL
GRANT role1 TO role2;
Per ulteriori informazioni, vedi Gerarchie e ereditarietà dei ruoli del database.
Concedi ruoli di database alle entità
Per accedere alle risorse Spanner, a un'entità deve essere concesso il ruolo database necessario utilizzando una delle seguenti opzioni:
Console
Nella pagina Panoramica del database, fai clic su MOSTRA RIQUADRO INFORMAZIONI se il riquadro informazioni non è già aperto.
Fai clic su AGGIUNGI ENTITÀ.
Nella sezione Aggiungi entità, in Nuove entità, inserisci una o più entità.
In Assegna i ruoli, seleziona Cloud Spanner > Utente con accesso granulare a Cloud Spanner in Seleziona un ruolo.
Devi concedere questo ruolo una sola volta a ogni entità di servizio. rende l'entità un utente concontrollo dell'accessoo granulare.
Fai clic su AGGIUNGI UN ALTRO RUOLO.
In Seleziona un ruolo, seleziona Cloud Spanner > Utente del ruolo di database Cloud Spanner.
Segui questi passaggi per creare la condizione IAM che specifica i ruoli da concedere.
Accanto al ruolo Utente ruolo database Cloud Spanner, fai clic su AGGIUNGI CONDIZIONE IAM.
Nel riquadro Aggiungi condizione, inserisci un titolo e una descrizione facoltativa per la condizione.
Se concedi un singolo ruolo database, in genere includi il nome del ruolo nel titolo della condizione. Se concedi più ruoli, puoi indicare qualcosa sul set di ruoli.
Fai clic su Editor di condizioni.
Nel campo Espressione, inserisci il seguente codice:
resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/ROLE")
Sostituisci
ROLE
con il nome del tuo ruolo.Per concedere più di un ruolo all'entità, aggiungi altre condizioni con l'operatore or (
||
), come mostrato nell'esempio seguente:resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))
Questo codice concede due ruoli. Sostituisci
ROLE1
eROLE2
con i nomi dei tuoi ruoli. Per concedere più di due ruoli, aggiungi altre condizioni o.Puoi utilizzare qualsiasi espressione di condizione supportata da IAM. Per saperne di più, consulta la panoramica delle condizioni IAM.
Fai clic su Salva.
Verifica che la condizione venga visualizzata nella colonna Condizione IAM accanto al campo Ruolo.
Fai clic su Salva.
Nel riquadro Informazioni, in Ruolo/Entità, nota che Utente ruolo database Cloud Spanner viene visualizzato per ogni condizione definita.
Il numero tra parentesi accanto alla condizione indica il numero di entità a cui viene concesso il ruolo del database in base a quella condizione. Puoi fare clic sulla freccia di espansione per visualizzare l'elenco dei principali.
Per correggere gli errori nei nomi o nelle condizioni dei ruoli del database o per aggiungere ruoli del database aggiuntivi per un'entità, segui questi passaggi:
Espandi la voce Utente ruolo database Cloud Spanner che elenca la condizione che ti interessa.
Fai clic sull'icona Modifica (a forma di matita) accanto a un'entità.
Nel riquadro Modifica l'accesso al database_name, esegui una delle seguenti operazioni:
Fai clic su AGGIUNGI UN ALTRO RUOLO.
Per modificare la condizione, fai clic sull'icona Modifica (a forma di matita) accanto al nome della condizione. Nella pagina Modifica condizione, fai clic su Editor condizioni, apporta le correzioni e fai clic su Salva due volte.
gcloud
Abilita il controllo dell'accesso granulare per l'entità utilizzando il comando
gcloud spanner databases add-iam-policy-binding
come segue:gcloud spanner databases add-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=roles/spanner.fineGrainedAccessUser \ --member=MEMBER_NAME \ --condition=None
MEMBER_NAME
è l'identificatore del principale. Deve utilizzare una delle seguenti sintassi:user|group|serviceAccount:email
odomain:domain
.Questo comando rende l'entità un utente controllo dell'accesso granulare. Invia questo comando una sola volta per ogni entità.
In caso di esito positivo, il comando restituisce l'intera policy per il database.
Concedi l'autorizzazione per utilizzare uno o più ruoli database utilizzando il comando
gcloud spanner databases add-iam-policy-binding
come segue:gcloud spanner databases add-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=roles/spanner.databaseRoleUser \ --member=MEMBER_NAME \ --condition=CONDITION
MEMBER_NAME
è l'identificatore del principale. Deve utilizzare una delle seguenti sintassi:user|group|serviceAccount:email
odomain:domain
.CONDITION
è un'espressione di condizione IAM che specifica i ruoli da concedere all'entità.CONDITION
ha il seguente formato:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/ROLE1")),title=TITLE,description=DESCRIPTION'
In alternativa, per concedere all'entità l'accesso a più di un ruolo, aggiungi altre condizioni con l'operatore or (
||
), come mostrato nell'esempio seguente:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))),title=TITLE,description=DESCRIPTION'
Questo codice concede due ruoli. Sostituisci
ROLE1
eROLE2
con i nomi dei tuoi ruoli. Per concedere più di due ruoli, aggiungi altre condizioni o con l'operatore||
.Puoi utilizzare qualsiasi espressione di condizione supportata da IAM. Per saperne di più, consulta la panoramica delle condizioni IAM.
In caso di esito positivo, il comando restituisce l'intera policy per il database.
Il seguente esempio concede i ruoli database
hr_rep
ehr_manager
all'entitàjsmith@example.com
.gcloud spanner databases add-iam-policy-binding myDatabase \ --instance=myInstance \ --role=roles/spanner.databaseRoleUser \ --member=user:jsmith@example.com \ --condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/hr_rep") || resource.name.endsWith("/hr_manager"))),title=HR roles,description=Grant permissions on HR roles'
Librerie client
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Informare utenti e sviluppatori di iniziare a utilizzare i ruoli del database
Una volta completata la configurazione iniziale controllo dell'accesso granulare, informa gli utenti e gli sviluppatori di applicazioni che devono iniziare a utilizzare i ruoli del database.
Gli utenti controllo dell'accesso granulare devono iniziare a specificare un ruolo di database quando accedono ai database Spanner tramite la console Google Cloud o lGoogle Cloud CLI.
Le applicazioni che utilizzano controllo dell'accesso granulare devono specificare un ruolo di database quando accedono al database.
Per saperne di più, vedi Accedere a un database con il controllo dell'accesso granulare.
Eseguire la transizione di un principal al controllo dell'accesso granulare
Per eseguire la transizione di un principal dal controllo dell'accesso a livello di database al controllo dell'accesso dell'accesso granulare:
Attiva controllo dell'accesso granulare per l'entità e concedi l'accesso a tutti i ruoli del database richiesti, come descritto in Concedere ruoli del database alle entità.
Aggiorna tutte le applicazioni eseguite come questa entità. Specifica i ruoli del database appropriati nelle chiamate ai metodi della libreria client.
Revoca tutti i ruoli IAM a livello di database dall'entità. In questo modo, l'accesso per l'entità è regolato da un solo metodo.
Eccezione: per interagire con le risorse Spanner nella consoleGoogle Cloud , tutti gli utenti devono disporre del ruolo IAM
roles/spanner.viewer
.Per revocare i ruoli IAM a livello di database, segui le istruzioni riportate in Rimuovere le autorizzazioni a livello di database.
Elenca ruoli database
Puoi elencare i ruoli del database associati a un database.
Console
Per elencare i ruoli del database, inserisci la seguente query nella pagina di Spanner Studio per il database:
GoogleSQL
SELECT * FROM INFORMATION_SCHEMA.ROLES;
PostgreSQL
SELECT * FROM information_schema.enabled_roles;
La risposta include il ruolo attuale e i ruoli i cui privilegi possono essere utilizzati dal ruolo attuale tramite ereditarietà. Per recuperare tutti i ruoli, utilizza il comando Google Cloud CLI.
gcloud
Per ottenere un elenco non filtrato dei ruoli del database, inserisci il seguente comando.
Richiede l'autorizzazione spanner.databaseRoles.list
.
gcloud spanner databases roles list --database=DATABASE_NAME --instance=INSTANCE_NAME
Librerie client
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Visualizzare i privilegi concessi a un ruolo del database
Per visualizzare i privilegi concessi a un ruolo, esegui le seguenti query:
GoogleSQL
SELECT * FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES WHERE grantee = 'ROLE_NAME'; SELECT * FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES WHERE grantee = 'ROLE_NAME'; SELECT * FROM INFORMATION_SCHEMA.CHANGE_STREAM_PRIVILEGES WHERE grantee = 'ROLE_NAME';
INFORMATION_SCHEMA.TABLE_PRIVILEGES
restituisce i privilegi su tabelle e
viste. I privilegi SELECT
, INSERT
e UPDATE
in TABLE_PRIVILEGES
vengono visualizzati anche in COLUMN_PRIVILEGES
.
PostgreSQL
SELECT * FROM information_schema.table_privileges WHERE grantee = 'ROLE_NAME'; SELECT * FROM information_schema.column_privileges WHERE grantee = 'ROLE_NAME'; SELECT * FROM information_schema.change_stream_privileges WHERE grantee = 'ROLE_NAME';
information_schema.table_privileges
restituisce i privilegi su tabelle e
viste.
I privilegi SELECT
, INSERT
e UPDATE
in table_privileges
vengono visualizzati anche in column_privileges
.
Visualizzare gli utenti controllo dell'accesso granulare
Per visualizzare un elenco delle entità che sono utenti controllo dell'accesso granulare, esegui questo comando. Per eseguire il comando, devi aver abilitato l'API Cloud Asset nel tuo progetto e devi disporre dell'autorizzazione IAM cloudasset.assets.searchAllIamPolicies
.
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.fineGrainedAccessUser AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[].members[] \ --format='table(policy.bindings.members)'
L'output è simile al seguente:
MEMBERS user:222larabrown@gmail.com user:baklavainthebalkans@gmail.com serviceAccount:cs-fgac-sa-1@cloud-spanner-demo.google.com.iam.gserviceaccount.com serviceAccount:cs-fgac-sa-2@cloud-spanner-demo.google.com.iam.gserviceaccount.com
Per maggiori informazioni, vedi Abilitazione di un'API nel progetto Google Cloud .
Visualizzare le entità con accesso al database
Per visualizzare un elenco dei principal a cui è stato concesso l'accesso a un determinato database, esegui questi comandi. Per eseguire questi comandi, devi aver abilitato l'API Cloud Asset nel tuo progetto e devi disporre dell'autorizzazione IAM cloudasset.assets.searchAllIamPolicies
.
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.databaseRoleUser AND policy:"resource.name" AND policy:/ROLE_NAME AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[].members[] \ --format='table(policy.bindings.members)'
L'output è simile al seguente:
MEMBERS 222larabrown@gmail.com
Visualizzare le condizioni IAM per un principal
Per visualizzare un elenco delle condizioni IAM specificate quando è stato concesso il ruolo Utente ruolo database Cloud Spanner a un'entità, esegui questo comando:
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles=roles/spanner.databaseRoleUser AND policy:resource.name AND policy:"PRINCIPAL_IDENTIFIER" AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' \ --flatten=policy.bindings[] \ --format='table(policy.bindings.condition.expression)'
dove PRINCIPAL_IDENTIFIER è:
{ user:user-account-name | serviceAccount:service-account-name }
Esempi di PRINCIPAL_IDENTIFIER:
user:222larabrown@gmail.com serviceAccount:cs-fgac-sa-1@cloud-spanner-demo.google.com.iam.gserviceaccount.com
L'output di esempio seguente mostra due espressioni di condizione.
EXPRESSION resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/hr_analyst") resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/hr_manager")
Controlla le policy IAM per le condizioni del ruolo del database mancanti
Dopo aver concesso l'accesso ai ruoli database alle entità, ti consigliamo di assicurarti che ogni associazione IAM abbia una condizione specificata.
Per eseguire questo controllo, esegui questo comando:
gcloud asset search-all-iam-policies \ --scope=projects/PROJECT_NAME \ --query='roles:roles/spanner.databaseRoleUser AND resource=//spanner.googleapis.com/projects/PROJECT_NAME/instances/INSTANCE_NAME/databases/DATABASE_NAME' --flatten=policy.bindings[].members[]
L'output è simile al seguente:
ROLE MEMBERS EXPRESSION roles/spanner.databaseRoleUser serviceAccount:cs-fgac-sa-1@... roles/spanner.databaseRoleUser serviceAccount:cs-fgac-sa-2@... resource.type == "spanner…"
Tieni presente che nel primo risultato manca una condizione e pertanto le entità in questo binding hanno accesso a tutti i ruoli del database.
Elimina un ruolo database
L'eliminazione di un ruolo database revoca automaticamente l'appartenenza di altri ruoli dal ruolo ed elimina l'appartenenza del ruolo ad altri ruoli.
Per rilasciare un ruolo di database, devi prima svolgere le seguenti operazioni:
- Revoca tutti i privilegi di controllo dell'accesso granulare dal ruolo.
- Rimuovi tutti i binding dei criteri IAM che fanno riferimento a quel ruolo, in modo che un ruolo del database creato in un secondo momento con lo stesso nome non erediti questi binding.
Console
Per eliminare un ruolo del database:
Nella pagina Panoramica del database, fai clic su Spanner Studio.
Per revocare i privilegi dal ruolo, inserisci un'istruzione
REVOKE
.GoogleSQL
Per informazioni dettagliate sulla sintassi dell'istruzione
REVOKE
, consulta GoogleSQL Data Definition Language. Per informazioni sui privilegi, vedi Privilegi di controllo dell'accesso granulare.Ad esempio, per revocare le autorizzazioni
SELECT
,INSERT
eUPDATE
sulle tabelleemployees
econtractors
dal ruolo del databasehr_manager
, inserisci la seguente istruzione:REVOKE SELECT, INSERT, UPDATE ON TABLE employees, contractors FROM ROLE hr_manager;
PostgreSQL
Per i dettagli della sintassi dell'istruzione
REVOKE
, consulta PostgreSQL Data Definition Language. Per informazioni sui privilegi, vedi Privilegi di controllo dell'accesso granulare.Ad esempio, per revocare i privilegi
SELECT
,INSERT
eUPDATE
sulle tabelleemployees
econtractors
dal ruolo di databasehr_manager
, inserisci la seguente istruzione:REVOKE SELECT, INSERT, UPDATE ON TABLE employees, contractors FROM hr_manager;
Puoi utilizzare un modello DDL per l'istruzione
REVOKE
. Nel riquadro Explorer, vai al ruolo per cui vuoi revocare il privilegio. Fai clic su Visualizza azioni e seleziona il tipo di privilegio per cui vuoi revocare l'accesso per questo ruolo. Il modelloREVOKE
viene compilato in una nuova scheda dell'editor.Elimina eventuali condizioni IAM associate al ruolo.
Nell'elenco dei ruoli nel riquadro Informazioni, individua il ruolo Utente ruolo database Cloud Spanner che ha il titolo della condizione di interesse adiacente, quindi espandi il ruolo per visualizzare le entità che hanno accesso al ruolo.
Per uno dei principal, fai clic sull'icona Modifica principal (a forma di matita).
Nella pagina Modifica accesso, fai clic sull'icona Elimina ruolo (cestino) accanto al ruolo Utente con accesso granulare al database Cloud Spanner.
Fai clic su Salva.
Ripeti i tre passaggi precedenti per gli altri principali elencati nella condizione.
Per eliminare il ruolo, vai alla pagina Spanner Studio e inserisci la seguente istruzione:
DROP ROLE ROLE_NAME;
Fai clic su Invia.
gcloud
Per revocare tutti i privilegi per un ruolo e poi eliminarlo, utilizza il comando
gcloud spanner databases ddl update
come segue:GoogleSQL
gcloud spanner databases ddl update DATABASE_NAME \ --instance=INSTANCE_NAME \ --ddl='REVOKE PERMISSIONS ON TABLE TABLE_NAME FROM ROLE ROLE_NAME; DROP ROLE ROLE_NAME;'
PostgreSQL
gcloud spanner databases ddl update DATABASE_NAME \ --instance=INSTANCE_NAME \ --ddl='REVOKE PERMISSIONS ON TABLE TABLE_NAME FROM ROLE_NAME; DROP ROLE ROLE_NAME;'
I valori validi per
PERMISSIONS
sonoSELECT
,INSERT
,UPDATE
eDELETE
.Per eliminare eventuali condizioni IAM correlate, utilizza il comando
gcloud spanner databases remove-iam-policy-binding
come segue:gcloud spanner databases remove-iam-policy-binding DATABASE_NAME \ --instance=INSTANCE_NAME \ --role=ROLE_NAME \ --member=MEMBER_NAME \ --condition=CONDITION
MEMBER_NAME
è l'identificatore del principale. Deve essere nel formatouser|group|serviceAccount:email
odomain:domain
.CONDITION
è un'espressione di condizione IAM che specifica i ruoli da concedere all'entità.CONDITION
ha il seguente formato:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))),title=TITLE,description=DESCRIPTION'
L'intera specifica della condizione deve corrispondere esattamente a quella utilizzata nel comando che ha concesso l'autorizzazione, inclusi titolo e descrizione.
Librerie client
Questi esempi di codice creano ed eliminano un ruolo del database.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Ulteriori informazioni
- Informazioni sul controllo dell'accesso granulare
- Controllo dell'controllo dell'accesso granulare per gli stream di modifiche
- Privilegi di controllo dell'accesso granulare
- Riferimento DDL GoogleSQL
- Esegui aggiornamenti dello schema