보안 AI의 사전 정의된 상황, 확장 요소

이 페이지에서는 보안 AI를 위한 사전 정의된 상황(확장 요소)의 v1.0 버전에 포함된 예방 및 감지 정책에 대해 설명합니다. 이 상황에는 두 가지 정책 집합이 포함됩니다.

  • 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 인스턴스에서 사용 설정할 수 있습니다.

값은 true이며 새로운 Vertex AI Workbench 인스턴스에서 파일 다운로드를 사용 중지합니다.

NIST SP 800-53 제어: AC-3(1)
ainotebooks.disableRootAccess

이 제약조건은 새로 만든 Vertex AI Workbench 사용자 관리 노트북 및 인스턴스에서 루트 액세스를 사용 설정하지 못하도록 방지합니다. 기본적으로 Vertex AI Workbench 사용자 관리형 노트북 및 인스턴스는 루트 액세스를 사용 설정할 수 있습니다.

값은 true이며 새로운 Vertex AI Workbench 사용자 관리 노트북 및 인스턴스에서 루트 액세스를 사용 중지합니다.

NIST SP 800-53 제어: AC-3 및 AC-6(2)
ainotebooks.disableTerminal

이 제약조건은 터미널을 사용 설정하여 Vertex AI Workbench 인스턴스를 만들 수 없도록 방지합니다. 기본적으로 터미널은 Vertex AI Workbench 인스턴스에서 사용 설정됩니다.

값은 true이며 새 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 사용자 관리 노트북 및 인스턴스에 자동 업그레이드 예약이 설정되도록 지정합니다.

값은 true이며 새로운 Vertex AI Workbench 사용자 관리 노트북 및 인스턴스에 자동 예약 업그레이드가 필요합니다.

NIST SP 800-53 제어: AU-9, CM-2, CM-6
ainotebooks.restrictPublicIp

이 제약조건은 새로 만든 Vertex AI Workbench 노트북 및 인스턴스에 대한 공개 IP 액세스를 제한합니다. 기본적으로 공개 IP는 Vertex AI Workbench 노트북 및 인스턴스에 액세스할 수 있습니다.

값은 true이며 새로운 Vertex AI Workbench 노트북 및 인스턴스에서 공개 IP 주소를 제한합니다.

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

다음 단계