Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menentukan karakteristik, batasan, dan penggunaan yang dimaksudkan dari
tiga peran sistem standar yang disediakan oleh kontrol akses terperinci untuk
setiap database. Setiap peran sistem memiliki kumpulan hak istimewa yang berbeda, yang tidak dapat
dicabut. Informasi ini berlaku untuk database dialek GoogleSQL dan database dialek PostgreSQL.
Peran sistem public
Semua pengguna kontrol akses terperinci memiliki keanggotaan IAM di public secara default.
Semua peran database mewarisi hak istimewa dari peran ini.
Awalnya, public tidak memiliki hak istimewa, tetapi Anda dapat memberikan hak istimewa.
Jika Anda memberikan hak istimewa ke public, hak istimewa tersebut akan tersedia untuk semua peran database, termasuk peran database yang dibuat setelahnya.
Peran sistem spanner_info_reader
Peran ini memiliki hak istimewa SELECT pada
tampilan INFORMATION_SCHEMA untuk database dialek GoogleSQL dan
tampilan information_schema untuk database dialek PostgreSQL.
Anda tidak dapat memberikan hak istimewa lainnya kepada spanner_info_reader.
Berikan keanggotaan dalam peran ini ke peran database apa pun yang perlu memiliki
akses baca yang tidak difilter ke tampilan INFORMATION_SCHEMA (database dialek GoogleSQL) atau
tampilan information_schema (database dialek PostgreSQL).
Peran sistem spanner_sys_reader
Peran ini memiliki hak istimewa SELECT pada tabel SPANNER_SYS.
Anda tidak dapat memberikan hak istimewa lainnya kepada spanner_sys_reader.
Berikan keanggotaan dalam peran ini ke peran database apa pun yang harus memiliki akses baca
ke skema SPANNER_SYS.
Batasan pada peran sistem
Anda tidak dapat menghapus peran sistem menggunakan pernyataan DROP ROLE.
Peran sistem tidak dapat menjadi anggota peran database lainnya. Artinya, pernyataan GoogleSQL berikut tidak valid:
GRANTROLEpii_accessTOROLEspanner_info_reader;
Anda tidak dapat memberikan keanggotaan dalam peran public
ke peran database Anda. Misalnya, pernyataan GoogleSQL berikut juga tidak valid:
GRANTROLEpublicTOROLEpii_access;
Namun, Anda dapat memberikan keanggotaan dalam peran spanner_info_reader dan
spanner_sys_reader. Misalnya, berikut adalah pernyataan yang valid.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)."]]