保存データの暗号化

BigQuery は、データがディスクに書き込まれる前に、そのすべてを自動的に暗号化します。データは、承認済みのユーザーが読み取りを行う際に、自動的に復号されます。データの保護に使用される鍵暗号鍵は、デフォルトで Google によって所有、管理されます。また、顧客管理の暗号鍵を使用して、テーブル内の個々の値を暗号化することもできます。

デフォルトの保存データの暗号化

デフォルトでは、Google が独自の暗号化データに使用するものと同じ堅牢な鍵管理システムを使用して、ユーザーの代わりに暗号鍵を所有、管理します。このシステムには、鍵の厳格なアクセス制御と監査が含まれます。各 BigQuery オブジェクトのデータとメタデータは Advanced Encryption Standard(AES)で暗号化されます。

顧客管理の暗号鍵

保存データに使用される鍵暗号鍵を、Google が所有、管理する代わりにご自分で管理する場合は、Cloud Key Management Service を使用します。このシナリオは、顧客管理の暗号鍵(CMEK)と呼ばれます。この機能の詳細については、Cloud KMS 鍵によるデータの保護をご覧ください。

テーブル内の個々の値の暗号化

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 での保存データの暗号化をご覧ください。