アクセス制御の例

サンプル事例

以下に、全員が AnalystGroup という Google グループに属しているデータ サイエンティストのグループにアクセス権を与える例を示します。

データセットのデータへの読み取り / 書き込みアクセス

CompanyProject というプロジェクトに dataset1 と dataset2 が存在します。AnalystGroup1 は dataset1 のみを扱うデータ サイエンティストのグループで、AnalystGroup2 は dataset2 のみを扱うグループです。データ サイエンティストには各自が扱うデータセットのみ対する完全アクセス(クエリ実行のためのアクセス権限を含む)を許可します。

データセットへの読み取り / 書き込みアクセス
データセット CompanyProject:dataset1 AnalystGroup1 に dataset1 への WRITER アクセス権を付与します。この役割は、事前定義された IAM 役割 bigquery.dataEditor に対応しています。
データセット CompanyProject:dataset2 AnalystGroup2 に dataset2 への WRITER アクセス権を付与します。この役割は、事前定義された IAM 役割 bigquery.dataEditor に対応しています。
プロジェクト CompanyProject AnalystGroup1 と AnalystGroup2 に CompanyProject への bigquery.user アクセス権を付与します。

データセットのレベルでデータ サイエンティストに WRITER アクセス権を付与すると、データセットのテーブル内でデータをクエリできるようになりますが、プロジェクトでのクエリジョブの実行権限は付与されません。アクセス権が付与されたデータセットに対してデータ サイエンティストがクエリジョブを実行できるようにするには、データ サイエンティストのグループに対して、プロジェクト レベルの事前定義された役割 bigquery.user が付与されている必要があります。bigquery.user 役割によって bigquery.jobs.create 権限が付与されます。

または、bigquery.jobs.create 権限を付与するプロジェクト レベルの IAM のカスタム役割に、データ サイエンティストのグループを追加することもできます。

プロジェクトのデータへの完全アクセス

AnalystGroup は BigQuery を駆使するデータ サイエンティストのグループであり、CompanyProject というプロジェクトにおいて BigQuery の使用に関する全責任を負っています。AnalystGroup はメンバー全員にすべてのデータへの読み取り / 書き込み権限を与えようとしています。組織の他のグループでは、BigQuery 以外の Cloud Platform サービスは使用していますが、BigQuery は誰も使っていません。AnalystGroup は BigQuery 以外の Cloud Platform サービスは使用しません。

プロジェクトのデータへの完全アクセス
プロジェクト CompanyProject AnalystGroup を事前定義された役割 bigquery.admin に追加する。

組織全体にわたる完全アクセス

CompanyA という組織では、Admin1 という名前の特定の人物を全プロジェクトのすべての BigQuery データの管理者にしようとしています。MonitoringServiceAccount は、組織内の全プロジェクトのすべてのテーブルのサイズをモニタリングするサービス アカウントです。

組織全体にわたる完全アクセス
組織 CompanyA
  • Admin1 を事前定義された役割 bigquery.admin に追加する。
  • MonitoringServiceAccount を事前定義された役割 bigquery.dataViewer に追加する。

company が、MonitoringServiceAccount の一定サイズを超えたテーブルを縮小して一定期間よりも古いデータを削除すべきだと判断した場合は、MonitoringServiceAccount を事前定義された役割 bigquery.user に追加する必要があります。

同じプロジェクトのデータへの読み取りアクセス

AnalystGroup は CompanyProject というプロジェクトで分析サービスを担当しているデータ サイエンティストのグループです。OperationsServiceAccount は、CompanyProject:AppLogs データセットへの一括読み込みジョブによってアプリケーション ログを BigQuery に読み込むサービス アカウントです。AnalystGroup のメンバーにはログの変更は許可しません。

同じプロジェクトのデータへの読み取りアクセス
プロジェクト CompanyProject
  • OperationsServiceAccount を事前定義された役割 bigquery.user に追加する。
  • AnalystGroup を事前定義された役割 bigquery.user に追加する。
データセット CompanyProject:AppLogs

異なるプロジェクトのデータへの読み取りアクセス

AnalystGroup は CompanyAnalytics というプロジェクトで分析サービスを担当しているデータ サイエンティストのグループです。ただし、AnalystGroup が分析するデータは CompanyLogs という別のプロジェクトに存在します。OperationsServiceAccount は、CompanyLogs プロジェクトの各種データセットへの一括読み込みジョブによってアプリケーション ログを BigQuery に読み込むサービス アカウントです。

AnalystGroup は CompanyLogs プロジェクトにおいてデータの読み取りのみが許可されており、同プロジェクトで追加のストレージを作成したり、クエリジョブを実行したりすることはできません。その代わりに、AnalystGroup のメンバーは CompanyAnalytics プロジェクトを使用して業務を行い、出力を CompanyAnalytics プロジェクトに保持します。

異なるプロジェクトのデータへの読み取りアクセス
プロジェクト CompanyLogs
  • OperationsServiceAccount を事前定義された役割 bigquery.admin に追加する。
  • AnalystGroup を事前定義された役割 bigquery.dataViewer に追加する。
プロジェクト CompanyAnalytics
  • AnalystGroup を事前定義された役割 bigquery.user に追加する。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。