Contrôle ultraprécis des accès pour les flux de modifications

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

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 modifications

    GRANT 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:

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 droit SELECT sur une table pour un rôle, déterminez si vous souhaitez également révoquer SELECT sur le flux de modifications (et révoquer EXECUTE 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