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 instructions et des requêtes SQL, et pour effectuer des opérations sur les lignes d'une base de données. Le rôle que vous avez sélectionné persiste tout au long de votre session jusqu'à ce que vous le modifiiez.
Lorsque vous envoyez une requête, une instruction 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, 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 d'autorisations de contrôle d'accès précis et d'aucune autorisation IAM au niveau de la base de données, vous devez avoir été autorisé à accéder 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 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 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 aboutissent, 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 de contrôle d'accès précis se connecte, ce champ a 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
à 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