BigQuery でのポリシータグの使用

このページでは、BigQuery でポリシータグを使用するためのベスト プラクティスについて説明します。BigQuery の列レベルのセキュリティを使用する場合など、ポリシータグを使用してデータへのアクセスを定義します。

データクラスの階層を構築する

ビジネスに適したデータクラスの階層を構築します。

まず、組織が処理するデータの種類を検討します。通常、組織によって管理されるデータクラスは少数です。たとえば、組織には次のようなデータクラスがあります。

  • PII データ
  • 財務データ
  • 顧客の注文履歴

ポリシータグを使用して、1 つのデータクラスを複数のデータ列に適用できます。少数のポリシータグで多くの列を効率的に管理するには、この抽象化レベルを活用する必要があります。

次に、データクラスごとに異なるアクセス権が必要なユーザー グループがあるかどうかを検討します。たとえば、収益や顧客の履歴などビジネス上の機密データにアクセスする必要があるグループがあるとします。別のグループでは、電話番号や住所など個人を特定できるデータ(PII)にアクセスする必要があります。

ポリシータグはツリー構造にまとめることができます。他のすべてのポリシータグを含むルート ポリシー タグを作成すると便利な場合があります。

下の図は分類の例を示しています。この階層では、すべてのデータタイプが 3 つの最上位ポリシータグ()にグループ化されています。

データ階層。

各最上位ポリシータグにはリーフ ポリシー タグが含まれています。たとえば、のポリシータグにはクレジット カード政府機関 ID、および生体認証ポリシータグがあります。にも同様にリーフ ポリシー タグがあります。

この構造には次のような利点があります。

  • ポリシータグのグループ全体にまとめてアクセス権を付与できます。たとえば、階層でデータカタログの詳細な読み取りのロールを付与できます。

  • ポリシータグを別の階層に移動できます。たとえば、アドレス階層から階層に移動すると、すべての住所列を再分類することなくアクセスをさらに制限できます。

  • このきめ細かいアクセスにより、少数のデータ分類ポリシータグを制御するだけで、多くの列へのアクセスを管理できます。

BigQuery のポリシータグの詳細については、以下をご覧ください。

モニターモードでテストする

組織にアクセス ポリシーを適用する前に、モニター専用モードで実行できます。モニター専用モードでは、まだアクセス制御を適用していない状態でポリシータグの効果を監査します。

このベスト プラクティスの前提は次のとおりです。

  • データへのアクセスが承認されているユーザーがすでに存在している。
  • 列レベルのセキュリティの変更を新たに適用した場合に、それらのユーザーが予期せずデータにアクセスできなくなるかおそれがないかどうかを確認する必要がある。

モニター専用モードを使用するには、分類とポリシータグを作成し、ポリシータグを列に割り当てますが、まだアクセス制御は適用しません。その後、以前に承認されたユーザーにシステムを引き続き使用してもらいます。システムを使用すると、監査証跡が生成されます。監査ログをスキャンして、ポリシータグで保護されている列へのアクセスを表示できます。いずれかのアクセスが想定外のものであったかどうかを確認します。つまり、ポリシーが適用されていたらアクセスが原因で PERMISSION_DENIED エラーが発生していたかどうかを確認します。列レベルのセキュリティが適切に設定されていることを確認したら、アクセス制御を適用します。アクセス制御を適用しない限り、PERMISSION_DENIED エラーは表示されません。