Questa pagina spiega come accedere a un database Spanner quando sei un utente con controllo dell'accesso granulare.
Per scoprire di più sul controllo dell'accesso granulare, consulta l'articolo Informazioni sul controllo dell'accesso granulare.
In qualità di utente controllo dell'accesso dell'accesso granulare, devi selezionare un ruolo del database da utilizzare per eseguire istruzioni e query SQL e per eseguire operazioni sulle righe di un database. La selezione del ruolo rimane valida per tutta la sessione finché non lo modifichi.
Quando invii una query, un'operazione DML o una riga, Spanner verifica l'autorizzazione utilizzando le seguenti regole:
- Google Cloud console
Spanner verifica innanzitutto se disponi delle autorizzazioni IAM a livello di database. In questo caso, la consoleGoogle Cloud non mostra un selettore di ruoli del database e la sessione procede con le tue autorizzazioni a livello di database.
Se disponi solo di privilegi di controllo dell'accesso dell'accesso granulare e non di autorizzazioni IAM a livello di database, devi aver ricevuto l'accesso al ruolo di sistema
spanner_sys_reader
o a uno dei suoi ruoli membri. Seleziona un ruolo nella pagina Panoramica del database in modo che la sessione della console Google Cloud proceda con i privilegi richiesti.
- Google Cloud SDK
Se specifichi un ruolo del database quando invii una query, un'istruzione DML o un'operazione sulle righe, Spanner verifica i privilegcontrollo dell'accessolo dell'accesso granulare. Se il controllo non va a buon fine, Spanner non controlla le autorizzazioni IAM a livello di database e l'operazione non va a buon fine.
Se non specifichi un ruolo database, Spanner controlla le autorizzazioni IAM a livello di database e, se i controlli vanno a buon fine, la sessione procede con le autorizzazioni a livello di database.
Utilizza questi metodi per specificare un ruolo database quando accedi a un database Spanner:
Console
Seleziona un database, poi fai clic sull'icona Modifica ruolo database (a forma di matita) accanto al campo Ruolo attuale nella pagina Panoramica del database.
Per impostazione predefinita, quando un utente controllo dell'accesso dell'accesso granulare esegue l'accesso, questo campo ha il valore
public
. Per informazioni sul ruolo di sistemapublic
, vedi Ruoli di sistema di controllo dell'accesso granulare.Nella finestra di dialogo Cambia ruolo di database, seleziona un altro ruolo dall'elenco dei ruoli disponibili.
Fai clic su Aggiorna.
Il campo Ruolo attuale mostra il nuovo ruolo.
gcloud
Aggiungi l'opzione
--database-role
al comandogcloud spanner databases execute-sql
, come segue:gcloud spanner databases execute-sql DATABASE_NAME \ --instance=INSTANCE_NAME \ --sql="SELECT * from TABLE_NAME;" \ --database-role=ROLE_NAME
Librerie client
C++
C#
Go
Java
Node.js
PHP
Python
Ruby