Detaillierte Systemrollen für die Zugriffssteuerung

Auf dieser Seite werden die Merkmale, Einschränkungen und der Verwendungszweck der drei vordefinierten Systemrollen definiert, die die detaillierte Zugriffssteuerung für jede Datenbank bietet. Jede Systemrolle hat andere Berechtigungen, die nicht widerrufen werden können. Diese Informationen gelten sowohl für Datenbanken im GoogleSQL-Dialekt als auch für Datenbanken im PostgreSQL-Dialekt.

Systemrolle public

  • Alle Nutzer mit detaillierter Zugriffssteuerung sind standardmäßig Mitglieder von Identity and Access Management (IAM) in public.

  • Alle Datenbankrollen übernehmen Berechtigungen von dieser Rolle.

  • Anfänglich hat public keine Berechtigungen, Sie können ihm jedoch Berechtigungen gewähren. Wenn Sie public eine Berechtigung gewähren, ist sie für alle Datenbankrollen verfügbar, einschließlich der danach erstellten Datenbankrollen.

spanner_info_reader-Systemrolle

  • Diese Rolle hat die Berechtigung SELECT für INFORMATION_SCHEMA-Ansichten für Datenbanken im GoogleSQL-Dialekt und information_schema-Ansichten für Datenbanken im PostgreSQL-Dialekt.

  • Sie können spanner_info_reader keine weiteren Berechtigungen gewähren.

  • Gewähren Sie jeder Datenbankrolle, die ungefilterten Lesezugriff auf die INFORMATION_SCHEMA-Ansichten (Datenbanken im GoogleSQL-Dialekt) oder die information_schema-Ansichten (Datenbanken im PostgreSQL-Dialekt) benötigt, die Mitgliedschaft in dieser Rolle.

spanner_sys_reader-Systemrolle

  • Diese Rolle hat die Berechtigung SELECT für SPANNER_SYS-Tabellen.

  • Sie können spanner_sys_reader keine weiteren Berechtigungen gewähren.

  • Gewähren Sie jeder Datenbankrolle, die Lesezugriff auf das Schema SPANNER_SYS benötigt, die Mitgliedschaft in dieser Rolle.

Einschränkungen für Systemrollen

  • Sie können eine Systemrolle nicht mit einer DROP ROLE-Anweisung löschen.

  • Systemrollen können nicht Mitglieder anderer Datenbankrollen sein. Die folgende GoogleSQL-Anweisung ist also ungültig:

    GRANT ROLE pii_access TO ROLE spanner_info_reader;
    
  • Sie können Ihren Datenbankrollen keine Mitgliedschaft in der Rolle public gewähren. Die folgende GoogleSQL-Anweisung ist beispielsweise ebenfalls ungültig:

    GRANT ROLE public TO ROLE pii_access;
    

    Sie können jedoch die Mitgliedschaft in den Rollen spanner_info_reader und spanner_sys_reader gewähren. Die folgenden Anweisungen sind beispielsweise gültig.

    GoogleSQL

      GRANT ROLE spanner_info_reader TO ROLE pii_access;
      GRANT ROLE spanner_sys_reader TO ROLE pii_access;
      ```
    

    PostgreSQL

    GRANT spanner_info_reader TO pii_access;
    GRANT spanner_sys_reader TO pii_access;
    

Nächste Schritte