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