このドキュメントでは、 Google Cloudの生成 AI ワークロードのベースライン セキュリティ環境を作成する一般的なコントロールについて説明します。これらのコントロールにより、Google Cloud 環境の一貫した安全な使用を確保できます。本番環境サービスをデプロイする前に、環境に適用することをおすすめします。
これらのコントロールは、出発点を提供することを目的としています。組織のセキュリティ ポリシーで必要とされる組織固有のコントロールを適応させて追加できます。また、Google Cloudにある特定のワークロードと機密データに基づいて、追加のコントロールの実装を検討してください。
必要な共通コントロール
Google Cloud環境では、次のコントロールを実装することを強くおすすめします。
Google API でサポートされる TLS バージョンを制限する
| Google コントロール ID | COM-CO-1.1 |
|---|---|
| カテゴリ | 必須 |
| 説明 | Google Cloud は複数の TLS プロトコル バージョンをサポートしています。コンプライアンス要件を満たすため、古い TLS バージョンを使用しているクライアントからの handshake リクエストを拒否する場合があります。 このコントールを構成するには、TLS バージョンを制限( 組織のポリシー階層の評価の動作により、TLS バージョン制限は、指定されたリソースノードのほかに、そのすべての子フォルダとプロジェクトに適用されます。たとえば、組織で TLS バージョン 1.0 を拒否すると、その組織の子孫であるすべての子でも拒否されます。 子リソースの組織のポリシーを更新すると、継承された TLS バージョン制限をオーバーライドできます。たとえば、組織のポリシーが組織レベルで TLS 1.0 を拒否する場合、そのフォルダに別の組織のポリシーを設定することで子フォルダの制限を解除できます。フォルダに子がある場合、ポリシーの継承により、フォルダのポリシーが各子リソースにも適用されます。 TLS バージョンを TLS 1.3 のみに制限するには、このポリシーを設定して TLS バージョン 1.2 も制限します。このコントールは、 Google Cloud内でホストするアプリケーションに実装する必要があります。たとえば、組織レベルで次のように設定します。
|
| 対象プロダクト |
|
| パス | gcp.restrictTLSVersion |
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| コンプライアンス マネージャーのコントロール ID | RESTRICT_LEGACY_TLS_VERSIONS |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Google Cloudで保存データを暗号化する
| Google コントロール ID | COM-CO-2.1 |
|---|---|
| カテゴリ | 必須(デフォルト) |
| 説明 | Google Cloud のすべてのデータは、デフォルトで NIST 承認済みのアルゴリズムを使用して保存時に暗号化されます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
暗号化と復号に NIST 承認済みのアルゴリズムを使用する
| Google コントロール ID | COM-CO-2.4 |
|---|---|
| カテゴリ | 必須 |
| 説明 | Cloud Key Management Service(Cloud KMS)が NIST 承認済みのアルゴリズムのみを使用して、環境内の機密鍵を保存していることを確認します。このコントールにより、NIST 承認済みのアルゴリズムとセキュリティのみを使用して、安全な鍵の使用が保証されます。 組織のポリシーに準拠していないアルゴリズムを削除します。 |
| 対象プロダクト |
|
| パス | cloudkms.projects.locations.keyRings.cryptoKeys/versionTemplate.algorithm |
| 演算子 | in |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud KMS 鍵の目的を設定する
| Google コントロール ID | COM-CO-2.5 |
|---|---|
| カテゴリ | 必須 |
| 説明 | Cloud KMS 鍵の目的を |
| 対象プロダクト |
|
| パス | cloudkms.projects.locations.keyRings.cryptoKeys/purpose |
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
安全な BigQuery データ ウェアハウスに適切な CMEK 設定がされていることを確認する
| Google コントロール ID | COM-CO-2.6 |
|---|---|
| カテゴリ | 必須 |
| 説明 | 保護レベルは暗号オペレーションをどのように行うかを表します。顧客管理の暗号鍵(CMEK)を作成した後に、保護レベルを変更することはできません。サポートされている保護レベルは次のとおりです。
|
| 対象プロダクト |
|
| パス | cloudkms.projects.locations.keyRings.cryptoKeys/primary.protectionLevel |
| 演算子 | in |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
暗号鍵を 90 日ごとにローテーションする
| Google コントロール ID | COM-CO-2.7 |
|---|---|
| カテゴリ | 必須 |
| 説明 | Cloud KMS 鍵のローテーション期間が 90 日に設定されていることを確認します。一般的なベスト プラクティスは、セキュリティ キーを定期的にローテーションすることです。このコントロールは、HSM サービスで作成された鍵のローテーションを強制します。 このローテーション期間を作成するときは、鍵マテリアルの作成、削除、変更を安全に処理するための適切なポリシーと手順も作成して、情報を保護し、可用性を確保できるようにします。この期間が、鍵のローテーションに関する企業ポリシーに準拠していることを確認します。 |
| 対象プロダクト |
|
| パス | cloudkms.projects.locations.keyRings.cryptoKeys/rotationPeriod |
| 演算子 | <= |
| 値 |
|
| 型 | int32 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
承認済みプリンシパルを定義する
| Google コントロール ID | COM-CO-4.1 |
|---|---|
| カテゴリ | 必須 |
| 説明 | ドメインで制限された共有( |
| 対象プロダクト |
|
| パス | constraints/iam.allowedPolicyMemberDomains |
| 演算子 | Is |
| 値 |
|
| 型 | リスト |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
監査ログを使用する
| Google コントロール ID | COM-CO-7.3 |
|---|---|
| カテゴリ | 必須 |
| 説明 | Google Cloud サービスは、 Google Cloud リソースで誰がいつどこで何をしたかを調べるために、監査ログエントリを書き込みます。 組織レベルで監査ロギングを有効にします。 Google Cloud 組織の設定に使用するパイプラインを使用して、ロギングを構成できます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
VPC Flow Logs を有効にする
| Google コントロール ID | COM-CO-7.4 |
|---|---|
| カテゴリ | 必須 |
| 説明 | VPC Flow Logs は、VM インスタンスで送受信されたネットワーク フローのサンプルを記録します(Google Kubernetes Engine(GKE)ノードとして使用されたインスタンスを含む)。サンプルは通常、VPC ネットワーク フローの 50% 以下です。 VPC フローログを有効にすると、サブネット内のすべての VM に対して Logging を有効にすることになります。 ただし、Logging に書き込まれる情報の量は削減されます。 各 VPC サブネットで VPC Flow Logs を有効にします。プロジェクトの作成に使用するパイプラインを使用して、ロギングを構成できます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
ファイアウォール ルール ロギングを有効にする
| Google コントロール ID | COM-CO-7.5 |
|---|---|
| カテゴリ | 必須 |
| 説明 | ファイアウォール ルールのロギングでは、ファイアウォール ルールによってトラフィックが許可または拒否されるたびにレコードが作成されます。 各ファイアウォール ルールに対してロギングを有効にします。ファイアウォールの作成に使用するパイプラインを使用して、ロギングを構成できます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
推奨されるクラウド コントロール
特定のユースケースに関係なく、次の一般的なコントロールをGoogle Cloud 環境に適用することをおすすめします。
顧客管理の暗号鍵のロケーションを制限する
| Google コントロール ID | COM-CO-2.2 |
|---|---|
| カテゴリ | 推奨 |
| 説明 | CMEK 用の KMS CryptoKey を提供できるプロジェクトを制限する( この制約を変更するには、管理者に組織ポリシー管理者( 独自の鍵の持ち込みなど、第 2 の保護レイヤを追加する場合は、この制約を変更して、有効になっている CMEK の鍵名を表します。 プロダクトの詳細:
|
| 対象プロダクト |
|
| パス | constraints/gcp.restrictCmekCryptoKeyProjects |
| 演算子 | notexists |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Google Cloud サービスに CMEK を使用する
| Google コントロール ID | COM-CO-2.3 |
|---|---|
| カテゴリ | 推奨 |
| 説明 | 鍵オペレーションを Google-owned and Google-managed encryption keys よりも細かく制御する必要がある場合は、顧客管理の暗号鍵(CMEK)を使用できます。これらの鍵は、Cloud KMS を使用して作成および管理されます。鍵は、ソフトウェア鍵として、HSM クラスタまたは外部の鍵管理システムに保存します。 Cloud KMS の暗号化と復号の割合は、割り当ての対象になります。 Cloud Storage の詳細 Cloud Storage で、個々のオブジェクトに CMEK を使用するか、バケットに追加されたすべての新しいオブジェクトで CMEK がデフォルトで使用されるように Cloud Storage バケットを構成します。CMEK を使用すると、オブジェクトはバケットに保存されるときに Cloud Storage によって鍵で暗号化されます。オブジェクトがリクエスト元に提供されるときに、Cloud Storage によって自動的に復号されます。 Cloud Storage で CMEK を使用する場合、次の制限が適用されます。
|
| 対象プロダクト |
|
| パス | constraints/gcp.restrictNonCmekServices |
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
データ検査用に Sensitive Data Protection を有効にする
| Google コントロール ID | COM-CO-5.1 |
|---|---|
| カテゴリ | 推奨 |
| 説明 | Google Cloud は、Sensitive Data Protection の使用を推奨しています。選択する infoType またはジョブ テンプレートは、特定のシステムによって異なります。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
生成 AI のユースケースに基づく推奨コントロール
機密データまたは機密性の高い生成 AI ワークロードを処理する場合は、該当する生成 AI ユースケースで次のコントロールを実装することをおすすめします。
データアクセス監査ログを有効にする
| Google コントロール ID | COM-CO-7.2 |
|---|---|
| カテゴリ | 特定のユースケースで推奨 |
| 説明 | Google Cloud 環境でデータにアクセスしたユーザーを追跡するには、データアクセス監査ログを有効にします。これらのログには、ユーザーデータの読み取り、作成、変更を行う API 呼び出しと、リソース構成の読み取りを行う API 呼び出しが記録されます。 生成 AI モデルと機密データに対してデータアクセス監査ログを有効にすることを強くおすすめします。これにより、情報を読み取ったユーザーを監査できます。データアクセス監査ログを使用するには、特権管理者のログインなどの特定のアクティビティに対して独自のカスタム検出ロジックを設定する必要があります。 データアクセス監査ログのボリュームは大きなものになる可能性があります。データアクセス ログを有効にすると、 Google Cloud プロジェクトに対して追加のログ使用量の費用が発生する可能性があります。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
ワークロード フォルダの推奨コントロール
生成 AI ワークロードを含むフォルダに、次のセキュリティ コントロールを実装することをおすすめします。
Access Context Manager のアクセス ポリシーでサービス スコープの制限を有効にする
| Google コントロール ID | COM-CO-8.1 |
|---|---|
| カテゴリ | 生成 AI のユースケースに推奨 |
| 説明 | すべてのサービス境界について、 Google Cloud コンソールで境界のタイプが標準に設定されていることを確認します。 |
| 対象プロダクト |
|
| パス | accesscontextmanager.accessPolicies.servicePerimeters/perimeterType |
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
VPC Service Controls サービス境界内の API を制限する
| Google コントロール ID | COM-CO-8.2 |
|---|---|
| カテゴリ | 生成 AI のユースケースに推奨 |
| 説明 | サービス境界ごとに、Access Context Manager を使用して、境界が API を保護していることを確認します。 |
| 対象プロダクト |
|
| パス | accesscontextmanager.accessPolicies.servicePerimeters/status.restrictedServices |
| 演算子 | Anyof |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
オプションの共通コントロール
組織の要件に基づいて、次の共通コントロールを実装することもできます。
アクセスの透明性ログを有効にする
| Google コントロール ID | COM-CO-7.7 |
|---|---|
| カテゴリ | オプション |
| 説明 | アクセスの透明性では、Google の担当者がコンテンツにアクセスしたときに行った操作を記録したログが提供されます。 アクセスの透明性は組織レベルで有効にできます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |