このページでは、安全な AI の事前定義された対策の v1.0 バージョンに含まれる予防的ポリシーと検出ポリシーの拡張事項について説明します。この体制には、次の 2 つのポリシーセットが含まれています。
Vertex AI ワークロードに適用される組織のポリシーを含むポリシーセット。
Vertex AI ワークロードに適用されるカスタム Security Health Analytics 検出機能を含むポリシーセット。
この事前定義された対策を使用して、Gemini リソースと Vertex AI リソースの保護に役立つセキュリティ対策を構成できます。この事前定義された対策をデプロイする場合は、環境に適用されるようにポリシーの一部をカスタマイズする必要があります。
組織ポリシーの制約
次の表は、この対策に含まれる組織のポリシーを示しています。
ポリシー | 説明 | コンプライアンスの標準 |
---|---|---|
ainotebooks.accessMode |
この制約は、Vertex AI Workbench のノートブックとインスタンスに対して許可されるアクセスのモードを定義します。 この事前定義された体制を採用する場合は、この値を構成する必要があります。 |
NIST SP 800-53 コントロール: AC-3(3)、AC-6(1) |
ainotebooks.disableFileDownloads |
この制約により、ファイル ダウンロード オプションが有効になっている Vertex AI Workbench インスタンスを作成できなくなります。デフォルトでは、任意の Vertex AI Workbench インスタンスでファイル ダウンロード オプションを有効にできます。 新しい Vertex AI Workbench インスタンスでのファイルのダウンロードを無効にする場合、値は |
NIST SP 800-53 コントロール: AC-3(1) |
ainotebooks.disableRootAccess |
この制約により、新しく作成された Vertex AI Workbench ユーザー管理のノートブックとインスタンスで、ルートアクセスを有効にできなくなります。デフォルトでは、Vertex AI Workbench ユーザー管理のノートブックとインスタンスで root アクセスを有効にできます。 新しい Vertex AI Workbench ユーザー管理のノートブックとインスタンスで root アクセスを無効にする場合、値は |
NIST SP 800-53 コントロール: AC-3 および AC-6(2) |
ainotebooks.disableTerminal |
この制約により、ターミナルを有効にして Vertex AI Workbench インスタンスを作成できなくなります。デフォルトでは、Vertex AI Workbench インスタンスでターミナルを有効にすることができます。 新しい Vertex AI Workbench インスタンスでターミナルを無効にする場合、値は |
NIST SP 800-53 コントロール: AC-3、AC-6、CM-2 |
ainotebooks.environmentOptions |
この制約は、この制約が適用される新しい Vertex AI Workbench のノートブックとインスタンスを作成するときに、ユーザーが選択できる VM とコンテナ イメージのオプションを定義します。許可または拒否するオプションは、明示的に指定する必要があります。 値は次のとおりです。 policy_rules: - values: allowed_values: - is:ainotebooks-vm/deeplearning-platform-release/image-family/tf-1-15-cpu - is:ainotebooks-vm/deeplearning-platform-release/image-family/tf-2-1-cpu - is:ainotebooks-vm/deeplearning-platform-release/image-family/tf-1-15-gpu - is:ainotebooks-vm/deeplearning-platform-release/image-family/tf-2-1-gpu - is:ainotebooks-vm/deeplearning-platform-release/image-family/caffe1-latest-cpu-experimental - is:ainotebooks-vm/deeplearning-platform-release/image-name/r-3-6-cpu-experimental-20200617 - is:ainotebooks-vm/deeplearning-platform-release/image-name/tf2-ent-2-1-cpu-20200613 - is:ainotebooks-vm/deeplearning-platform-release/image-name/tf2-2-2-cu101-20200616 - is:ainotebooks-vm/deeplearning-platform-release/image-name/tf-1-15-cu100-20200615 - is:ainotebooks-vm/deeplearning-platform-release/image-name/pytorch-latest-cpu-20200615 - is:ainotebooks-container/gcr.io/deeplearning-platform-release/tf-gpu.1-15 - is:ainotebooks-container/gcr.io/deeplearning-platform-release/tf-cpu.1-15:latest - is:ainotebooks-container/gcr.io/deeplearning-platform-release/tf-cpu.1-15:m48 - is:ainotebooks-container/gcr.io/deeplearning-platform-release/tf-cpu.1-15:m46 - is:ainotebooks-container/custom-container:latest |
NIST SP 800-53 コントロール: AC-3、AC-6、CM-2 |
ainotebooks.requireAutoUpgradeSchedule |
この制約では、新しく作成された Vertex AI Workbench ユーザー管理のノートブックとインスタンスに自動アップグレード スケジュールを設定する必要があります。 値は、新しい Vertex AI Workbench ユーザー管理のノートブックとインスタンスでスケジュール設定された自動アップグレードが必要な場合、 |
NIST SP 800-53 コントロール: AU-9、CM-2、CM-6 |
ainotebooks.restrictPublicIp |
この制約は、新しく作成された Vertex AI Workbench のノートブックとインスタンスへのパブリック IP アクセスを制限します。デフォルトでは、パブリック IP で Vertex AI Workbench のノートブックとインスタンスにアクセスできます。 値は |
NIST SP 800-53 コントロール: AC-3、AC-4、SC-7 |
ainotebooks.restrictVpcNetworks |
このリストでは、この制約が適用される新しい Vertex AI Workbench インスタンスを作成する際にユーザーが選択できる VPC ネットワークを定義します。 この事前定義された体制を採用する場合は、この値を構成する必要があります。 |
NIST SP 800-53 コントロール: AC-3、AC-4、CM-2 |
Security Health Analytics の検出機能
次の表は、事前定義された体制に含まれる Security Health Analytics のカスタム モジュールを示しています。
検出項目の名前 | 該当リソース | 説明 | コンプライアンス標準 |
---|---|---|---|
vertexAIDataSetCMEKDisabled | aiplatform.googleapis.com/Dataset |
この検出機能は、データセットが顧客管理の暗号鍵(CMEK)を使用して暗号化されていないかどうかを確認します。 この問題を解決するには、鍵とキーリングを作成して権限を設定し、データセットの作成時に鍵を指定したことを確認します。手順については、リソースの CMEK を構成するをご覧ください。 |
NIST SP 800-53 コントロール: SC12、SC13 |
vertexAIModelCMEKDisabled | aiplatform.googleapis.com/Model |
この検出機能は、モデルが CMEK を使用して暗号化されていないかどうかを確認します。 この問題を解決するには、鍵とキーリングを作成して権限を設定し、モデルの作成時に鍵を指定したことを確認します。手順については、リソースの CMEK を構成するをご覧ください。 |
NIST SP 800-53 コントロール: SC12、SC13 |
vertexAIEndpointCMEKDisabled | aiplatform.googleapis.com/Endpoint |
この検出機能は、エンドポイントが CMEK を使用して暗号化されていないかどうかを確認します。 この問題を解決するには、鍵とキーリングを作成して権限を設定し、エンドポイントの作成時に鍵を提供したことを確認します。手順については、リソースの CMEK を構成するをご覧ください。 |
NIST SP 800-53 コントロール: SC12、SC13 |
vertexAITrainingPipelineCMEKDisabled | aiplatform.googleapis.com/TrainingPipeline |
この検出機能は、トレーニング パイプラインが CMEK を使用して暗号化されていないかどうかを確認します。 この問題を解決するには、鍵とキーリングを作成して権限を設定し、トレーニング パイプラインの作成時に鍵を提供したことを確認します。手順については、リソースの CMEK を構成するをご覧ください。 |
NIST SP 800-53 コントロール: SC12、SC13 |
vertexAIDataLabelingJobCMEKDisabled | aiplatform.googleapis.com/DataLabelingJob |
この検出機能は、データラベルが CMEK を使用して暗号化されていないかどうかを確認します。 この問題を解決するには、鍵とキーリングを作成して権限を設定し、データラベルを作成したときに鍵を指定したことを確認します。手順については、リソースの CMEK を構成するをご覧ください。 |
NIST SP 800-53 コントロール: SC12、SC13 |
vertexAICustomJobCMEKDisabled | aiplatform.googleapis.com/CustomJob |
この検出機能は、カスタム ワークロードを実行するジョブが CMEK を使用して暗号化されていないかどうかを確認します。 この問題を解決するには、鍵とキーリングを作成して権限を設定し、カスタムジョブを作成したときに鍵を指定したことを確認します。手順については、リソースの CMEK を構成するをご覧ください。 |
NIST SP 800-53 コントロール: SC12、SC13 |
vertexAIDataLabelingJobHyperparameterTuningJobCMEKDisabled | aiplatform.googleapis.com/HyperparameterTuningJob |
この検出機能は、ハイパーパラメータ調整ジョブが CMEK を使用して暗号化されていないかどうかを確認します。 この検出結果を解決するには、鍵とキーリングを作成して権限を設定し、ハイパーパラメータ調整ジョブを作成したときに鍵を指定したことを確認します。手順については、リソースの CMEK を構成するをご覧ください。 |
NIST SP 800-53 コントロール: SC12、SC13 |
YAML の定義
以下に、安全な AI の事前定義された体制の YAML 定義を示します。
name: organizations/123/locations/global/postureTemplates/secure_ai_extended
description: Posture Template to make your AI workload secure.
revision_id: v.1.0
state: ACTIVE
policy_sets:
- policy_set_id: Secure-AI policy_set
description: 8 org policies that new customers can automatically enable.
policies:
- policy_id: Define access mode for Vertex AI Workbench notebooks and instances
compliance_standards:
- standard: NIST SP 800-53
control: AC-3(3)
- standard: NIST SP 800-53
control: AC-6(1)
constraint:
org_policy_constraint:
canned_constraint_id: ainotebooks.accessMode
policy_rules:
- values:
allowed_values:
- is:service-account
- is:single-user
description: This list constraint defines the modes of access allowed to Vertex AI Workbench notebooks and instances where enforced. The allow or deny list can specify multiple users with the service-account mode or single-user access with the single-user mode. The access mode to be allowed or denied must be listed explicitly.
- policy_id: Disable file downloads on new Vertex AI Workbench instances
compliance_standards:
- standard: NIST SP 800-53
control: AC-3(1)
constraint:
org_policy_constraint:
canned_constraint_id: ainotebooks.disableFileDownloads
policy_rules:
- enforce: true
description: This boolean constraint, when enforced, prevents the creation of Vertex AI Workbench instances with the file download option enabled. By default, the file download option can be enabled on any Vertex AI Workbench instance.
- policy_id: Disable root access on new Vertex AI Workbench user-managed notebooks and instances
compliance_standards:
- standard: NIST SP 800-53
control: AC-3
- standard: NIST SP 800-53
control: AC-6(2)
constraint:
org_policy_constraint:
canned_constraint_id: ainotebooks.disableRootAccess
policy_rules:
- enforce: true
description: This boolean constraint, when enforced, prevents newly created Vertex AI Workbench user-managed notebooks and instances from enabling root access. By default, Vertex AI Workbench user-managed notebooks and instances can have root access enabled.
- policy_id: Disable terminal on new Vertex AI Workbench instances
compliance_standards:
- standard: NIST SP 800-53
control: AC-3
- standard: NIST SP 800-53
control: AC-6
- standard: NIST SP 800-53
control: CM-2
constraint:
org_policy_constraint:
canned_constraint_id: ainotebooks.disableTerminal
policy_rules:
- enforce: true
description: This boolean constraint, when enforced, prevents the creation of Vertex AI Workbench instances with the terminal enabled. By default, the terminal can be enabled on Vertex AI Workbench instances.
- policy_id: Restrict environment options on new Vertex AI Workbench notebooks and instances
compliance_standards:
- standard: NIST SP 800-53
control: AC-3
- standard: NIST SP 800-53
control: AC-6
- standard: NIST SP 800-53
control: CM-2
constraint:
org_policy_constraint:
canned_constraint_id: ainotebooks.environmentOptions
policy_rules:
- values:
allowed_values:
- is:ainotebooks-vm/deeplearning-platform-release/image-family/tf-1-15-cpu
- is:ainotebooks-vm/deeplearning-platform-release/image-family/tf-2-1-cpu
- is:ainotebooks-vm/deeplearning-platform-release/image-family/tf-1-15-gpu
- is:ainotebooks-vm/deeplearning-platform-release/image-family/tf-2-1-gpu
- is:ainotebooks-vm/deeplearning-platform-release/image-family/caffe1-latest-cpu-experimental
- is:ainotebooks-vm/deeplearning-platform-release/image-name/r-3-6-cpu-experimental-20200617
- is:ainotebooks-vm/deeplearning-platform-release/image-name/tf2-ent-2-1-cpu-20200613
- is:ainotebooks-vm/deeplearning-platform-release/image-name/tf2-2-2-cu101-20200616
- is:ainotebooks-vm/deeplearning-platform-release/image-name/tf-1-15-cu100-20200615
- is:ainotebooks-vm/deeplearning-platform-release/image-name/pytorch-latest-cpu-20200615
- is:ainotebooks-container/gcr.io/deeplearning-platform-release/tf-gpu.1-15
- is:ainotebooks-container/gcr.io/deeplearning-platform-release/tf-cpu.1-15:latest
- is:ainotebooks-container/gcr.io/deeplearning-platform-release/tf-cpu.1-15:m48
- is:ainotebooks-container/gcr.io/deeplearning-platform-release/tf-cpu.1-15:m46
- is:ainotebooks-container/custom-container:latest
description: "This list constraint defines the VM and container image options a user can select when creating new Vertex AI Workbench notebooks and instances where this constraint is enforced. The options to be allowed or denied must be listed explicitly. \n
The expected format for VM instances is ainotebooks-vm/PROJECT_ID/IMAGE_TYPE/CONSTRAINED_VALUE. Replace IMAGE_TYPE with image-family or image-name. Examples: ainotebooks-vm/deeplearning-platform-release/image-family/pytorch-1-4-cpu, ainotebooks-vm/deeplearning-platform-release/image-name/pytorch-latest-cpu-20200615. \n
The expected format for container images will be ainotebooks-container/CONTAINER_REPOSITORY:TAG. Examples: ainotebooks-container/gcr.io/deeplearning-platform-release/tf-gpu.1-15:latest, ainotebooks-container/gcr.io/deeplearning-platform-release/tf-gpu.1-15:m48."
- policy_id: Require automatic scheduled upgrades on new Vertex AI Workbench user-managed notebooks and instances
compliance_standards:
- standard: NIST SP 800-53
control: AU-9
- standard: NIST SP 800-53
control: CM-2
- standard: NIST SP 800-53
control: CM-6
constraint:
org_policy_constraint:
canned_constraint_id: ainotebooks.requireAutoUpgradeSchedule
policy_rules:
- enforce: true
description: This boolean constraint, when enforced, requires that newly created Vertex AI Workbench user-managed notebooks and instances have an automatic upgrade schedule set. The automatic upgrade schedule can be defined by using the `notebook-upgrade-schedule` metadata flag to specify a cron schedule for the automatic upgrades.
- policy_id: Restrict public IP access on new Vertex AI Workbench notebooks and instances
compliance_standards:
- standard: NIST SP 800-53
control: AC-3
- standard: NIST SP 800-53
control: AC-4
- standard: NIST SP 800-53
control: SC-7
constraint:
org_policy_constraint:
canned_constraint_id: ainotebooks.restrictPublicIp
policy_rules:
- enforce: true
description: This boolean constraint, when enforced, restricts public IP access to newly created Vertex AI Workbench notebooks and instances. By default, public IPs can access Vertex AI Workbench notebooks and instances.
- policy_id: Restrict VPC networks on new Vertex AI Workbench instances
compliance_standards:
- standard: NIST SP 800-53
control: AC-3
- standard: NIST SP 800-53
control: AC-4
- standard: NIST SP 800-53
control: CM-2
constraint:
org_policy_constraint:
canned_constraint_id: ainotebooks.restrictVpcNetworks
policy_rules:
- values:
allowed_values:
- is:organizations/ORGANIZATION_ID
- is:folders/FOLDER_ID
- is:projects/PROJECT_ID
- is:projects/PROJECT_ID/global/networks/NETWORK_NAME
description: This list constraint defines the VPC networks a user can select when creating new Vertex AI Workbench instances where this constraint is enforced. By default, a Vertex AI Workbench instance can be created with any VPC networks. The allowed or denied list of networks must be identified in the form.
- policy_set_id: Secure-AI SHA_policy_set
description: 5 custome SHA modules that new customers can automatically enable.
policies:
- policy_id: CMEK key is use for Vertex AI DataSet
compliance_standards:
- standard: NIST SP 800-53
control: SC-12
- standard: NIST SP 800-53
control: SC-13
constraint:
security_health_analytics_custom_module:
display_name: "vertexAIDataSetCMEKDisabled"
config:
customOutput: {}
predicate:
expression: "!has(resource.encryptionSpec)"
resource_selector:
resource_types:
- aiplatform.googleapis.com/Dataset
severity: CRITICAL
description: "When enforced, this detector finds if any Data Set is not encrypted using CMEK. CMEKs, managed via Cloud KMS, offer advanced control over key operations."
recommendation: "Restore SHA module- Reset the SHA module to its intended state. Consult documentation- Refer to the comprehensive guidance provided at
https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview"
module_enablement_state: ENABLED
- policy_id: CMEK key is use for Vertex AI Model
compliance_standards:
- standard: NIST SP 800-53
control: SC-12
- standard: NIST SP 800-53
control: SC-13
constraint:
security_health_analytics_custom_module:
display_name: "vertexAIModelCMEKDisabled"
config:
customOutput: {}
predicate:
expression: "!has(resource.encryptionSpec)"
resource_selector:
resource_types:
- aiplatform.googleapis.com/Model
severity: CRITICAL
description: "When enforced, this detector finds if any Data Set is not encrypted using CMEK. CMEKs, managed via Cloud KMS, offer advanced control over key operations."
recommendation: "Restore SHA module- Reset the SHA module to its intended state. Consult documentation- Refer to the comprehensive guidance provided at
https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview"
module_enablement_state: ENABLED
- policy_id: CMEK key is use for Vertex AI Endpoint
compliance_standards:
- standard: NIST SP 800-53
control: SC-12
- standard: NIST SP 800-53
control: SC-13
constraint:
security_health_analytics_custom_module:
display_name: "vertexAIEndpointCMEKDisabled"
config:
customOutput: {}
predicate:
expression: "!has(resource.encryptionSpec)"
resource_selector:
resource_types:
- aiplatform.googleapis.com/Endpoint
severity: CRITICAL
description: "When enforced, this detector finds if any Data Set is not encrypted using CMEK. CMEKs, managed via Cloud KMS, offer advanced control over key operations."
recommendation: "Restore SHA module- Reset the SHA module to its intended state. Consult documentation- Refer to the comprehensive guidance provided at
https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview"
module_enablement_state: ENABLED
- policy_id: CMEK key is use for Vertex AI TrainingPipeline
compliance_standards:
- standard: NIST SP 800-53
control: SC-12
- standard: NIST SP 800-53
control: SC-13
constraint:
security_health_analytics_custom_module:
display_name: "vertexAITrainingPipelineCMEKDisabled"
config:
customOutput: {}
predicate:
expression: "!has(resource.encryptionSpec)"
resource_selector:
resource_types:
- aiplatform.googleapis.com/TrainingPipeline
severity: CRITICAL
description: "When enforced, this detector finds if any Data Set is not encrypted using CMEK. CMEKs, managed via Cloud KMS, offer advanced control over key operations."
recommendation: "Restore SHA module- Reset the SHA module to its intended state. Consult documentation- Refer to the comprehensive guidance provided at
https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview"
module_enablement_state: ENABLED
- policy_id: CMEK key is use for Vertex AI DataLabelingJob
compliance_standards:
- standard: NIST SP 800-53
control: SC-12
- standard: NIST SP 800-53
control: SC-13
constraint:
security_health_analytics_custom_module:
display_name: "vertexAIDataLabelingJobCMEKDisabled"
config:
customOutput: {}
predicate:
expression: "!has(resource.encryptionSpec)"
resource_selector:
resource_types:
- aiplatform.googleapis.com/DataLabelingJob
severity: CRITICAL
description: "When enforced, this detector finds if any Data Set is not encrypted using CMEK. CMEKs, managed via Cloud KMS, offer advanced control over key operations."
recommendation: "Restore SHA module- Reset the SHA module to its intended state. Consult documentation- Refer to the comprehensive guidance provided at
https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview"
module_enablement_state: ENABLED
- policy_id: CMEK key is use for Vertex AI CustomJob
compliance_standards:
- standard: NIST SP 800-53
control: SC-12
- standard: NIST SP 800-53
control: SC-13
constraint:
security_health_analytics_custom_module:
display_name: "vertexAICustomJobCMEKDisabled"
config:
customOutput: {}
predicate:
expression: "!has(resource.encryptionSpec)"
resource_selector:
resource_types:
- aiplatform.googleapis.com/CustomJob
severity: CRITICAL
description: "When enforced, this detector finds if any Data Set is not encrypted using CMEK. CMEKs, managed via Cloud KMS, offer advanced control over key operations."
recommendation: "Restore SHA module- Reset the SHA module to its intended state. Consult documentation- Refer to the comprehensive guidance provided at
https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview"
module_enablement_state: ENABLED
- policy_id: CMEK key is use for Vertex AI HyperparameterTuningJob
compliance_standards:
- standard: NIST SP 800-53
control: SC-12
- standard: NIST SP 800-53
control: SC-13
constraint:
security_health_analytics_custom_module:
display_name: "vertexAIDataLabelingJobHyperparameterTuningJobCMEKDisabled"
config:
customOutput: {}
predicate:
expression: "!has(resource.encryptionSpec)"
resource_selector:
resource_types:
- aiplatform.googleapis.com/HyperparameterTuningJob
severity: CRITICAL
description: "When enforced, this detector finds if any Data Set is not encrypted using CMEK. CMEKs, managed via Cloud KMS, offer advanced control over key operations."
recommendation: "Restore SHA module- Reset the SHA module to its intended state. Consult documentation- Refer to the comprehensive guidance provided at
https://cloud.google.com/security-command-center/docs/custom-modules-sha-overview"
module_enablement_state: ENABLED