Cette page explique comment accéder à une base de données Spanner lorsque vous êtes un utilisateur du contrôle des accès ultraprécis.
Pour en savoir plus sur le contrôle précis des accès, consultez la page À propos du contrôle ultraprécis des accès.
En tant qu'utilisateur du contrôle des accès ultraprécis, vous devez sélectionner un rôle de base de données à utiliser pour exécuter des requêtes et des instructions SQL, ainsi que pour effectuer des opérations de ligne sur une base de données. La sélection de votre rôle persiste tout au long de votre session jusqu'à ce que vous le modifiiez.
Lorsque vous soumettez une opération de requête, de LMD ou de ligne, Spanner vérifie l'autorisation à l'aide des règles suivantes:
- Console Google Cloud
Spanner vérifie d'abord si vous disposez des autorisations IAM au niveau de la base de données. Si tel est le cas, la console Google Cloud n'affiche pas de sélecteur de rôle de base de données, et votre session se poursuit avec vos autorisations au niveau de la base de données.
Si vous ne disposez que de droits de contrôle des accès ultraprécis et d'aucune autorisation IAM au niveau de la base de données, vous devez avoir accès au rôle système
spanner_sys_reader
ou à l'un de ses rôles de membre. Sélectionnez un rôle sur la page Présentation de la base de données afin que votre session de la console Google Cloud se poursuive avec les droits requis.
- SDK Google Cloud
Si vous spécifiez un rôle de base de données lorsque vous envoyez une requête, un LMD ou une opération de ligne, Spanner vérifie les droits de contrôle des accès précis. Si la vérification échoue, Spanner ne vérifie pas les autorisations IAM au niveau de la base de données, et l'opération échoue.
Si vous ne spécifiez pas de rôle de base de données, Spanner vérifie les autorisations IAM au niveau de la base de données. Si les vérifications réussissent, votre session est exécutée avec vos autorisations au niveau de la base de données.
Utilisez ces méthodes pour spécifier un rôle de base de données lorsque vous accédez à une base de données Spanner:
Console
Sélectionnez une base de données, puis, sur la page Présentation de la base de données, cliquez sur l'icône Modifier le rôle de base de données (en forme de crayon) à côté du champ Rôle actuel.
Par défaut, lorsqu'un utilisateur du contrôle des accès ultraprécis se connecte, ce champ a la valeur
public
. Pour en savoir plus sur le rôle systèmepublic
, consultez la page Rôles système de contrôle des accès précis.Dans la boîte de dialogue Modifier le rôle de base de données, sélectionnez un autre rôle dans la liste des rôles disponibles.
Cliquez sur Update (Mettre à jour).
Le champ Rôle actuel affiche le nouveau rôle.
gcloud
Ajoutez l'option
--database-role
à la commandegcloud spanner databases execute-sql
, comme suit:gcloud spanner databases execute-sql DATABASE_NAME \ --instance=INSTANCE_NAME \ --sql="SELECT * from TABLE_NAME;" \ --database-role=ROLE_NAME
Bibliothèques clientes
C++
C#
Go
Java
Node.js
PHP
Python
Ruby