このページでは、データベースごとに細かいアクセス制御が提供する 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;
次のステップ
- 細分化されたアクセス制御の構成方法について学ぶ。
- きめ細かなアクセス制御について学ぶ。