このページでは、データベースごとに細かいアクセス制御が提供する 3 つの事前定義システムロールの特性、制約、用途について説明します。システムロールにはそれぞれ一連の異なる権限があり、取り消すことはできません。この情報は、GoogleSQL 言語データベースと PostgreSQL 言語データベースの両方に適用されます。
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
ステートメントを使用してシステムロールを削除することはできません。システムロールを他のデータベース ロールのメンバーにすることはできません。つまり、次の GoogleSQL ステートメントは無効です。
GRANT ROLE pii_access TO ROLE spanner_info_reader;
public
ロールのメンバーシップをデータベース ロールに付与することはできません。たとえば、次の GoogleSQL ステートメントも無効です。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;
次のステップ
- 細分化されたアクセス制御の構成方法について学ぶ。
- きめ細かなアクセス制御について学ぶ。