Questa pagina spiega come configurare un controllo dell'accesso granulare per i database Spanner.
Per saperne di più sul controllo dell'accesso dell'accesso granulare, vedi Informazioni sul controllo dell'accesso granulare.
La configurazione di controllo dell'accesso granulare prevede i seguenti passaggi:
Concedi l'accesso ai ruoli del database alle entità Identity and Access Management (IAM).
Comunica a utenti e sviluppatori che devono iniziare a utilizzare i ruoli del database.
Gli utenti con un controllo dell'accesso granulare devono quindi specificare un ruolo del database per eseguire query. DML, o operazioni di riga sul database.
Prima di iniziare
Assicurati che a ogni entità che deve essere un utente con controllo dell'accesso granulare sia concesso
il ruolo IAM Cloud Spanner Viewer
(roles/spanner.viewer
).
Questo ruolo è consigliato a livello di progetto per gli utenti che devono interagire
Risorse Spanner nella console Google Cloud.
Per istruzioni, vedi Concedi le autorizzazioni alle entità.
crea ruoli del database e concedi privilegi
Un ruolo database è un insieme di privilegi di accesso granulari. Puoi creare fino a 100 ruoli database per ogni database.
Decidi i ruoli e le gerarchie di ruoli nel tuo database e codificali in DDL. Come con altre modifiche allo schema in Spanner, consigliamo vivamente di inviare le modifiche allo schema in batch anziché separatamente. Per ulteriori informazioni, vedi Limita la frequenza degli aggiornamenti dello schema.
Console
Per creare un ruolo del database e concedergli 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 del database che vuoi per 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 i privilegi al ruolo, inserisci un'istruzione
GRANT
nella prossima riga dopo l'istruzioneCREATE ROLE
.Per i dettagli sulla sintassi dell'istruzione
GRANT
, consulta il linguaggio di definizione dei dati GoogleSQL. Per informazioni sui privilegi, vedi Privilegi di controllo dell'accesso granulare degli accessi.Ad esempio, per concedere
SELECT
,INSERT
eUPDATE
sulle tabelleemployees
econtractors
al ruolo di 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
. Nella Explorer, vai al ruolo che vuoi concedere privilegiati. Fai clic su Visualizza azioni e seleziona il tipo di privilegio a cui vuoi concedere l'accesso per questo ruolo. L'istruzione del modelloGRANT
viene completata in una nuova scheda dell'editor.
Fai clic su Invia.
In caso di errori nel DDL, la console Google Cloud restituisce un .
gcloud
Per creare un ruolo del database e concedergli privilegi di accesso granulari,
utilizza la gcloud spanner databases ddl update
con istruzioni CREATE ROLE
e GRANT
.
Per i dettagli sulla sintassi delle istruzioni CREATE ROLE
e GRANT
, consulta
Linguaggio di definizione dei dati GoogleSQL.
Ad esempio, utilizza il comando seguente 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 e avere privilegi di controllo dell'accesso granulari. Per informazioni sui privilegi, vedi Privilegi di controllo dell'accesso granulare degli accessi.TABLES
è un elenco di tabelle delimitato da virgole.
Ad esempio, per concedere SELECT
,
INSERT
e UPDATE
nelle tabelle employees
e contractors
al
il ruolo di database hr_analyst
nel database hrdb1
nell'istanza hr
, inserisci
la seguente affermazione:
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 e rilasciano un ruolo di database.
C++
C#
Vai
Java
Node.js
PHP
Python
Ruby
Creare una gerarchia di ruoli con ereditarietà
Puoi creare una gerarchia di ruoli del database concedendo un ruolo di database a un'altra. I ruoli secondari (noti come ruoli dei membri) ereditano i privilegi dall'unità organizzativa principale.
Per concedere un ruolo di database a un altro ruolo di database, utilizza la seguente istruzione:
GoogleSQL
GRANT ROLE role1 TO ROLE role2;
PostgreSQL
GRANT role1 TO role2;
Per ulteriori informazioni, consulta Gerarchie ed ereditarietà dei ruoli dei database.
Concedi alle entità IAM l'accesso ai ruoli del database
Prima che un'entità possa utilizzare un ruolo di database per accedere a Spanner devi concedere loro l'accesso al ruolo del database.
Console
Per concedere l'accesso ai ruoli del database a un'entità IAM: questi passaggi:
Nella pagina Panoramica del database, fai clic su MOSTRA RIQUADRO INFORMAZIONI se la sezione Informazioni riquadro non sia già aperto.
Fai clic su AGGIUNGI PRINCIPALE.
Nel riquadro Concedi l'accesso a database_name, in Aggiungi entità, specifica una o più entità IAM.
In Assegna ruoli, nel menu Seleziona un ruolo, seleziona Cloud Spanner > Utente con accesso granulare a Cloud Spanner.
Devi concedere questo ruolo solo una volta a ciascuna entità. In questo modo come un utente con controllo dell'accessoo granulare.
Fai clic su AGGIUNGI UN ALTRO RUOLO.
Nel menu Seleziona un ruolo, scegli Cloud Spanner > Utente ruolo 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 solo ruolo di database, in genere includi il nome del ruolo nel titolo della condizione. Se concedi più ruoli, potresti indicare qualcosa per l'insieme di ruoli.
Fai clic su EDITOR DELLE 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.In alternativa, per concedere l'accesso all'entità a più di un ruolo, aggiungi altri con l'operatore or (
||
), come mostrato di seguito esempio:resource.type == "spanner.googleapis.com/DatabaseRole" && (resource.name.endsWith("/ROLE1") || resource.name.endsWith("/ROLE2"))
Questo codice concede due ruoli. Sostituisci
ROLE1
eROLE2
con i tuoi nomi dei ruoli. Per concedere più di due ruoli, aggiungi più condizioni or.Puoi utilizzare qualsiasi espressione di condizione supportata da IAM. Per saperne di più, consulta la Panoramica delle condizioni IAM.
Fai clic su Salva.
Torna al riquadro precedente e verifica che la condizione venga visualizzata nella colonna Condizione IAM accanto al campo Ruolo.
Fai clic su Salva.
Torna al riquadro Informazioni, nella sezione Ruolo/Entità, noterai che viene visualizzato Utente ruolo database Cloud Spanner per ogni condizione definita.
Il numero tra parentesi accanto alla condizione indica il numero di entità a cui è stato concesso il ruolo di database da quella condizione. Puoi fare clic freccia di espansione per visualizzare l'elenco delle entità.
Per correggere errori nei nomi o nelle condizioni dei ruoli del database o per aggiungere altri ruoli database per un'entità:
Espandi la voce Utente ruolo database Cloud Spanner che elenca la condizione desiderata.
Fai clic sull'icona Modifica a forma di matita accanto a un'entità.
Nel riquadro Modifica l'accesso a database_name, esegui una delle seguenti le seguenti:
Fai clic su AGGIUNGI UN ALTRO RUOLO.
Per modificare la condizione, fai clic sull'icona a forma di matita Modifica accanto al nome della condizione. Nella pagina Modifica condizione, fai clic su EDITOR DELLE CONDIZIONI, apporta le correzioni e fai clic su Salva due volte.
gcloud
Per concedere l'accesso ai ruoli del database a un'entità IAM, segui questi passaggi:
Abilita il controllo dell'accesso granulare per l'entità utilizzando il
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 essere nel formatouser|group|serviceAccount:email
odomain:domain
.Questo comando rende l'entità un utente con controllo dell'accesso granulare. Invia questo solo una volta per ogni entità.
Se l'esito è positivo, il comando restituisce l'intero criterio per il database.
Concedi l'autorizzazione a utilizzare uno o più ruoli di database utilizzando
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 essere nel formatouser|group|serviceAccount:email
odomain:domain
.CONDITION
è una condizione IAM che specifica i ruoli da concedere all'entità.CONDITION
ha il seguente modulo:--condition='expression=(resource.type == "spanner.googleapis.com/DatabaseRole" && resource.name.endsWith("/ROLE1")),title=TITLE,description=DESCRIPTION'
In alternativa, per concedere l'accesso all'entità a più di un ruolo, aggiungi altri con l'operatore or (
||
), come mostrato di seguito esempio:--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 tuoi nomi dei ruoli. Per concedere più di due ruoli, aggiungi più condizioni or con il||
operatore.Puoi utilizzare qualsiasi espressione di condizione supportata da IAM. Per saperne di più, consulta la Panoramica delle condizioni IAM.
Se l'esito è positivo, il comando restituisce l'intero criterio per il database.
Nell'esempio seguente vengono concessi i ruoli di 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#
Vai
Java
Node.js
PHP
Python
Ruby
Informa utenti e sviluppatori su come iniziare a utilizzare i ruoli del database
Dopo aver completato la configurazione iniziale del controllo dell'accesso granulare, informa gli utenti e agli sviluppatori di applicazioni di dover iniziare a usare i ruoli del database.
Gli utenti con un controllo dell'accesso granulare devono iniziare a specificare un ruolo del database quando accedere ai database Spanner tramite la console Google Cloud con Google Cloud CLI.
Le applicazioni che usano un controllo dell'accesso granulare devono specificare un ruolo del database quando accedendo al database.
Per ulteriori informazioni, vedi Accedere a un database con un controllo dell'accesso granulare.
Transizione di un'entità al controllo dell'accesso granulare
Come eseguire la transizione di un'entità IAM dal livello di database per un controllo dell'accesso granulare, segui questi passaggi:
Abilita il controllo dell'accesso granulare per l'entità e concedi l'accesso a tutte le risorse necessarie ruoli database, come descritto Concedi alle entità IAM l'accesso ai ruoli del database.
Aggiorna tutte le applicazioni in esecuzione come questa entità. Specifica le impostazioni ruoli di database nelle chiamate ai metodi della libreria client.
Revoca tutti i ruoli a livello di database IAM dall'entità. In questo modo per l'entità è regolato da un solo metodo.
Eccezione: per interagire con le risorse Spanner nel Console Google Cloud, tutti gli utenti devono disporre dell'
roles/spanner.viewer
ruolo IAM.Per revocare i ruoli IAM a livello di database, segui le istruzioni in Rimuovi 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 sul 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 sono utilizzabile tramite ereditarietà. Per recuperare tutti i ruoli, utilizza il comando Google Cloud CLI.
gcloud
Per ottenere un elenco non filtrato di ruoli del database, inserisci il comando seguente.
Richiede l'autorizzazione spanner.databaseRoles.list
.
gcloud spanner databases roles list --database=DATABASE_NAME --instance=INSTANCE_NAME
Librerie client
C++
C#
Vai
Java
Node.js
PHP
Python
Ruby
Visualizzare i privilegi concessi a un ruolo di database
Per visualizzare i privilegi concessi a un ruolo, esegui queste 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 privilegi sia per le tabelle che per le viste.
Anche i privilegi SELECT
, INSERT
e UPDATE
in TABLE_PRIVILEGES
sono
mostrato 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 privilegi sia per le tabelle che per le viste.
Anche i privilegi SELECT
, INSERT
e UPDATE
in table_privileges
sono
mostrato in column_privileges
.
Visualizza gli utenti con un controllo dell'accesso granulare
Per visualizzare un elenco di entità che sono utenti con controllo dell'accesso granulare, esegui questo comando:
. Per eseguire il comando, devi avere abilitato l'API Cloud Asset nel tuo
progetto, inoltre devi avere
cloudasset.assets.searchAllIamPolicies
Autorizzazione IAM.
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 saperne di più, consulta Attivazione di un'API nel progetto Google Cloud.
Visualizza le entità IAM con accesso a un ruolo del database
Per visualizzare un elenco di entità a cui è stato concesso l'accesso a un determinato
ruolo database, esegui questo comando. Per eseguire il comando, devi avere la classe
l'API Cloud Asset abilitata sul tuo progetto e devi avere
cloudasset.assets.searchAllIamPolicies
Autorizzazione IAM.
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
Visualizza le condizioni IAM per un'entità
Per visualizzare un elenco di condizioni IAM specificate. quando concedi 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 }
PRINCIPAL_IDENTIFIER esempi:
user:222larabrown@gmail.com serviceAccount:cs-fgac-sa-1@cloud-spanner-demo.google.com.iam.gserviceaccount.com
Il seguente output di esempio 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 se nei criteri IAM esistono condizioni mancanti per i ruoli del database
Dopo aver concesso alle entità l'accesso ai ruoli del database, ti consigliamo di assicurarti che per ogni associazione IAM sia specificata una condizione.
Per eseguire questa verifica, esegui il comando seguente:
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, di conseguenza, nelle entità in questa associazione hanno accesso a tutti i ruoli del database.
Elimina un ruolo di database
L'eliminazione di un ruolo del database revoca automaticamente l'appartenenza ad altri ruoli dal ruolo e revoca l'appartenenza del ruolo ad altri ruoli.
Per eliminare un ruolo del database, devi prima seguire questi passaggi:
- Revoca tutti i privilegi di controllo dell'accesso granulare dal ruolo.
- Rimuovi eventuali associazioni di criteri IAM che fanno riferimento a quel ruolo, in modo che un ruolo database creato successivamente con lo stesso non eredita queste associazioni.
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 i dettagli sulla sintassi dell'istruzione
REVOKE
, consulta il linguaggio di definizione dei dati GoogleSQL. Per informazioni sui privilegi, vedi Privilegi di controllo dell'accesso granulare degli accessi.Ad esempio, per revocare
SELECT
,INSERT
eUPDATE
nelle tabelleemployees
econtractors
dal ruolo di databasehr_manager
, inserisci la seguente istruzione:REVOKE SELECT, INSERT, UPDATE ON TABLE employees, contractors FROM ROLE hr_manager;
PostgreSQL
Per i dettagli sulla sintassi dell'istruzione
REVOKE
, consulta il linguaggio di definizione dei dati PostgreSQL. Per informazioni sui privilegi, vedi Privilegi di controllo dell'accesso granulare degli accessi.Ad esempio, per revocare
SELECT
, i privilegiINSERT
eUPDATE
suemployees
econtractors
tabelle dal ruolo di databasehr_manager
, inserisci la seguente affermazione:REVOKE SELECT, INSERT, UPDATE ON TABLE employees, contractors FROM hr_manager;
Puoi utilizzare un modello DDL per l'istruzione
REVOKE
. Nella Explorer, vai al ruolo che vuoi revocare di accesso. Fai clic su Visualizza azioni e seleziona il tipo di privilegio a cui vuoi revocare l'accesso per questo ruolo. L'istruzione del modelloREVOKE
viene completata in una nuova scheda dell'editor.Elimina qualsiasi condizione IAM associata al ruolo.
Nell'elenco dei ruoli nel riquadro Informazioni, individua il Ruolo Utente ruolo database Cloud Spanner con titolo della condizione di interesse adiacente ed espandi il ruolo per visualizzare le entità che hanno accesso al ruolo.
Per una delle entità, fai clic sull'icona a forma di matita Modifica entità.
Nella pagina Modifica accesso, fai clic sull'icona Elimina ruolo (cestino) adiacente al ruolo Utente ruolo database Cloud Spanner.
Fai clic su Salva.
Ripeti i tre passaggi precedenti per le altre entità elencate in la condizione.
Per rilasciare il ruolo, vai alla pagina Spanner Studio e inserisci quanto segue :
DROP ROLE ROLE_NAME;
Fai clic su Invia.
gcloud
Per revocare tutti i privilegi per un ruolo e poi abbandonare il ruolo, utilizza la
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
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
è una condizione IAM che specifica i ruoli da concedere all'entità.CONDITION
ha il seguente modulo:--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 alla condizione utilizzata nel comando che concedeva l'autorizzazione, inclusi titolo e descrizione.
Librerie client
Questi esempi di codice creano e rilasciano un ruolo di database.
C++
C#
Vai
Java
Node.js
PHP
Python
Ruby
Ulteriori informazioni
- Informazioni sul controllo dell'accesso granulare
- Controllo dell'accesso granulare per le modifiche in tempo reale
- Privilegi di controllo dell'accesso granulari
- Riferimento DDL GoogleSQL
- Aggiornare lo schema