Contrôle précis des accès pour les séquences

Cette page explique comment le contrôle d'accès précis fonctionne avec les séquences Spanner pour les bases de données en dialecte GoogleSQL et en dialecte PostgreSQL.

Pour les utilisateurs du contrôle des accès précis, vous pouvez accorder l'un ou les deux des droits suivants pour autoriser l'accès à la lecture des informations de séquence ou à la génération de valeurs à partir de la séquence.

  • Accordez SELECT à la séquence pour autoriser l'accès en lecture aux paramètres et à l'état actuel de la séquence.

    GoogleSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;

    PostgreSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
  • Accordez UPDATE à la séquence pour autoriser les appels au générateur de valeurs de séquence.

    GoogleSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;

    PostgreSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;

Droits requis pour les opérations de séquence

Le tableau suivant contient des informations sur les droits dont vous avez besoin lorsque vous effectuez des opérations de séquence spécifiques.

Opération Conditions requises pour les droits d'accès

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

Nécessite un droit UPDATE ou SELECT sur la séquence. Notez que si vous exécutez cette fonction via des colonnes générées ou des valeurs par défaut, vous devez également disposer d'un privilège INSERT ou UPDATE sur la colonne. Un droit UPDATE sur une séquence n'accorde pas automatiquement de droit sur les colonnes dans lesquelles vous souhaitez utiliser la séquence.

GoogleSQL:

GET_INTERNAL_SEQUENCE_STATE()

PostgreSQL:

spanner.get_internal_sequence_state()

Nécessite le droit SELECT sur la séquence que vous demandez.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Vous pouvez disposer du privilège SELECT ou UPDATE sur la séquence que vous souhaitez interroger. Vous ne pouvez voir que les séquences pour lesquelles vous disposez d'un droit d'accès.

Étape suivante