公開グループにアクセスを許可する BigQuery データセット

BigQuery データセットへのアクセスは、必要なユーザーやグループに限定してください。

説明

BigQuery データセットの access に allAuthenticatedUsers を指定すると、組織内に限らず、認証済みのすべての BigQuery ユーザーに指定したロールを付与します。匿名アクセスとは異なりますが、アクセスが不要な外部ユーザーにも許可する可能性があります。

実行できる操作はロールによって異なります。特に OWNER は読み取り専用ではないため、データセットの管理権限も確認する必要があります。

想定される影響

  • 機密の分析データ、顧客情報、内部指標が外部に漏えいするおそれがあります。
  • 過剰なロールにより、データ変更やアクセス権の管理まで許可される場合があります。

対処方法

  • 公開が目的でなければ公開グループへの権限を削除し、必要なユーザー、グループ、サービスアカウントだけを許可してください。
  • 参照だけが必要な主体には、その用途に合う最小限のロールを付与してください。
  • アクセス一覧を変更する際は必要な既存項目を維持し、必要なアクセスが引き続き成功し、不要なアクセスが拒否されることを確認してください。

例

Deployment Manager はサポートが終了した従来のツールです。サポートされる管理ツールへの移行を計画してください。データセット ID とグループのアドレスは実際の値に置き換えてください。

変更前

yaml
resources:
  - name: bigquery
    type: bigquery.v2.dataset
    properties:
      datasetReference:
        datasetId: analytics
      access:
        - role: OWNER
          specialGroup: allAuthenticatedUsers
        - role: READER
          groupByEmail: analytics-readers@example.com

認証済みのすべての BigQuery ユーザーに OWNER を付与しています。

変更後

yaml
resources:
  - name: bigquery
    type: bigquery.v2.dataset
    properties:
      datasetReference:
        datasetId: analytics
      access:
        - role: READER
          groupByEmail: analytics-readers@example.com

公開グループの項目を削除し、指定した Google グループに READER だけを付与しています。必要な管理者の権限も別途維持してください。

参考資料