Postura predefinita per un'AI sicura, estesa

Questa pagina descrive i criteri preventivi e di rilevamento inclusi nella versione 1.0 della postura predefinita per l'AI sicura, estesa. Questa postura include due insiemi di criteri:

  • Un set di criteri che include criteri dell'organizzazione che si applicano ai carichi di lavoro Vertex AI.

  • Un set di criteri che include rilevatori di Security Health Analytics personalizzati che si applicano ai carichi di lavoro Vertex AI.

Puoi utilizzare questa postura predefinita per configurare una postura di sicurezza che aiuti a proteggere le risorse Gemini e Vertex AI. Se vuoi eseguire il deployment di questa postura predefinita, devi personalizzare alcuni dei criteri in modo che vengano applicati al tuo ambiente.

Vincoli dei criteri dell'organizzazione

La tabella seguente descrive i criteri dell'organizzazione inclusi in questa postura.

Criterio Descrizione Standard di conformità
ainotebooks.accessMode

Questo vincolo definisce le modalità di accesso consentite ai blocchi note e alle istanze di Vertex AI Workbench.

Devi configurare questo valore quando adotti questa postura predefinita.

Controllo NIST SP 800-53: AC-3(3) e AC-6(1)
ainotebooks.disableFileDownloads

Questo vincolo impedisce la creazione di istanze di Vertex AI Workbench con l'opzione di download dei file abilitata. L'opzione di download del file può essere abilitata per impostazione predefinita su qualsiasi istanza di Vertex AI Workbench.

Il valore è true per disattivare i download di file sulle nuove istanze Vertex AI Workbench.

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

Questo vincolo impedisce ai nuovi blocchi note e istanze gestite dall'utente di Vertex AI Workbench di abilitare l'accesso root. Per impostazione predefinita, per i blocchi note e le istanze gestiti dall'utente di Vertex AI Workbench è abilitato l'accesso root.

Il valore è true per disabilitare l'accesso root sui nuovi blocchi note e istanze gestite dall'utente di Vertex AI Workbench.

Controllo NIST SP 800-53: AC-3 e AC-6(2)
ainotebooks.disableTerminal

Questo vincolo impedisce la creazione di istanze Vertex AI Workbench con il terminale abilitato. Per impostazione predefinita, il terminale può essere abilitato sulle istanze di Vertex AI Workbench.

Il valore è true per disabilitare il terminale nelle nuove istanze di Vertex AI Workbench.

Controllo NIST SP 800-53: AC-3, AC-6 e CM-2
ainotebooks.environmentOptions

Questo vincolo definisce le opzioni per VM e immagini container che un utente può selezionare durante la creazione di nuovi blocchi note e istanze Vertex AI Workbench in cui viene applicato questo vincolo. Le opzioni da consentire o negare devono essere elencate in modo esplicito.

I valori sono i seguenti:

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
Controllo NIST SP 800-53: AC-3, AC-6 e CM-2
ainotebooks.requireAutoUpgradeSchedule

Questo vincolo richiede che per i blocchi note e le istanze gestiti dall'utente di Vertex AI Workbench di nuova creazione sia impostata una pianificazione degli upgrade automatici.

Il valore è true per richiedere upgrade pianificati automatici su nuovi blocchi note e istanze gestite dall'utente di Vertex AI Workbench.

Controllo NIST SP 800-53: AU-9, CM-2 e CM-6
ainotebooks.restrictPublicIp

Questo vincolo limita l'accesso con IP pubblico ai blocchi note e alle istanze di Vertex AI Workbench appena creati. Per impostazione predefinita, gli IP pubblici possono accedere ai blocchi note e alle istanze di Vertex AI Workbench.

Il valore è true per limitare l'accesso con IP pubblico sui nuovi blocchi note e istanze dei nuovi Vertex AI Workbench.

Controllo NIST SP 800-53: AC-3, AC-4 e SC-7
ainotebooks.restrictVpcNetworks

Questo elenco definisce le reti VPC che un utente può selezionare durante la creazione di nuove istanze di Vertex AI Workbench in cui viene applicato questo vincolo.

Devi configurare questo valore quando adotti questa posizione predefinita.

Controllo NIST SP 800-53: AC-3, AC-4 e CM-2

Rilevatori di Security Health Analytics

La seguente tabella descrive i moduli personalizzati per Security Health Analytics che sono inclusi nella postura predefinita.

Nome rilevatore Risorsa applicabile Descrizione Standard di conformità
vertexAIDataSetCMEKDisabled aiplatform.googleapis.com/Dataset

Questo rilevatore verifica se i set di dati non sono criptati utilizzando una chiave di crittografia gestita dal cliente (CMEK).

Per risolvere questo risultato, verifica di aver creato la chiave e il keyring, di aver configurato le autorizzazioni e di aver fornito la chiave durante la creazione del set di dati. Per le istruzioni, consulta Configurare una CMEK per le tue risorse.

Controllo NIST SP 800-53: SC12 e SC13
vertexAIModelCMEKDisabled aiplatform.googleapis.com/Model

Questo rilevatore verifica se un modello non è criptato tramite una CMEK.

Per risolvere questo risultato, verifica di aver creato la chiave e il keyring, di aver configurato le autorizzazioni e di aver fornito la chiave durante la creazione del modello. Per le istruzioni, consulta Configurare una CMEK per le tue risorse.

Controllo NIST SP 800-53: SC12 e SC13
vertexAIEndpointCMEKDisabled aiplatform.googleapis.com/Endpoint

Questo rilevatore controlla se un endpoint non è criptato tramite una CMEK.

Per risolvere questo risultato, verifica di aver creato la chiave e il keyring, di aver configurato le autorizzazioni e di aver fornito la chiave al momento della creazione dell'endpoint. Per le istruzioni, consulta Configurare una CMEK per le tue risorse.

Controllo NIST SP 800-53: SC12 e SC13
vertexAITrainingPipelineCMEKDisabled aiplatform.googleapis.com/TrainingPipeline

Questo rilevatore controlla se una pipeline di addestramento non è criptata utilizzando una CMEK.

Per risolvere questo risultato, verifica di aver creato la chiave e il keyring, di aver configurato le autorizzazioni e di aver fornito la chiave al momento della creazione della pipeline di addestramento. Per le istruzioni, consulta Configurare una CMEK per le tue risorse.

Controllo NIST SP 800-53: SC12 e SC13
vertexAIDataLabelingJobCMEKDisabled aiplatform.googleapis.com/DataLabelingJob

Questo rilevatore controlla se un'etichetta dati non è criptata utilizzando una CMEK.

Per risolvere questo risultato, verifica di aver creato la chiave e il keyring, di aver configurato le autorizzazioni e di aver fornito la chiave durante la creazione dell'etichetta dati. Per le istruzioni, consulta Configurare una CMEK per le tue risorse.

Controllo NIST SP 800-53: SC12 e SC13
vertexAICustomJobCMEKDisabled aiplatform.googleapis.com/CustomJob

Questo rilevatore controlla se un job che esegue un carico di lavoro personalizzato non è criptato tramite una CMEK.

Per risolvere questo risultato, verifica di aver creato la chiave e il keyring, di aver configurato le autorizzazioni e di aver fornito la chiave al momento della creazione del job personalizzato. Per le istruzioni, consulta Configurare una CMEK per le tue risorse.

Controllo NIST SP 800-53: SC12 e SC13
vertexAIDataLabelingJobHyperparameterTuningJobCMEKDisabled aiplatform.googleapis.com/HyperparameterTuningJob

Questo rilevatore controlla se un job di ottimizzazione degli iperparametri non viene criptato tramite una CMEK.

Per risolvere questo risultato, verifica di aver creato la chiave e il keyring, di aver configurato le autorizzazioni e di aver fornito la chiave al momento della creazione del job di ottimizzazione degli iperparametri. Per le istruzioni, consulta Configurare una CMEK per le tue risorse.

Controllo NIST SP 800-53: SC12 e SC13

Definizione YAML

Di seguito è riportata la definizione YAML per la postura predefinita per l'AI sicura.

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

Passaggi successivi