このページでは、データベースごとに細かいアクセス制御が提供する 3 つの事前定義システムロールの特性、制約、用途について説明します。システムロールにはそれぞれ一連の異なる権限があり、取り消すことはできません。
public
すべての細かいアクセス制御ユーザーは、デフォルトで
public
に IAM メンバーシップを持っています。すべてのデータベース ロールは、このロールの権限を継承します。
最初は、
public
に権限はありませんが、権限を付与することが可能です。権限をpublic
に付与すると、それ以降に作成されたデータベース ロールを含むすべてのデータベース ロールで使用できます。
spanner_info_reader
このロールには、GoogleSQL 言語データベースの
INFORMATION_SCHEMA
ビューと PostgreSQL 言語のinformation_schema
ビューに対するSELECT
権限があります。spanner_info_reader
に他の権限は付与できません。このロールのメンバーシップを、
INFORMATION_SCHEMA
ビュー(GoogleSQL 言語データベース)またはinformation_schema
ビュー(PostgreSQL 言語データベース)に対する読み取りアクセス権をフィルタする必要があるデータベース ロールを付与します。
spanner_sys_reader
このロールには、
SPANNER_SYS
テーブルに対するSELECT
権限があります。spanner_sys_reader
に他の権限は付与できません。SPANNER_SYS
スキーマへの読み取りアクセス権が必要なデータベース ロールにこのロールのメンバーシップを付与します。
システムロールの制限
DROP ROLE
ステートメントを使用してシステムロールを削除することはできません。システムロールを、他のデータベース ロールのメンバーにはできません。 つまり、次の Google SQL ステートメントは無効です。
GRANT ROLE pii_access TO ROLE spanner_info_reader;
public
ロールのメンバーシップをデータベース ロールに付与することはできません。たとえば、次の Google SQL ステートメントも無効です。GRANT ROLE public TO ROLE pii_access;
ただし、
spanner_info_reader
ロールとspanner_sys_reader
ロールのメンバーシップは付与できます。たとえば、有効なステートメントは次のとおりです。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;
詳細
詳しくは以下をご覧ください。