Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite werden die Merkmale, Einschränkungen und die beabsichtigte Verwendung der drei vordefinierten Systemrollen definiert, die die detaillierte Zugriffssteuerung für jede Datenbank bietet. Jede Systemrolle hat eine andere Reihe von Berechtigungen, die nicht widerrufen werden können. Diese Informationen gelten sowohl für Datenbanken mit GoogleSQL- als auch für Datenbanken mit PostgreSQL-Dialekt.
public Systemrolle
Alle Nutzer der detaillierten Zugriffssteuerung haben standardmäßig die IAM-Mitgliedschaft public.
Alle Datenbankrollen übernehmen Berechtigungen von dieser Rolle.
Anfangs hat public keine Berechtigungen, Sie können ihm aber Berechtigungen gewähren.
Wenn Sie public eine Berechtigung gewähren, ist diese für alle Datenbankrollen verfügbar, einschließlich der danach erstellten Datenbankrollen.
spanner_info_reader Systemrolle
Diese Rolle hat das SELECT-Berechtigung 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 der Rolle die Mitgliedschaft in jeder Datenbankrolle, die ungefilterten Lesezugriff auf die INFORMATION_SCHEMA-Ansichten (Datenbanken mit GoogleSQL-Dialekt) oder die information_schema-Ansichten (Datenbanken mit PostgreSQL-Dialekt) benötigt.
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 allen Datenbankrollen, die Lesezugriff auf das SPANNER_SYS-Schema benötigen, 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 keine Mitglieder anderer Datenbankrollen sein. Die folgende GoogleSQL-Anweisung ist also ungültig:
GRANTROLEpii_accessTOROLEspanner_info_reader;
Sie können Ihren Datenbankrollen keine Mitgliedschaft in der Rolle public zuweisen. Die folgende GoogleSQL-Anweisung ist beispielsweise ungültig:
GRANTROLEpublicTOROLEpii_access;
Sie können jedoch die Mitgliedschaft in den Rollen spanner_info_reader und spanner_sys_reader gewähren. Die folgenden Aussagen sind beispielsweise gültig.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-17 (UTC)."],[],[],null,["# Fine-grained access control system roles\n\nThis page defines the characteristics, constraints, and intended use of the\nthree predefined system roles that fine-grained access control provides for\neach database. Each system role has a different set of privileges, which can't\nbe revoked. This information applies to both GoogleSQL-dialect databases and PostgreSQL-dialect databases.\n\n### `public` system role\n\n- All fine-grained access control users have IAM membership in `public`\n by default.\n\n- All database roles inherit privileges from this role.\n\n- Initially, `public` has no privileges, but you can grant it privileges.\n If you grant a privilege to `public`, it's available to\n all database roles, including database roles created afterward.\n\n### `spanner_info_reader` system role\n\n- This role has the `SELECT` privilege on\n [`INFORMATION_SCHEMA`](/spanner/docs/information-schema) views for GoogleSQL-dialect databases and\n [`information_schema`](/spanner/docs/information-schema-pg) views for PostgreSQL-dialect databases.\n\n- You can't grant any other privileges to `spanner_info_reader`.\n\n- Grant membership in this role to any database role that needs to have\n unfiltered read access to the `INFORMATION_SCHEMA` views (GoogleSQL-dialect databases) or\n the `information_schema` views (PostgreSQL-dialect databases).\n\n### `spanner_sys_reader` system role\n\n- This role has the `SELECT` privilege on `SPANNER_SYS` tables.\n\n- You can't grant any other privileges to `spanner_sys_reader`.\n\n- Grant membership in this role to any database role that must have read access\n to the `SPANNER_SYS` schema.\n\nRestrictions on system roles\n----------------------------\n\n- You can't delete a system role by using a `DROP ROLE` statement.\n\n- System roles can't be members of other database roles. That is, the following\n GoogleSQL statement is invalid:\n\n GRANT ROLE pii_access TO ROLE spanner_info_reader;\n\n- You can't grant membership in the `public`\n role to your database roles. For example, the following GoogleSQL\n statement is also invalid:\n\n GRANT ROLE public TO ROLE pii_access;\n\n However, you can grant membership in the `spanner_info_reader` and\n `spanner_sys_reader` roles. For example, the following are valid statements. \n\n ### GoogleSQL\n\n GRANT ROLE spanner_info_reader TO ROLE pii_access;\n GRANT ROLE spanner_sys_reader TO ROLE pii_access;\n ```\n\n ### PostgreSQL\n\n GRANT spanner_info_reader TO pii_access;\n GRANT spanner_sys_reader TO pii_access;\n\nWhat's next\n-----------\n\n- Learn how to [Configure fine-grained access control](/spanner/docs/configure-fgac).\n- Learn [About fine-grained access control](/spanner/docs/fgac-about)."]]