BigLake: IAM によるアクセス制御

デフォルトでは、すべての Google Cloud プロジェクトに単一のユーザー(元のプロジェクト作成者)が設定されています。その他のユーザーは、プロジェクト メンバーとして追加されるか、特定のリソースにバインディングされるまで、そのプロジェクトにアクセスできず、BigLake リソースにもアクセスできません。

このページでは、新規ユーザーをプロジェクトに追加する方法と、BigLake リソースに対するアクセス制御を設定する方法について説明します。

IAM とは

Google Cloud には Identity and Access Management(IAM)機能があり、特定の Google Cloud リソースに対するアクセス権を詳細に設定できるため、他のリソースへの不要なアクセスを防ぐことができます。Identity and Access Management(IAM)を使用すると、セキュリティに関する最小権限の原則を導入できるため、リソースに対する必要なアクセス権のみを付与できます。

また、IAM では、IAM ポリシーを設定して、誰(ID)に、どのリソースに対するどの権限(ロール)を付与するかを制御できます。IAM ポリシーは、特定のロールをプロジェクト メンバーに付与することで、その ID に特定の権限を付与します。たとえば、プロジェクトなどの特定のリソースに対し、Google アカウントに roles/biglake.admin ロールを割り当てると、そのプロジェクト内の BigLake リソースを操作できますが、ほかのリソースは管理できません。また、IAM を使用して、プロジェクト チームのメンバーに付与されている基本ロールを管理することもできます。

ユーザーのアクセス制御オプション

ユーザーが BigLake リソースを作成して管理できるようにするには、ユーザーをプロジェクトまたは特定のリソースにチームメンバーとして追加し、IAM ロールを使用して権限を付与します。

チームメンバーにできるのは、有効な Google アカウント、Google グループ、サービス アカウント、Google Workspace のドメインのいずれかを持つ個別のユーザーです。プロジェクトまたはリソースにチームメンバーを追加するときは、そのメンバーに付与するロールを指定します。IAM には、事前定義ロール基本ロールカスタムロールの 3 種類のロールがあります。

BigLake のロールと特定のロールが権限を付与する API メソッドそれぞれの特性の一覧については、BigLake IAM ロールをご覧ください。

その他のメンバータイプ(サービス アカウントやグループなど)については、ポリシー バインディング リファレンスをご覧ください。

サービス アカウント

サービスが配置されているプロジェクトで BigLake API を呼び出してアクションを実行する場合、BigLake は、必要な権限を持つサービス エージェント サービス アカウントを使用して、ユーザーの代わりにこれらのアクションを実行します。

次のサービス アカウントには、サービスが配置されているプロジェクトで BigLake アクションを実行するために必要な権限があります。

  • blirc-PROJECT_NUMBER-IDENTIFIER@gcp-sa-biglakerestcatalog.iam.gserviceaccount.com

このサービス アカウントには、プロジェクトに対する roles/biglake.serviceAgent ロールが付与されます。

リソースの IAM ポリシー

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

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

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

次のステップ