デフォルトで、すべての Google Cloud プロジェクトには、単一のユーザー(元のプロジェクト作成者)が設定されています。その他のユーザーはプロジェクト メンバーとして追加されるか、特定のリソースにバインディングされるまで、そのプロジェクトにアクセスできず、Dataproc Metastore リソースにもアクセスできません。
このページでは、新規ユーザーをプロジェクトに追加する方法と、Dataproc Metastore リソースに対するアクセス制御を設定する方法について説明します。
IAM とは
Google Cloud には Identity and Access Management(IAM)機能があり、特定の Google Cloud リソースに対するアクセス権を詳細に設定できるため、他のリソースへの不要なアクセスを防ぐことができます。IAM を使用すると、セキュリティに関する最小権限の原則を導入できるため、リソースに対する必要なアクセス権のみ付与できます。
また、IAM では、IAM ポリシーを設定することで、誰(どのユーザー)に、どのリソースに対するどの権限(ロール)を付与するかも制御できます。IAM ポリシーは、特定のロールをプロジェクト メンバーに付与することで、その ID に特定の権限を付与します。たとえば、プロジェクトなどの特定のリソースに対し、Google アカウントに roles/metastore.admin
ロールを割り当てると、そのプロジェクト内の Dataproc Metastore リソースを操作できますが、ほかのリソースは管理できません。また、IAM を使用して、プロジェクト チームのメンバーに付与されている基本ロールを管理することもできます。
ユーザーのアクセス制御オプション
ユーザーが Dataproc Metastore リソースを作成して管理できるようにするには、ユーザーをプロジェクトまたは特定のリソースにチームメンバーとして追加し、IAM ロールを使用して権限を付与します。
チームメンバーにできるのは、有効な Google アカウント、Google グループ、サービス アカウント、Google Workspace のドメインのいずれかを持つ個別のユーザーです。プロジェクトまたはリソースにチームメンバーを追加するときは、そのメンバーに付与するロールを指定します。IAM には、事前定義ロール、基本ロール、カスタムロールの 3 種類のロールがあります。
Dataproc Metastore のロールと特定のロールが権限を付与する API メソッドそれぞれの特性の一覧については、Dataproc Metastore の IAM ロールをご覧ください。
その他のメンバータイプ(サービス アカウントやグループなど)については、ポリシー バインディング リファレンスをご覧ください。
サービス アカウント
サービスが配置されているプロジェクトで Dataproc Metastore API を呼び出してアクションを実行する場合、Dataproc Metastore では、ユーザーの代わりに、アクションの実行に必要な権限を持つサービス アカウントを使用して、これらのアクションを実行します。
次のサービス アカウントには、サービスが配置されているプロジェクトで Dataproc Metastore アクションを実行するために必要な権限があります。
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
。
リソースの IAM ポリシー
Dataproc Metastore リソースへのアクセス権は、Dataproc Metastore サービスなどのリソースに IAM ポリシーを直接接続することで付与できます。IAM ポリシーを使用すると、プロジェクト レベルでロールを管理する代わりに(あるいはそれに加えて)、これらのリソースの IAM ロールを管理できます。これにより、共同編集者が作業を行うために必要な特定のリソースのみへのアクセスを許可する、最小権限の原則を適用できます。
リソースは親リソースのポリシーも継承します。プロジェクト レベルでポリシーを設定すると、そのすべての子リソースでそのポリシーが継承されます。特定のリソースに対して有効なポリシーは、そのリソースに設定されたポリシーとリソース階層の上位から継承されるポリシーを組み合わせたものです。詳細については、IAM ポリシーの階層をご覧ください。
IAM ポリシーの取得と設定は、Google Cloud Console、IAM API、Google Cloud CLI のいずれかを使って実行できます。
- Google Cloud Console については、Google Cloud Console によるアクセス制御をご覧ください。
- API については、API によるアクセス制御をご覧ください。
- Google Cloud CLI については、Google Cloud CLI によるアクセス制御をご覧ください。
次のステップ
- gRPC の使用時にメタデータへのきめ細かいアクセス権を付与する方法を確認する。
- IAM のロールの詳細を確認する。
- 詳しくは、IAM 権限をご覧ください。
- プロジェクト レベルでポリシーを設定する方法を確認する。