Cette page explique comment accéder à une base de données Spanner lorsque vous utilisez le 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 pré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 SQL les instructions et les requêtes, et d'effectuer des opérations de ligne sur une base de données. Votre rôle la sélection persiste tout au long de votre session jusqu'à ce que vous modifiiez le rôle.
Lorsque vous envoyez une requête, une opération DML ou une opération de ligne, Spanner vérifie l'autorisation à l'aide des règles suivantes :
- console Google Cloud
Spanner vérifie d'abord si vous disposez d'autorisations IAM au niveau de la base de données. Si c'est le cas, dans la console Google Cloud un sélecteur de rôle de base de données, et votre session continue les autorisations au niveau de la base de données.
Si vous ne disposez que de droits de contrôle des accès ultraprécis, au niveau de la base de données, vous devez avoir accès 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 pour que votre session dans la console Google Cloud se poursuive avec les droits d'accès requis.
- SDK Google Cloud
Si vous spécifiez un rôle de base de données lorsque vous envoyez une requête, une opération DML ou une opération de ligne, Spanner vérifie les droits de contrôle des accès ultrapré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 des autorisations IAM au niveau de la base de données, et si les vérifications réussissent, votre session se poursuit 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 Vue d'ensemble de la base de données, cliquez sur l'icône Modifier le rôle de la base de données (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 dispose la valeur
public
. Pour en savoir plus sur le rôle systèmepublic
, consultez la section Rôles système de contrôle des accès ultraprécis.Dans la boîte de dialogue Modifier le rôle de la base de données, sélectionnez un autre rôle dans la liste des rôles disponibles.
Cliquez sur Mettre à jour.
Le champ Rôle actuel indique le nouveau rôle.
gcloud
Ajoutez l'option
--database-role
augcloud 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