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 Informazioni sul controllo dell'accesso granulare.
In qualità di utente con controllo dell'accesso granulare, devi selezionare un ruolo 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 la modifichi.
Quando invii una query, un'operazione DML o un'operazione sulle righe, Spanner controlla l'autorizzazione utilizzando le seguenti regole:
- Google Cloud Console
Spanner verifica innanzitutto se disponi delle autorizzazioni IAM (Identity and Access Management) a livello di database. In caso affermativo, la Google Cloud console non mostra un selettore di ruoli database e la sessione procede con le autorizzazioni a livello di database.
Se disponi solo di privilegi di controllo dell'accesso granulare e non di autorizzazioni IAM a livello di database, devi aver ricevuto l'accesso al ruolo di sistema
spanner_sys_readero a uno dei suoi ruoli membri. Seleziona un ruolo nella pagina Panoramica del database in modo che la sessione della Google Cloud console proceda con i privilegi richiesti.
- Google Cloud SDK
Se specifichi un ruolo database quando invii una query, un'operazione DML o un'operazione sulle righe, Spanner controlla i privilegi di controllo dell'accesso granulare. Se il controllo non va a buon fine, Spanner non verifica le autorizzazioni IAM a livello di database e l'operazione non riesce.
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, quindi nella pagina Panoramica del database fai clic sull'icona Cambia ruolo database (a forma di matita) accanto al campo Ruolo attuale.
Per impostazione predefinita, quando un utente con controllo dell'accesso granulare esegue l'accesso, questo campo ha il valore
public. Per informazioni sul ruolo di sistemapublic, consulta Ruoli di sistema per il controllo dell'accesso granulare.Nella finestra di dialogo Cambia ruolo 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-rolealgcloud spanner databases execute-sqlcomando, nel seguente modo:gcloud spanner databases execute-sql DATABASE_NAME \ --instance=INSTANCE_NAME \ --sql="SELECT * from TABLE_NAME;" \ --database-role=ROLE_NAME
Librerie client
C++
C#
Vai
Java
Node.js
PHP
Python
Ruby