BigQuery のセキュリティとアクセス制御の概要

このドキュメントでは、Identity and Access Management(IAM)を使用した BigQuery のアクセス制御の概要について説明します。IAM を使用すると、特定の BigQuery リソースに対するアクセス権をきめ細かく設定し、他のリソースへのアクセスを防ぐことができます。IAM を使用すると、最小権限のセキュリティ原則を適用できます。この原則では、IAM プリンシパルに必要以上に多くの権限を付与しないことが規定されています。

ユーザー、グループ、サービス アカウントなどの IAM プリンシパルが Trusted Cloud by S3NS API を呼び出す場合、そのプリンシパルにはリソースの使用に必要な最小限の IAM 権限が必要です。プリンシパルに必要な権限を付与するには、プリンシパルに IAM ロールを付与します。

このドキュメントでは、プリンシパルが BigQuery リソースにアクセスできるように、IAM 事前定義ロールと IAM カスタムロールを使用する方法について説明します。

Trusted Cloud by S3NSでのアクセス管理方法を把握するには、IAM の概要をご覧ください。

IAM ロールのタイプ

ロールは、IAM プリンシパルに付与できる権限の集合です。IAM で次のタイプのロールを使用して、BigQuery リソースへのアクセス権を付与できます。

  • 事前定義ロールは、 Trusted Cloud によって管理され、一般的なユースケースとアクセス制御パターンをサポートします。
  • カスタムロール: ユーザー指定の権限リストに従って、アクセスを細かく制御します。カスタムロールの作成方法については、IAM ドキュメントのカスタムロールの作成と管理をご覧ください。

事前定義の IAM ロールに 1 つ以上の権限が含まれているかどうかを確認するには、次のいずれかの方法を使用します。

BigQuery での IAM ロール

権限は、ユーザー、グループ、サービス アカウントに直接には割り当てられません。代わりに、ユーザー、グループ、サービス アカウントに 1 つ以上の事前定義ロールまたはカスタムロールが付与され、リソースに対するアクションの実行権限が付与されます。これらのロールは、特定のリソースで付与されますが、リソース階層内にあるそのリソースのすべての子リソースにも適用されます。

1 人のユーザーに複数のロールタイプを割り当てると、付与される権限は各ロールの権限の合算になります。

次の BigQuery リソースへのアクセス権を付与できます。

  • データセットとデータセット内の次のリソース:
    • テーブルとビュー
    • ルーティン
  • 接続
  • 保存したクエリ
  • データ キャンバス
  • データの準備
  • パイプライン
  • リポジトリ

Resource Manager リソースへのアクセス権を付与する

Resource Manager で BigQuery リソースへのアクセスを構成するには、プリンシパルに BigQuery ロールを付与し、そのロールを組織、フォルダ、またはプロジェクトに付与します。

組織やプロジェクトなどの Resource Manager リソースにロールを付与すると、組織またはプロジェクト内の BigQuery リソースすべてに対する権限が付与されます。

IAM を使用して Resource Manager リソースへのアクセスを管理する方法の詳細については、IAM ドキュメントのプロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

データセットへのアクセス権を付与する

データセット レベルでロールを割り当てると、プロジェクトの他のリソースへの完全アクセス権を付与しなくても、特定のデータセットへのアクセス権を付与できます。IAM リソース階層では、BigQuery データセットはプロジェクトの子リソースにあたります。データセット レベルでロールを割り当てる方法について詳しくは、IAM を使用してリソースへのアクセスを制御するをご覧ください。

データセット内の個々のリソースへのアクセス権を付与する

データセットのリソースへの完全アクセス権を付与しなくても、データセット内の特定の種類のリソースへのアクセス権をロールに付与できます。

ロールは、データセット内の次のリソースに適用できます。

  • テーブルとビュー
  • ルーティン

テーブル、ビュー、ルーティンレベルでロールを割り当てる方法の詳細については、IAM を使用してリソースへのアクセスを制御するをご覧ください。

次のステップ