Stratégie prédéfinie pour une IA sécurisée, étendue

Cette page décrit les règles de prévention et de détection incluses dans la version v1.0 de la stratégie prédéfinie étendue pour l'IA sécurisée. Cette stratégie comprend deux ensembles de règles:

  • Un ensemble de règles qui inclut les règles d'administration qui s'appliquent aux charges de travail Vertex AI.

  • Un ensemble de règles qui inclut des détecteurs personnalisés Security Health Analytics qui s'appliquent aux charges de travail Vertex AI.

Vous pouvez utiliser cette stratégie prédéfinie pour configurer une stratégie de sécurité qui contribue à protéger les ressources Gemini et Vertex AI. Si vous souhaitez déployer cette stratégie prédéfinie, vous devez personnaliser certaines règles afin qu'elles s'appliquent à votre environnement.

Contraintes liées aux règles d'administration

Le tableau suivant décrit les règles d'administration incluses dans cette stratégie.

Règle Description Norme de conformité
ainotebooks.accessMode

Cette contrainte définit les modes d'accès autorisés aux instances et aux notebooks Vertex AI Workbench.

Vous devez configurer cette valeur lorsque vous adoptez cette stratégie prédéfinie.

Contrôle NIST SP 800-53: AC-3(3) et AC-6(1)
ainotebooks.disableFileDownloads

Cette contrainte empêche la création d'instances Vertex AI Workbench avec l'option de téléchargement de fichier activée. Par défaut, l'option de téléchargement de fichiers peut être activée sur n'importe quelle instance Vertex AI Workbench.

La valeur est true pour désactiver le téléchargement de fichiers sur les nouvelles instances Vertex AI Workbench.

Contrôle NIST SP 800-53: AC-3(1)
ainotebooks.disableRootAccess

Cette contrainte empêche les nouveaux notebooks et instances Vertex AI Workbench gérés par l'utilisateur d'activer l'accès root. Par défaut, l'accès racine peut être activé pour les instances et notebooks gérés par l'utilisateur dans Vertex AI Workbench.

La valeur est true pour désactiver l'accès racine aux nouvelles instances et notebooks Vertex AI Workbench gérés par l'utilisateur.

Contrôle NIST SP 800-53: AC-3 et AC-6(2)
ainotebooks.disableTerminal

Cette contrainte empêche la création d'instances Vertex AI Workbench avec le terminal activé. Par défaut, le terminal peut être activé sur les instances Vertex AI Workbench.

La valeur est true pour désactiver le terminal sur les nouvelles instances Vertex AI Workbench.

Contrôle NIST SP 800-53: AC-3, AC-6 et CM-2
ainotebooks.environmentOptions

Cette contrainte définit les options de VM et d'image de conteneur qu'un utilisateur peut sélectionner lors de la création de notebooks Vertex AI Workbench et d'instances où cette contrainte est appliquée. Les options à autoriser ou à refuser doivent être explicitement répertoriées.

Les valeurs sont les suivantes:


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
Contrôle NIST SP 800-53: AC-3, AC-6 et CM-2
ainotebooks.requireAutoUpgradeSchedule

Cette contrainte nécessite que les nouveaux notebooks et instances Vertex AI Workbench gérés par l'utilisateur disposent d'un calendrier de mise à niveau automatique défini.

La valeur est true pour exiger des mises à niveau automatiques planifiées sur les nouvelles instances et notebooks Vertex AI Workbench gérés par l'utilisateur.

Contrôle NIST SP 800-53: AU-9, CM-2 et CM-6
ainotebooks.restrictPublicIp

Cette contrainte limite l'accès des adresses IP publiques aux instances et notebooks Vertex AI Workbench nouvellement créés. Par défaut, les adresses IP publiques peuvent accéder aux notebooks et aux instances Vertex AI Workbench.

La valeur est true pour restreindre l'accès des adresses IP publiques aux nouveaux notebooks et instances Vertex AI Workbench.

Contrôle NIST SP 800-53: AC-3, AC-4 et SC-7
ainotebooks.restrictVpcNetworks

Cette liste définit les réseaux VPC qu'un utilisateur peut sélectionner lors de la création d'instances Vertex AI Workbench dans lesquelles cette contrainte est appliquée.

Vous devez configurer cette valeur lorsque vous adoptez cette stratégie prédéfinie.

Contrôle NIST SP 800-53: AC-3, AC-4 et CM-2

Détecteurs Security Health Analytics

Le tableau suivant décrit les modules personnalisés de Security Health Analytics inclus dans la stratégie prédéfinie.

Nom du détecteur Ressource applicable Description Normes de conformité
vertexAIDataSetCMEKDisabled aiplatform.googleapis.com/Dataset

Ce détecteur vérifie si un ensemble de données n'est pas chiffré à l'aide d'une clé de chiffrement gérée par le client (CMEK).

Pour résoudre ce résultat, vérifiez que vous avez créé la clé et le trousseau de clés, configuré les autorisations et fourni la clé lors de la création de l'ensemble de données. Pour obtenir des instructions, consultez Configurer des clés CMEK pour vos ressources.

Contrôle NIST SP 800-53: SC12 et SC13
vertexAIModelCMEKDisabled aiplatform.googleapis.com/Model

Ce détecteur vérifie si un modèle n'est pas chiffré à l'aide d'une clé CMEK.

Pour résoudre ce problème, vérifiez que vous avez créé la clé et le trousseau de clés, configuré les autorisations et fourni la clé lors de la création du modèle. Pour obtenir des instructions, consultez Configurer des clés CMEK pour vos ressources.

Contrôle NIST SP 800-53: SC12 et SC13
vertexAIEndpointCMEKDisabled aiplatform.googleapis.com/Endpoint

Ce détecteur vérifie si un point de terminaison n'est pas chiffré à l'aide d'une clé CMEK.

Pour résoudre ce résultat, vérifiez que vous avez créé la clé et le trousseau de clés, configuré les autorisations et fourni la clé lors de la création du point de terminaison. Pour obtenir des instructions, consultez Configurer des clés CMEK pour vos ressources.

Contrôle NIST SP 800-53: SC12 et SC13
vertexAITrainingPipelineCMEKDisabled aiplatform.googleapis.com/TrainingPipeline

Ce détecteur vérifie si un pipeline d'entraînement n'est pas chiffré à l'aide d'une clé CMEK.

Pour résoudre ce problème, vérifiez que vous avez créé la clé et le trousseau de clés, configuré les autorisations et fourni la clé lors de la création du pipeline d'entraînement. Pour obtenir des instructions, consultez Configurer des clés CMEK pour vos ressources.

Contrôle NIST SP 800-53: SC12 et SC13
vertexAIDataLabelingJobCMEKDisabled aiplatform.googleapis.com/DataLabelingJob

Ce détecteur vérifie si un libellé de données n'est pas chiffré à l'aide d'une clé CMEK.

Pour résoudre ce résultat, vérifiez que vous avez créé la clé et le trousseau de clés, configuré les autorisations et fourni la clé lors de la création du libellé de données. Pour obtenir des instructions, consultez Configurer des clés CMEK pour vos ressources.

Contrôle NIST SP 800-53: SC12 et SC13
vertexAICustomJobCMEKDisabled aiplatform.googleapis.com/CustomJob

Ce détecteur vérifie si une tâche qui exécute une charge de travail personnalisée n'est pas chiffrée à l'aide d'une clé CMEK.

Pour résoudre ce résultat, vérifiez que vous avez créé la clé et le trousseau de clés, configuré les autorisations et fourni la clé lors de la création du job personnalisé. Pour obtenir des instructions, consultez Configurer des clés CMEK pour vos ressources.

Contrôle NIST SP 800-53: SC12 et SC13
vertexAIDataLabelingJobHyperparameterTuningJobCMEKDisabled aiplatform.googleapis.com/HyperparameterTuningJob

Ce détecteur vérifie si une tâche de réglage des hyperparamètres n'est pas chiffrée à l'aide d'une clé CMEK.

Pour résoudre ce résultat, vérifiez que vous avez créé la clé et le trousseau de clés, configuré les autorisations et fourni la clé lors de la création du job de réglage des hyperparamètres. Pour obtenir des instructions, consultez Configurer des clés CMEK pour vos ressources.

Contrôle NIST SP 800-53: SC12 et SC13

Définition YAML

Voici la définition YAML de la stratégie prédéfinie pour l'IA sécurisée.

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

Étapes suivantes