コンテンツに移動
セキュリティ & アイデンティティ

機密データを保護する BigQuery の新機能を発表

2022年6月29日
https://storage.googleapis.com/gweb-cloudblog-publish/images/BigQuery_XhjE3xI.max-2000x2000.jpg
Google Cloud Japan Team

※この投稿は米国時間 2022 年 6 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。

デジタル アプリケーションやプラットフォームでは、お客様やユーザーに対してより良いサービスを提供するため、個人を特定できる情報(PII)、遺伝子や生体情報、クレジット カード情報などの機密データを保持し使用しています。分析のユースケースに使用するデータを提供する多くの組織は、進化する規制やプライバシーに関する複数の規定、データ侵害やデータ漏洩による継続的なリスク、データアクセスを制御するニーズの高まりに直面しています。

大規模なデータ エコシステムを構築している大企業では、データアクセス制御や機密情報のマスキングはさらに複雑なものとなっています。多くの場合、異なるグループへのアクセスを管理するためにデータセットのコピーが作成されます。しかし、データのコピーは難読化される場合と、そうでない場合があります。その結果、データを保護するためのアプローチに一貫性がなくなり、管理コストが高くなる可能性があります。こういった懸念に完全に対処するためには、ベーステーブル自体で適切な防御機能を使用して機密データを保護し、データのライフサイクル全体を通じて安全性を保つことが求められます。

本日は、BigQuery の 2 つの新機能をご紹介します。これらの機能では、アクセス制御の上に防御レイヤを追加し、機密データの保護と管理をサポートします。

1. BigQuery の列レベルの暗号化関数を一般提供

BigQuery の列レベルの暗号化 SQL 関数を使用することで、列レベルでのデータの暗号化と復号が BigQuery で可能になります。これらの関数によって、BigQuery でデータがネイティブに暗号化され、アクセス時に復号する必要があるようなユースケースを実現します。また、外部で暗号化されたデータを BigQuery に保存し、アクセス時に復号しなければならないユースケースもサポートします。これらの SQL 関数は、業界標準の暗号化アルゴリズムである AES-GCM(非確定的)および AES-SIV(確定的)をサポートしています。AES-SIV をサポートする関数を使用することで、暗号化されたデータに対してグループ化、集約、結合が可能になります。

このような SQL 関数に加えて、BigQuery と Cloud Key Management Service(Cloud KMS)の統合も行いました。これにより、きめ細かな制御が実現し、KMS で暗号鍵を管理できるようになるとともに、アクセス時の安全な鍵の取得や詳細なロギングが可能になります。エンベロープ暗号化による追加レイヤによって、データ復号用のラップされた鍵セットの生成が可能になります。Cloud KMS 鍵とラップされた鍵セットにアクセスする権限を持つユーザーのみが、鍵セットのラップを解除し、暗号テキストを復号できます。

「動的なフィールド レベルの暗号化を可能にすることは、高い安全性を保ち、FedRAMP、PCI、GDPR、CCPA など、複数の規則を遵守した厳格なセキュリティ ポリシーによって規制されたアセットを管理する当社のデータ ファブリック プラットフォームにとって最も重要なことです。BigQuery の列レベルの暗号化機能により、外部で暗号化されたデータを BigQuery で安全に復号できるようになり、800 人以上のアナリストが行う分析ユースケースの制限を取り除きました」と、Equifax の CTO である Kumar Menon 氏は述べています。

また、ユーザーは提供されている非確定的暗号化と確定的暗号化の両方をサポートする SQL 関数を活用し、暗号化されたデータ列の結合やグループ化を行うことができます。

以下のクエリサンプルでは、非確定的 SQL 関数を使用して暗号テキストを復号しています。

読み込んでいます...

以下のクエリサンプルでは、確定的 SQL 関数を使用して暗号テキストを復号しています。

読み込んでいます...

2. BigQuery での動的なデータ マスキングのプレビュー版

BigQuery の列レベルのセキュリティを拡張する動的なデータ マスキングを使用することで、データ漏洩のリスクを軽減しながら、機密データを難読化しユーザー アクセスを制御できます。この機能では、定義されたマスキング ルール、ユーザーのロールと権限に基づいて、クエリ時に列レベルのデータを選択的にマスクします。マスキングにより、データの複製が不要になり、単一のデータのコピーに異なるマスキング ルールを定義することで、データから機密な部分を取り除き、機密データへのユーザー アクセスを簡素化し、コンプライアンス、プライバシー規制、機密性保持の問題から保護できます。

動的なデータ マスキングを行うことで、基盤となる機密データにさまざまな変換を行ってクエリ時にデータを難読化することが可能になります。マスキング ルールを分類内のポリシータグに定義することで、そのユーザーのロールや機能、機密データの種類に応じて、異なるレベルのアクセス権を付与できます。マスキングを既存のアクセス制御に追加することで、アクセスを制御するための幅広い選択肢がお客様に提供されます。管理者は、データ共有のユースケースに基づき、ユーザーに完全アクセス権、アクセス権なし、または特定の値がマスキングされる部分的なアクセス権を付与できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/BigQuery_XhjE3xI.max-2000x2000.jpg

データ マスキングのプレビュー版では、3 種類のマスキング ポリシーをサポートしています。

  1. ALWAYS_NULL。列のデータ型にかかわらず、コンテンツを NULL にします。

  2. SHA256。STRING または BYTES データ型に SHA256 を適用します。なお、SHA256 関数にも同じ制限が適用されます

  3. Default_VALUE。データ型に応じたデフォルト値を返します。

あらかじめユーザーは、BigQuery テーブルに対してクエリジョブを実行し、クエリを実行するために必要なすべての権限を持っている必要があります。さらに、ユーザーがポリシータグが付けられた列のマスクされたデータを表示するには、MaskedReader ロールが必要です。

動的なデータ マスキングと暗号化関数の使い分け

データ マスキングや列レベルの暗号化を使用する一般的なシナリオには、以下のようなものがあります。

  • 不正なデータ漏洩からの保護

  • アクセス制御管理

  • 個人を特定できる情報(PII)、保護対象保健情報(PHI)、PCI データに関するデータ プライバシー法の遵守

  • 安全なテスト用データセットの作成

具体的には、マスキングはリアルタイムのトランザクションに使用でき、暗号化はリアルタイムのユーザビリティを必要としない保存時や転送時のデータに対して追加のセキュリティを提供します。  

ベーステーブルに適用されたマスキング ポリシーや暗号化は、承認済みビューやマテリアライズド ビューに引き継がれます。また、マスキングや暗号化は、行レベルのセキュリティなど他のセキュリティ機能とも互換性があります。

これらの新たに追加された BigQuery のセキュリティ機能を自動 DLP とともに使用することで、組織全体におけるデータのスキャン、機密データの保存場所の可視化、ユーザーベース全体のさまざまなユースケースに関するデータのアクセスとユーザビリティの管理がサポートされます。Google Cloud は常に BigQuery(と Google Cloud)のデータ ガバナンス機能を強化し、お客様の機密データをエンドツーエンドで管理できるよう取り組んでいます。今回の新しいリリースでは、BigQuery でデータの保護を強化する機能を追加しています。


- Google Cloud プロダクト マネージャー Deepti Mandava
投稿先