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 1.0 de la stratégie prédéfinie pour une IA sécurisée, étendue. Cette stratégie comprend deux jeux de règles:

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

  • Un ensemble de règles qui inclut des détecteurs Security Health Analytics personnalisés qui s'appliquent à 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 Gemini et aux ressources Vertex AI. Si vous souhaitez déployer cette stratégie prédéfinie, vous devez personnaliser certaines stratégies 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 à Vertex AI Workbench notebooks et instances.

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 le fichier option de téléchargement 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 de true pour désactiver les téléchargements de fichiers sur les nouvelles instances Vertex AI Workbench.

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

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

La valeur est true pour désactiver l'accès root sur la nouvelle plate-forme Vertex AI Workbench notebooks et instances 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é aux instances Vertex AI Workbench.

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

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

Cette contrainte définit les options de VM et d'images de conteneur qu'un utilisateur peut sélectionner lorsqu'il crée Notebooks et instances Vertex AI Workbench où cette contrainte est 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ôles NIST SP 800-53: AC-3, AC-6 et CM-2
ainotebooks.requireAutoUpgradeSchedule

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

La valeur est true pour exiger des mises à niveau automatiques planifiées sur les nouveaux Notebooks et instances 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 un accès depuis des adresses IP publiques aux notebooks Vertex AI Workbench nouvellement créés Compute Engine. Par défaut, les adresses IP publiques peuvent accéder aux notebooks Vertex AI Workbench et les instances.

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

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

Cette liste définit Réseaux VPC qu'un utilisateur peut sélectionner lorsqu'il crée Vertex AI Workbench aux instances où cette contrainte est appliquée.

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

Contrôles 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 qui sont incluses 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 Ensemble de données qui 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 votre trousseau de clés, configuré les autorisations et fourni la clé lorsque vous avez créé votre ensemble de données. Pour obtenir des instructions, consultez la page Configurer des clés CMEK pour votre 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 résultat, vérifiez que vous avez créé la clé et votre trousseau de clés, configuré les autorisations et fourni la clé lorsque vous avez créé votre model. Pour obtenir des instructions, consultez la page Configurer des clés CMEK pour votre 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 votre trousseau de clés, configuré les autorisations et fourni la clé lorsque vous avez créé votre point de terminaison unique. Pour obtenir des instructions, consultez la page Configurer des clés CMEK pour votre 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 résultat, vérifiez que vous avez créé la clé et votre trousseau de clés, configuré les autorisations et fourni la clé lorsque vous avez créé votre le pipeline d'entraînement. Pour obtenir des instructions, consultez la page Configurer des clés CMEK pour votre ressources.

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

Ce détecteur vérifie si une étiquette de données 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 votre trousseau de clés, configuré les autorisations et fourni la clé lorsque vous avez créé votre libellé de données. Pour obtenir des instructions, consultez la page Configurer des clés CMEK pour votre 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 votre trousseau de clés, configuré les autorisations et fourni la clé lorsque vous avez créé votre un job personnalisé. Pour obtenir des instructions, consultez la page Configurer des clés CMEK pour votre 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 votre trousseau de clés, configuré les autorisations et fourni la clé lorsque vous avez créé votre de réglage des hyperparamètres. Pour obtenir des instructions, consultez la page Configurer des clés CMEK pour votre 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

Étape suivante