このドキュメントでは、 Google Cloudで生成 AI ワークロードを実行する際のデータ管理システムのベスト プラクティスとガイドラインについて説明します。
BigQuery や Cloud Storage などのデータ管理システムを使用すると、トレーニング データ、モデル アーティファクト、本番環境データなど、ML ワークフローに必要なデータを保存できます。
一般的なコントロール
これらの制御は、すべてのデータ管理システムに適用されます。
データ検査用に Sensitive Data Protection を有効にする
| Google コントロール ID | COM-CO-5.1 |
|---|---|
| 実装 | 推奨 |
| 説明 | Google Cloud は、Sensitive Data Protection の使用を推奨しています。選択する infoType またはジョブ テンプレートは、特定のシステムによって異なります。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
データ ウェアハウスの制御
これらの制御は BigQuery に適用されます。
BigQuery データセットが一般公開で読み取り可能になっていないこと、または allAuthenticatedUsers に設定されていないことを確認する
| Google コントロール ID | BQ-CO-6.1 |
|---|---|
| 実装 | 必須 |
| 説明 | BigQuery データセット内の情報へのアクセスを特定のユーザーのみに制限します。この保護を構成するには、詳細なロールを設定する必要があります。 |
| 対象プロダクト |
|
| パス | cloudasset.assets/assetType |
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery テーブルが一般公開で読み取り可能になっていないこと、または allAuthenticatedUsers に設定されていないことを確認する
| Google コントロール ID | BQ-CO-6.2 |
|---|---|
| 実装 | 必須 |
| 説明 | BigQuery テーブル内の情報へのアクセスを特定のユーザーのみに制限します。この保護を構成するには、詳細なロールを設定する必要があります。 |
| 対象プロダクト |
|
| パス | cloudasset.assets/iamPolicy.bindings.members |
| 演算子 | anyof |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery テーブル内の個々の値を暗号化する
| Google コントロール ID | BQ-CO-6.3 |
|---|---|
| 実装 | 省略可 |
| 説明 | 組織で BigQuery テーブル内の個々の値を暗号化する必要がある場合は、関連データを伴う認証付き暗号化(AEAD)の暗号化関数を使用します。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery データセットに承認済みビューを使用する
| Google コントロール ID | BQ-CO-6.4 |
|---|---|
| 実装 | 省略可 |
| 説明 | 承認済みビューを使用すると、データセット内のデータのサブセットを特定のユーザーと共有できます。たとえば、承認済みビューを使用すると、元のソースデータへのアクセスを許可することなくクエリの結果を特定のユーザーやグループと共有することができます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery の列レベル セキュリティを使用する
| Google コントロール ID | BQ-CO-6.5 |
|---|---|
| 実装 | 省略可 |
| 説明 | BigQuery の列レベルのセキュリティを使用して、ユーザーが適切なアクセス権を持っているかどうかをクエリの実行時に確認するポリシーを作成します。BigQuery では、データのポリシータグ(型ベースの分類)を使用し、機密性の高い列に対してきめ細かいアクセスを行うことができます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery の行レベル セキュリティを使用する
| Google コントロール ID | BQ-CO-6.6 |
|---|---|
| 実装 | 省略可 |
| 説明 | 行レベルのセキュリティとアクセス ポリシーを使用して、BigQuery テーブル内のデータのサブセットに対するきめ細かいアクセス制御を有効にします。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery リソースグラフを使用する
| Google コントロール ID | BQ-CO-7.1 |
|---|---|
| 実装 | 省略可 |
| 説明 | BigQuery リソースグラフを使用すると、BigQuery の組織、フォルダ、予約が BigQuery スロットをどのように使用しているか、およびクエリがどのように実行されるかを確認できます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
ストレージ コントロール
これらの制御は Cloud Storage に適用されます。
Cloud Storage バケットへのパブリック アクセスをブロックする
| Google コントロール ID | GCS-CO-4.1 |
|---|---|
| 実装 | 必須 |
| 説明 |
|
| 対象プロダクト |
|
| パス | constraints/storage.publicAccessPrevention |
| 演算子 | == |
| 値 |
|
| 型 | ブール値 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
均一なバケットレベルのアクセスの使用
| Google コントロール ID | GCS-CO-4.2 |
|---|---|
| 実装 | 必須 |
| 説明 |
2 つの異なる競合するシステムを使用してストレージ バケットの権限を管理することは複雑であり、データ漏洩の一般的な原因となっています。この設定により、以前のシステム(アクセス制御リスト、ACL)が無効になり、最新の一元化されたシステム(IAM)がすべての権限の唯一の信頼できる情報源になります。 |
| 対象プロダクト |
|
| パス | constraints/storage.uniformBucketLevelAccess |
| 演算子 | == |
| 値 |
|
| 型 | ブール値 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
サービス アカウントの HMAC キーを保護する
| Google コントロール ID | GCS-CO-6.9 |
|---|---|
| 実装 | 必須 |
| 説明 | HMAC キーは、Cloud Storage のサービス アカウントまたはユーザー アカウントに関連付けられた有効期間の長い認証情報です。HMAC キーを使用して、Cloud Storage に対するリクエストに含まれる署名を作成します。署名により、ユーザーまたはサービス アカウントがリクエストを承認したことが証明されます。 有効期間が短い認証情報(OAuth 2.0 トークン)とは異なり、HMAC キーは自動的に有効期限が切れることはなく、手動で取り消されるまで有効です。HMAC キーはリスクの高い認証情報です。不正使用されると、リソースへの永続的なアクセスが可能になります。この点を保護する適切なメカニズムが導入されていることを確認する必要があります。 |
| 対象プロダクト |
|
| パス | storage.projects.hmacKeys/id |
| 演算子 | Exists |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
サービス アカウントによる Cloud Storage バケットの列挙を検出する
| Google コントロール ID | GCS-CO-7.2 |
|---|---|
| 実装 | 必須 |
| 説明 | サービス アカウントは、アプリケーション用に設計された人間以外の ID であり、その動作は予測可能で自動化されています。通常、サービス アカウントはすでにマッピングされているため、バケットを項目化する必要はありません。したがって、すべての Cloud Storage バケットのリストを取得しようとしているサービス アカウントを検出した場合は、直ちに調査する必要があります。偵察列挙は、サービス アカウントにアクセスした悪意のある行為者が偵察手法としてよく使用する手口です。 |
| 対象プロダクト |
|
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
サービス アカウントによる Cloud Storage バケットの Identity and Access Management(IAM)ポリシーの変更を検出する
| Google コントロール ID | GCS-CO-7.3 |
|---|---|
| 実装 | 必須 |
| 説明 | Cloud Storage バケットの IAM ポリシーが変更され、公開アクセス権が付与されたときに検出するアラートを構成します。このアラートは、 アラートで、 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットの保持ポリシーでバケットロックが使用されていることを確認する
| Google コントロール ID | GCS-CO-6.1 |
|---|---|
| 実装 | 推奨 |
| 説明 | 規制要件に応じて、各 Cloud Storage バケットの保持ポリシーがロックされていることを確認します。要件を満たす期間を保持期間に設定します。 |
| 対象プロダクト |
|
| パス | storage.buckets/retentionPolicy.isLocked |
| 演算子 | != |
| 値 |
|
| 型 | ブール値 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
SetStorageClass アクションのライフサイクル ルールを設定する
| Google コントロール ID | GCS-CO-6.11 |
|---|---|
| 実装 | 推奨 |
| 説明 |
|
| 対象プロダクト |
|
| パス | storage.buckets/lifecycle.rule.action.type |
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
ストレージ クラスの許可リージョンを設定する
| Google コントロール ID | GCS-CO-6.12 |
|---|---|
| 実装 | 推奨 |
| 説明 | ライフサイクル構成のストレージ クラスが、許可されているリージョン分類に含まれていないことを確認します。 |
| 対象プロダクト |
|
| パス | storage.buckets/lifecycle.rule.action.storageClass |
| 演算子 | nin |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットのライフサイクル管理を有効にする
| Google コントロール ID | GCS-CO-6.13 |
|---|---|
| 実装 | 推奨 |
| 説明 | Cloud Storage のライフサイクル管理が有効になっていて、構成されていることを確認します。ライフサイクル コントロールには、ストレージ ライフサイクルの構成が含まれています。この設定のポリシーが要件と一致していることを確認します。 |
| 対象プロダクト |
|
| パス | storage.buckets/lifecycle |
| 演算子 | Exists |
| 値 |
|
| 型 | オブジェクト |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットのライフサイクル管理ルールを有効にする
| Google コントロール ID | GCS-CO-6.14 |
|---|---|
| 実装 | 推奨 |
| 説明 | Cloud Storage のライフサイクル管理ルールが有効になっていて、構成されていることを確認します。ルール コントロールには、ストレージ ライフサイクルの構成が含まれています。この設定のポリシーが要件と一致していることを確認します。 |
| 対象プロダクト |
|
| パス | storage.buckets/lifecycle.rule |
| 演算子 | Empty |
| 値 |
|
| 型 | 配列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
アクティブなオブジェクトの一時保留を確認して評価する
| Google コントロール ID | GCS-CO-6.16 |
|---|---|
| 実装 | 推奨 |
| 説明 | temporaryHold が TRUE に設定されているすべてのオブジェクトを特定し、調査と検証のプロセスを開始します。この評価は、次のユースケースに適しています。
|
| 対象プロダクト |
|
| パス | storage.objects/temporaryHold |
| 演算子 | == |
| 値 |
|
| 型 | ブール値 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットに保持ポリシーを適用する
| Google コントロール ID | GCS-CO-6.17 |
|---|---|
| 実装 | 推奨 |
| 説明 | すべての Cloud Storage バケットに保持ポリシーが設定されていることを確認します。 |
| 対象プロダクト |
|
| パス | storage.buckets/retentionPolicy.retentionPeriod |
| 演算子 | agesmaller |
| 値 |
|
| 型 | int64 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットの分類タグを適用する
| Google コントロール ID | GCS-CO-6.18 |
|---|---|
| 実装 | 推奨 |
| 説明 | データ分類は、あらゆるデータ ガバナンス プログラムとセキュリティ プログラムの基盤となるコンポーネントです。各バケットに、公開、内部、機密、制限付きなどの値を持つ分類ラベルを適用することが不可欠です。
|
| 対象プロダクト |
|
| パス | storage.buckets/labels.classification |
| 演算子 | notexists |
| 値 |
|
| 型 | 拡張 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットのログバケットを適用する
| Google コントロール ID | GCS-CO-6.3 |
|---|---|
| 実装 | 推奨 |
| 説明 | すべての Cloud Storage バケットにログバケットが含まれていることを確認します。 |
| 対象プロダクト |
|
| パス | storage.buckets/logging.logBucket |
| 演算子 | notexists |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットの削除ルールを構成する
| Google コントロール ID | GCS-CO-6.5 |
|---|---|
| 実装 | 推奨 |
| 説明 | Cloud Storage では、 オブジェクトがバケットから完全に削除されるように |
| 対象プロダクト |
|
| パス | storage.buckets/lifecycle.rule.action.type |
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
削除ルールの isLive 条件が False であることを確認する
| Google コントロール ID | GCS-CO-6.6 |
|---|---|
| 実装 | 推奨 |
| 説明 | 削除ルールの場合、ルールの Cloud Storage では、 ユースケース:
|
| 対象プロダクト |
|
| パス | storage.buckets/lifecycle.rule.condition.isLive |
| 演算子 | == |
| 値 |
|
| 型 | ブール値 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットのバージョニングを適用する
| Google コントロール ID | GCS-CO-6.7 |
|---|---|
| 実装 | 推奨 |
| 説明 | すべての Cloud Storage バケットでバージョニングが有効になっていることを確認します。ユースケースには、次のようなものがあります。
|
| 対象プロダクト |
|
| パス | storage.buckets/versioning.enabled |
| 演算子 | != |
| 値 |
|
| 型 | ブール値 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage バケットのオーナーを適用する
| Google コントロール ID | GCS-CO-6.8 |
|---|---|
| 実装 | 推奨 |
| 説明 |
|
| 対象プロダクト |
|
| パス | storage.buckets/labels.owner |
| 演算子 | notexists |
| 値 |
|
| 型 | 拡張 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
Cloud Storage の主なアクティビティのロギングを有効にする
| Google コントロール ID | GCS-CO-7.4 |
|---|---|
| 実装 | 推奨 |
| 説明 | ユースケースに基づいて、特定のストレージ オブジェクトに関する追加のロギングを有効にします。たとえば、機密データバケットへのアクセスをログに記録して、誰がいつアクセスしたかを追跡できるようにします。追加のロギングを有効にする場合は、生成される可能性のあるログの量を考慮してください。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |