Cette page explique le fonctionnement du contrôle des accès ultraprécis avec les flux de modifications Cloud Spanner.
Pour les utilisateurs du contrôle des accès précis, vous autorisez l'accès en lecture pour modifier les flux de données à l'aide des autorisations suivantes. Veuillez indiquer les deux autorisations.
Accorder l'autorisation
SELECT
sur le flux de modificationsGRANT SELECT ON CHANGE STREAM CHANGE_STREAM_NAME TO ROLE ROLE_NAME;
Accordez
EXECUTE
sur la fonction de valeur de table (TVF) créée automatiquement pour le flux de modifications. Vous utilisez la TVF pour effectuer des lectures sur les flux de données modifiées.GRANT EXECUTE ON TABLE FUNCTION TABLE_FUNCTION_NAME TO ROLE ROLE_NAME;
Pour en savoir plus sur les fichiers TVF de flux de modifications, consultez Modifier la syntaxe de la requête de flux.
INFORMATION_SCHEMA
tables pour les flux de modifications
Le tableau INFORMATION_SCHEMA.CHANGE_STREAM_PRIVILEGES
affiche les informations concernant les rôles et les droits de base de données pour les flux de modifications.
Les lignes de cette table sont filtrées en fonction des droits du rôle de base de données actuel sur les flux de modifications. Ainsi, les comptes principaux ne peuvent consulter que les rôles, les droits et les flux de modifications auxquels ils ont accès.
Le filtrage des lignes s'applique également aux tables liées aux flux de modifications suivantes:
GoogleSQL
Le rôle système spanner_info_reader
et ses membres voient toujours une version non filtrée de INFORMATION_SCHEMA
.
Mises en garde
Étant donné qu'un flux de modifications contient une copie distincte des données des tables et colonnes suivies, soyez prudent lorsque vous autorisez les utilisateurs à accéder au flux de modifications. Les lecteurs du flux de modifications peuvent afficher les modifications des données des tables et des colonnes suivies, même s'ils ne disposent pas des droits
SELECT
sur les tables et les colonnes. Bien qu'il soit plus flexible de pouvoir configurer des contrôles distincts sur les flux de modifications ainsi que sur les tables et colonnes suivies, soyez conscient des risques potentiels et veillez à structurer les rôles et les droits en conséquence. Par exemple, lorsque vous révoquez le droitSELECT
sur une table pour un rôle, déterminez si vous souhaitez également révoquerSELECT
sur le flux de modifications (et révoquerEXECUTE
sur la fonction de valeur de table associée).Si vous accordez l'autorisation
SELECT
à un flux de modifications qui suit toutes les tables, le bénéficiaire pourra voir les modifications des données de toute table ajoutée ultérieurement.
Informations complémentaires
- À propos des flux de modifications
- Créer et gérer des flux de modifications
- À propos du contrôle ultraprécis des accès