保存時の暗号化
デフォルトでは、BigQuery はお客様のコンテンツを保存時に暗号化します。暗号化は BigQuery が行うため、ユーザー側での操作は必要ありません。このオプションは、Google のデフォルトの暗号化と呼ばれます。Google のデフォルトの暗号化では、Google 独自の暗号化データに使用されているのと同じ堅牢な鍵管理システムが使用されます。このシステムには、鍵の厳格なアクセス制御と監査が含まれます。各 BigQuery オブジェクトのデータとメタデータは Advanced Encryption Standard(AES)を使用して暗号化されます。
暗号鍵を管理する場合は、Cloud KMS の顧客管理の暗号鍵(CMEK)を、BigQuery などの CMEK 統合サービスで使用できます。Cloud KMS 鍵を使用すると、保護レベル、ロケーション、ローテーション スケジュール、使用とアクセスの権限、暗号境界を制御できます。Cloud KMS を使用すると、鍵の使用状況を追跡すること、監査ログを表示すること、鍵のライフサイクルを管理することが可能です。データを保護する対称鍵暗号鍵(KEK)は Google が所有して管理するのではなく、ユーザーが Cloud KMS でこれらの鍵を制御および管理します。
CMEK を使用してリソースを設定した後は、BigQuery リソースへのアクセスは、Google のデフォルトの暗号化を使用する場合と同様です。暗号化オプションの詳細については、 顧客管理の Cloud KMS 鍵をご覧ください。
Cloud KMS Autokey による CMEK
CMEK は手動で作成して BigQuery リソースを保護することも、Cloud KMS Autokey を使用することもできます。Autokey を使用すると、BigQuery のリソース作成の一環として、キーリングと鍵がオンデマンドで生成されます。暗号化と復号のオペレーションに鍵を使用するサービス エージェントがまだ存在しない場合、そのエージェントが作成され、必要な Identity and Access Management(IAM)ロールが付与されます。詳細については、Autokey の概要をご覧ください。
手動で作成した CMEK を使用して BigQuery リソースを保護する方法については、顧客管理の Cloud KMS 鍵をご覧ください。
Cloud KMS Autokey によって作成された CMEK を使用して BigQuery リソースを保護する方法については、BigQuery リソースでの Autokey の使用をご覧ください。
テーブル内の個々の値の暗号化
BigQuery テーブル内の個々の値を暗号化する場合は、認証付き暗号(AEAD)暗号化関数を使用します。ご自身の全お客様のデータを共通のテーブルに保存する場合は、AEAD 関数を使用し、各お客様のデータを別々の鍵で暗号化します。AEAD 暗号化関数は AES に基づいています。詳細については、GoogleSQL での AEAD 暗号化のコンセプトをご覧ください。
クライアントサイド暗号化
クライアント側での暗号化は、保存中の BigQuery による暗号化とは別のものです。クライアント側での暗号化を使用する場合、クライアント側の鍵と暗号操作への責任をご自身で負うことになります。BigQuery に書き込む前に、ご自身でデータを暗号化します。この場合、データは、最初にクライアント側の鍵で、次に Google の鍵で暗号化されるため、合計で 2 回暗号化されます。同様に、BigQuery からデータを読み取るときは、最初に Google の鍵で、次にクライアント側の鍵で復号されるため、合計で 2 回復号されます。
転送中のデータ
読み取り / 書き込みオペレーション中にインターネット上で転送されるデータを保護するために、Google Cloud では Transport Layer Security(TLS)を使用します。詳しくは、Google Cloud での転送データの暗号化をご覧ください。
Google データセンター内では、マシン間でデータが転送されるときにデータが暗号化されます。
次のステップ
BigQuery と他の Google Cloud プロダクトでの保存データの暗号化の詳細については、Google Cloud での保存データの暗号化をご覧ください。