IAM によるアクセス制御

このドキュメントでは、Dataplex Universal Catalog でアクセス制御に Google Cloud Identity and Access Management(IAM)を使用する方法について説明します。

IAM は、 Google Cloud リソースレベルで Dataplex Universal Catalog リソースへのアクセスを制御します。Dataplex Universal Catalog リソース(エントリ グループやエントリなど)を管理できるユーザーを決定します。こうしたリソースは、 Google Cloud API と、Google Cloud コンソール、Google Cloud CLI、クライアント ライブラリなどのツールを使用して管理できます。

IAM の詳細については、IAM のドキュメントをご覧ください。

IAM の概要

デフォルトでは、新しい Google Cloud プロジェクトを作成すると、元のプロジェクト作成者にオーナーロールが付与されます。他の Google マネージド サービス アカウントはデフォルトで存在する場合も、特定のタスクを実行するために API を有効にしたときに作成される場合もあります。ただし、他の個々のユーザーは、Dataplex Universal Catalog リソースを含めて、プロジェクトとそのリソースにアクセスできません。このアクセス権は、ユーザーをプロジェクト メンバーとして明示的に追加した場合や、特定のリソースに対するロールを付与した場合にのみ付与されます。

IAM を使用すると、特定の Google Cloudリソースに対するアクセス権をきめ細かく設定し、他のリソースへの不要なアクセスを防ぐことが可能です。IAM では、リソースに対する必要なアクセス権のみを付与することで、セキュリティに関する最小権限の原則を導入できます。

IAM では、どのリソースに対してどのアクセス権(ロール)を(プリンシパル)に付与するかを制御できます。

プリンシパル

プリンシパルは、Google アカウント(エンドユーザーの場合)、サービス アカウント(アプリと仮想マシンの場合)、Google グループ、Google Workspace ドメイン、Cloud Identity ドメインのいずれかです。こうしたプリンシパルはリソースにアクセスできます。ロールを付与するときは、ポリシー バインディング リファレンスで説明されているように、ID を使用してプリンシパルを識別します。

詳細については、IAM の概要: プリンシパルをご覧ください。

Dataplex Universal Catalog サービス エージェント

Dataplex Universal Catalog は、サービス エージェントと呼ばれる Google Cloud マネージド サービス アカウントを使用してリソースにアクセスします。サービス エージェントは、Dataplex API を有効にすると作成されます。このサービス エージェントは、次のメールアドレスで識別されます。

service-CUSTOMER_PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com

ここで、CUSTOMER_PROJECT_NUMBER は Dataplex API を有効にしたプロジェクトのプロジェクト番号です。

Dataplex Universal Catalog サービス エージェントは、Dataplex Universal Catalog リソースを管理するために、プロジェクトに対する Dataplex サービス エージェントroles/dataplex.serviceAgent)ロールを必要とします。このロールは、API を有効にすると自動的に付与されます。このロールを取り消すと、Dataplex Universal Catalog が正常に機能しない可能性があります。

リソース

Dataplex Universal Catalog でアクセス権を付与できるリソースには、プロジェクト、エントリ グループ、エントリ、アスペクト タイプ、エントリタイプなどがあります。

一部の API メソッドでは、複数のリソースに対する権限が必要です。たとえば、エントリにアスペクトを関連付けるには、エントリとアスペクト タイプの両方に対する権限が必要です。

ロール

ロールとは、一連の権限のことです。権限によって、リソースに対して許可されているオペレーションが決まります。プリンシパルにロールを付与すると、そのロールに含まれるすべての権限が付与されます。

プリンシパルに 1 つ以上のロールを付与できます。

他の Google Cloud プロダクトと同様に、Dataplex Universal Catalog は次の 3 種類のロールをサポートしています。

  • 基本ロール: IAM の導入前に存在していた、非常に高い権限を持つロール(オーナー、編集者、閲覧者)。基本ロールの詳細については、基本ロールをご覧ください。

  • 事前定義ロール: 特定の Google Cloudリソースに対するきめ細かいアクセス権を付与します。事前定義ロールの詳細については、事前定義ロールをご覧ください。Dataplex Universal Catalog IAM ロールのドキュメントには、Dataplex Universal Catalog の事前定義ロールの詳細が記載されています。

  • カスタムロール: 必要な特定の権限のみを付与することで、最小権限の原則を適用できます。カスタムロールの詳細については、カスタムロールをご覧ください。

たとえば、Dataplex 閲覧者roles/dataplex.viewer)の事前定義ロールは、Dataplex Universal Catalog リソースへの読み取り専用アクセス権を付与します。このロールを持つプリンシパルは、エントリ グループ、エントリ、アスペクト タイプ、エントリタイプを表示できますが、作成、更新、削除はできません。一方、Dataplex Universal Catalog 管理者roles/dataplex.admin)は、Dataplex Universal Catalog リソースの管理に対する広範なアクセス権を付与します。

ロールの割り当ての詳細については、アクセス権の付与、変更、取り消しをご覧ください。

特定のタスクに必要な権限を確認するには、Dataplex Universal Catalog ロールDataplex Universal Catalog 権限のリファレンス ページをご覧ください。

たとえば、プロジェクト リソースに対して、Google アカウントに roles/dataplex.admin ロールを割り当てることが可能です。そのアカウントは、プロジェクト内の Dataplex Universal Catalog リソースを管理できますが、他のリソースは管理できません。また、IAM を使用して、プロジェクト チームのメンバーに付与されている基本ロールを管理することもできます。

リソースの IAM ポリシー

IAM ポリシーを使用すると、プロジェクト レベルでロールを管理する代わりに、またはそれに加えて、リソースに対する IAM ロールを管理できます。これにより、共同編集者が作業を行うために必要な特定のリソースのみへのアクセス権の付与することで、最小権限の原則を柔軟に適用できます。

リソースは親リソースのポリシーを継承します。プロジェクト レベルでポリシーを設定すると、そのすべての子リソースでそのポリシーが継承されます。特定のリソースに対して有効なポリシーは、そのリソースに設定されたポリシーとリソース階層の上位から継承されるポリシーを組み合わせたものです。詳細については、IAM ポリシーの階層をご覧ください。

IAM ポリシーは、 Google Cloud コンソール、Identity and Access Management API、gcloud CLI を使用して取得、設定します。

次のステップ