Partager via


Auditer et gérer Azure Machine Learning

Lorsque les équipes collaborent sur Azure Machine Learning, elles peuvent avoir des exigences variables pour configurer et organiser des ressources. Les équipes de Machine Learning peuvent rechercher une flexibilité dans l’organisation des espaces de travail pour la collaboration ou la taille des clusters de calcul pour les besoins de leurs cas d’usage. Dans ces scénarios, la productivité pourrait en bénéficier si les équipes d’applications peuvent gérer leur propre infrastructure.

En tant qu’administrateur de plateforme, vous pouvez utiliser des stratégies pour disposer des garde-fous permettant aux équipes de gérer leurs propres ressources. Azure Policy permet d’auditer et de gouverner l’état des ressources. Cet article explique comment utiliser des contrôles d’audit et des pratiques de gouvernance pour Azure Machine Learning.

Stratégies pour Azure Machine Learning

Azure Policy est un outil de gouvernance qui vous permet de vous assurer que les ressources Azure sont conformes à vos stratégies.

Azure Policy fournit un ensemble de stratégies que vous pouvez utiliser pour les scénarios courants avec Azure Machine Learning. Vous pouvez attribuer ces définitions de stratégie à votre abonnement existant ou les utiliser comme base pour créer vos propres définitions personnalisées.

Le tableau suivant répertorie les stratégies intégrées que vous pouvez attribuer avec Azure Machine Learning. Pour obtenir la liste de toutes les stratégies intégrées Azure, consultez stratégies intégrées.

Nom
(Portail Azure)
Description Effet(s) Version
(GitHub)
[Préversion] : les déploiements Azure Machine Learning doivent uniquement utiliser des modèles de registre approuvés Limiter le déploiement de modèles de registre pour contrôler en externe les modèles créés utilisés au sein de votre organisation Audit, Refuser, Désactivé 1.0.0-preview
[Préversion] : les déploiements de Registre de modèles Azure Machine Learning sont limités, à l’exception du Registre autorisé Déployez uniquement des modèles de Registre dans le Registre autorisé et qui ne sont pas limités. Deny, Disabled 1.0.0-preview
La capacité de calcul Azure Machine Learning doit s’arrêter en cas d’inactivité. Le fait de planifier un arrêt en cas d’inactivité réduit les coûts en arrêtant les calculs inactifs après une période d’activité prédéfinie. Audit, Refuser, Désactivé 1.0.0
Les instances de calcul Azure Machine Learning doivent être recréées pour obtenir les dernières mises à jour logicielles Vérifiez que les instances de calcul Azure Machine Learning s’exécutent sur le dernier système d’exploitation disponible. La sécurité est renforcée et les vulnérabilités sont réduites si l’exécution se fait avec les derniers correctifs de sécurité. Pour plus d’informations, consultez https://aka.ms/azureml-ci-updates/. [parameters('effects')] 1.0.3
Les capacités de calcul Azure Machine Learning doivent se trouver dans un réseau virtuel Le réseau virtuel Azure fournit une sécurité et une isolation améliorées pour vos clusters et instances de calcul Azure Machine Learning, ainsi que des sous-réseaux, des stratégies de contrôle d’accès et d’autres fonctionnalités permettant de restreindre davantage l’accès. Quand une capacité de calcul Azure Machine Learning est configurée avec un réseau virtuel, elle n’est pas adressable publiquement et est accessible uniquement à partir de machines virtuelles et d’applications figurant dans le réseau virtuel. Audit, Désactivé 1.0.1
Les méthodes d’authentification locale doivent être désactivées pour les capacités de calcul Azure Machine Learning La désactivation des méthodes d’authentification locale renforce la sécurité en veillant à ce que les capacités de calcul Machine Learning requièrent des identités Azure Active Directory exclusivement pour l’authentification. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/azure-ml-aad-policy. Audit, Refuser, Désactivé 2.1.0
Les espaces de travail Azure Machine Learning doivent être chiffrés au moyen d’une clé gérée par le client Gérez le chiffrement au repos des données de votre espace de travail Azure Machine Learning à l’aide de clés gérées par le client. Par défaut, les données client sont chiffrées avec des clés gérées par le service. Cependant, des clés gérées par le client sont généralement nécessaires pour répondre aux standards de la conformité réglementaire. Les clés gérées par le client permettent de chiffrer les données avec une clé Azure Key Vault que vous avez créée et dont vous êtes le propriétaire. Vous avez le contrôle total et la responsabilité du cycle de vie des clés, notamment leur permutation et leur gestion. Pour en savoir plus, rendez-vous sur https://aka.ms/azureml-workspaces-cmk. Audit, Refuser, Désactivé 1.1.0
Les espaces de travail Azure Machine Learning doivent désactiver l’accès au réseau public La désactivation de l’accès au réseau public renforce la sécurité en veillant à ce que les espaces de travail Machine Learning ne soient pas exposés sur l’Internet public. Vous pouvez contrôler l’exposition de vos espaces de travail en créant des points de terminaison privés à la place. Pour plus d’informations, consultez : https://zcusa.951200.xyz/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2&tabs=azure-portal. Audit, Refuser, Désactivé 2.0.1
Les espaces de travail Azure Machine Learning doivent activer V1LegacyMode pour prendre en charge la compatibilité descendante de l’isolement réseau. Azure ML effectue une transition vers une nouvelle plateforme d’API V2 sur Azure Resource Manager et vous pouvez contrôler la version de la plateforme d’API à l’aide du paramètre V1LegacyMode. L’activation du paramètre V1LegacyMode vous permet de conserver vos espaces de travail dans la même isolation réseau que V1, bien que vous n’utilisiez pas les nouvelles fonctionnalités V2. Nous vous recommandons d’activer le mode hérité V1 uniquement lorsque vous souhaitez conserver les données du plan de contrôle AzureML à l’intérieur de vos réseaux privés. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/V1LegacyMode. Audit, Refuser, Désactivé 1.0.0
Les espaces de travail Azure Machine Learning doivent utiliser un lien privé Azure Private Link vous permet de connecter votre réseau virtuel aux services Azure sans adresse IP publique au niveau de la source ou de la destination. La plateforme Private Link gère la connectivité entre le consommateur et les services sur le réseau principal Azure. En mappant des points de terminaison privés à des espaces de travail Azure Machine Learning, les risques de fuite de données sont réduits. En savoir plus sur les liaisons privées : https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. Audit, Désactivé 1.0.0
Les espaces de travail Azure Machine Learning doivent utiliser une identité managée affectée par l'utilisateur Gérez l’accès à l’espace de travail Azure ML et aux ressources associées, Azure Container Registry, KeyVault, Stockage et App Insights à l’aide de l’identité managée affectée par l’utilisateur. Par défaut, l’identité managée affectée par le système est utilisée par l’espace de travail Azure ML pour accéder aux ressources associées. L’identité managée affectée par l’utilisateur vous permet de créer l’identité en tant que ressource Azure et de tenir à jour le cycle de vie de cette identité. Pour en savoir plus, rendez-vous sur https://docs.microsoft.com/azure/machine-learning/how-to-use-managed-identities?tabs=python. Audit, Refuser, Désactivé 1.0.0
Configurer les capacités de calcul Azure Machine Learning pour désactiver les méthodes d’authentification locale Désactivez les méthodes d’authentification d’emplacement de sorte que vos capacités de calcul Machine Learning nécessitent des identités Azure Active Directory exclusivement pour l’authentification. Pour en savoir plus, rendez-vous à l’adresse suivante : https://aka.ms/azure-ml-aad-policy. Modifier, Désactivé 2.1.0
Configurer l’espace de travail Azure Machine Learning pour utiliser des zones DNS privées Utilisez des zones DNS privées pour remplacer la résolution DNS pour un point de terminaison privé. Une zone DNS privée est liée à votre réseau virtuel pour le résoudre en espaces de travail Azure Machine Learning. Pour en savoir plus, rendez-vous à l’adresse suivante : https://docs.microsoft.com/azure/machine-learning/how-to-network-security-overview. DeployIfNotExists, Désactivé 1.1.0
Configurer les espaces de travail Azure Machine Learning pour désactiver l’accès au réseau public Désactivez l’accès au réseau public pour les espaces de travail Azure Machine Learning afin que ceux-ci ne soient pas accessibles via l’Internet public. Cela permet de protéger les espaces de travail contre les risques de fuite de données. Vous pouvez contrôler l’exposition de vos espaces de travail en créant des points de terminaison privés à la place. Pour plus d’informations, consultez : https://zcusa.951200.xyz/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2&tabs=azure-portal. Modifier, Désactivé 1.0.3
Configurer les espaces de travail Azure Machine Learning avec des points de terminaison privés Les points de terminaison privés vous permettent de connecter votre réseau virtuel aux services Azure sans IP publique au niveau de la source ou de la destination. En mappant des points de terminaison privés à votre espace de travail Azure Machine Learning, vous pouvez réduire les risques de fuite de données. En savoir plus sur les liaisons privées : https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. DeployIfNotExists, Désactivé 1.0.0
Configurer les paramètres de diagnostic pour les espaces de travail Azure Machine Learning dans l’espace de travail Log Analytics Déploie les paramètres de diagnostic d’espaces de travail Azure Machine Learning pour diffuser en continu les journaux de ressource à un espace de travail Azure Machine Learning quand un serveur SQL créé ou mis à jour n’a pas ces paramètres de diagnostic. DeployIfNotExists, Désactivé 1.0.1
Les journaux de ressource dans les espaces de travail Azure Machine Learning doivent être activés Les journaux de ressources permettent de recréer des pistes d’activité à utiliser à des fins d’investigation quand un incident de sécurité se produit ou quand votre réseau est compromis. AuditIfNotExists, Désactivé 1.0.1

Les stratégies peuvent être définies sur des étendues différentes, par exemple au niveau de l'abonnement ou du groupe de ressources. Pour plus d'informations, consultez la documentation relative à Azure Policy.

Affectation de stratégies intégrées

Pour consulter les définitions de stratégie intégrées en rapport avec Azure Machine Learning, procédez comme suit :

  1. Accédez à Azure Policy sur le portail Azure.
  2. Sélectionnez Définitions.
  3. Pour Type, sélectionnez Intégré. Pour Catégorie, sélectionnez Machine Learning.

De là, vous pouvez sélectionner les définitions de stratégie à consulter. Lorsque vous consultez une définition, vous pouvez utiliser le lien Attribuer pour attribuer la stratégie à une étendue spécifique et configurer les paramètres de cette stratégie. Pour plus d’informations, consultez Créer une attribution de stratégie pour identifier les ressources non conformes à l’aide du portail Azure.

Vous pouvez également affecter des stratégies à l’aide d’Azure PowerShell, d' Azure CLI ou de modèles.

Stratégies d'accès conditionnel

Pour contrôler qui peut accéder à votre espace de travail Azure Machine Learning, utilisez l’accès conditionnel Microsoft Entra. Pour utiliser l’accès conditionnel aux espaces de travail Azure Machine Learning, attribuez la stratégie d’accès conditionnel à l’application se nommant Azure Machine Learning. L’ID d’application est 0736f41a-0425-bdb5-1563eff02385.

Activer le libre-service à l’aide des zones d’atterrissage

Les zones d’atterrissage sont un modèle architectural qui tient compte de la mise à l’échelle, de la gouvernance, de la sécurité et de la productivité lors de la configuration d’environnements Azure. Une zone d’atterrissage de données est un environnement configuré par un administrateur et utilisé par une équipe d’application pour héberger une charge de travail de données et d’analytique.

L’objectif de la zone d’atterrissage est de s’assurer que tout le travail de configuration de l’infrastructure est effectué lorsqu’une équipe démarre dans l’environnement Azure. Par exemple, les contrôles de sécurité sont configurés conformément aux standards de l’organisation, et la connectivité réseau est configurée.

Lorsque vous utilisez le modèle des zones d’atterrissage, les équipes Machine Learning peuvent déployer et gérer leurs propres ressources en libre-service. En utilisant Azure Policy en tant qu’administrateur, vous pouvez auditer et gérer les ressources Azure pour la conformité.

Azure Machine Learning s’intègre aux zones d’atterrissage de données dans le scénario de gestion des données et d’analytique du Cloud Adoption Framework. Cette implémentation de référence fournit un environnement optimisé pour migrer des charges de travail Machine Learning vers Azure Machine Learning et inclut des stratégies préconfigurées.

Configurer des stratégies intégrées

L’instance de calcul doit avoir un arrêt inactif

Cette stratégie contrôle si une instance de calcul Azure Machine Learning doit avoir activé l’arrêt inactif. L’arrêt inactif arrête automatiquement l’instance de calcul lorsqu’elle est inactive pendant une période spécifiée. Cette stratégie est utile pour réaliser des économies et s’assurer que les ressources ne sont pas utilisées inutilement.

Pour configurer cette stratégie, définissez le paramètre d'effet sur audit, refusé ou désactivé. Si la valeur est Audit, vous pouvez créer une instance de calcul sans arrêt inactif activé et un événement d’avertissement est créé dans le journal d’activité.

Les instances de calcul doivent être recréées pour obtenir des mises à jour logicielles

Détermine si les instances de calcul Azure Machine Learning doivent être auditées pour s’assurer qu’elles exécutent les dernières mises à jour logicielles disponibles. Cette stratégie est utile pour vous assurer que les instances de calcul exécutent les dernières mises à jour logicielles pour maintenir la sécurité et les performances. Pour plus d’informations, consultez Gestion des vulnérabilités pour Azure Machine Learning.

Pour configurer cette stratégie, définissez le paramètre d’effet sur audit ou désactivé. Si la valeur est Audit, un événement d’avertissement est créé dans le journal d’activité lorsqu’un calcul n’exécute pas les dernières mises à jour logicielles.

Le cluster de calcul et l’instance doivent se trouver dans un réseau virtuel

Contrôle l’audit des ressources de cluster et d’instance de calcul derrière un réseau virtuel.

Pour configurer cette stratégie, définissez le paramètre d’effet sur audit ou désactivé. Si la valeur est Audit, vous pouvez créer un calcul qui n’est pas configuré derrière un réseau virtuel et un événement d’avertissement est créé dans le journal d’activité.

Les calculs doivent avoir des méthodes d’authentification locales désactivées.

Contrôle si un cluster ou une instance de calcul Azure Machine Learning doit désactiver l’authentification locale (SSH).

Pour configurer cette stratégie, définissez le paramètre d'effet sur audit, refusé ou désactivé. Si le paramètre est défini sur audit, vous pouvez créer un calcul avec SSH activé et un événement d’avertissement est créé dans le journal d’activité.

Si la stratégie est définie sur Refuser, vous ne pouvez pas créer de calcul, sauf si SSH est désactivé. Toute tentative de création d’un calcul avec SSH activé génère une erreur. L’erreur est également consignée dans le journal d’activité. L’identificateur de la stratégie est renvoyé dans le cadre de cette erreur.

Les espaces de travail doivent être chiffrés avec une clé gérée par le client

Détermine si un espace de travail doit être chiffré avec une clé gérée par le client ou avec une clé gérée par Microsoft pour chiffrer les métriques et les métadonnées. Pour plus d’informations sur l’utilisation d’une clé gérée par le client, consultez la section Azure Cosmos DB de l’article consacré au chiffrement des données.

Pour configurer cette stratégie, définissez le paramètre d'effet sur audit ou refuser. Si le paramètre est défini sur audit, vous pouvez créer un espace de travail sans clé gérée par le client ; un événement d’avertissement est alors créé dans le journal d’activité.

Si la stratégie est définie sur Refuser, vous ne pouvez pas créer d’espace de travail, sauf si elle spécifie une clé gérée par le client. Toute tentative de création d’un espace de travail sans clé gérée par le client génère une erreur semblable à Resource 'clustername' was disallowed by policy et crée une erreur dans le journal d’activité. L'identificateur de la stratégie est également renvoyé dans le cadre de cette erreur.

Configurer des espaces de travail pour désactiver l’accès au réseau public

Détermine si un espace de travail doit désactiver l’accès réseau à partir de l’Internet public.

Pour configurer cette stratégie, définissez le paramètre d'effet sur audit, refusé ou désactivé. Si le paramètre est défini sur audit, vous pouvez créer un espace de travail avec accès public ; un événement d’avertissement est alors créé dans le journal d’activité.

Si la stratégie est définie sur Refuser, vous ne pouvez pas créer d’espace de travail qui autorise l’accès réseau à partir de l’Internet public.

Les espaces de travail doivent permettre à V1LegacyMode de prendre en charge la compatibilité descendante de l’isolation réseau

Détermine si un espace de travail doit activer V1LegacyMode pour prendre en charge la compatibilité descendante de l’isolation réseau. Cette stratégie est utile si vous souhaitez conserver les données du plan de contrôle Azure Machine Learning à l’intérieur de vos réseaux privés. Pour plus d’informations, consultez changement d’isolement réseau avec notre nouvelle plateforme d’API.

Pour configurer cette stratégie, définissez le paramètre d’effet sur Audit ou Refuser, ou Désactivé. Si la valeur est Audit, vous pouvez créer un espace de travail sans activer V1LegacyMode et un événement d’avertissement est créé dans le journal d’activité.

Si la stratégie est définie sur Refuser, vous ne pouvez pas créer d’espace de travail, sauf si elle active V1LegacyMode.

Détermine si un espace de travail doit utiliser Azure Private Link pour communiquer avec le Réseau virtuel Azure. Pour plus d’informations sur l’utilisation d’une liaison privée, consultez Configurer un point de terminaison privé pour un espace de travail Azure Machine Learning.

Pour configurer cette stratégie, définissez le paramètre d'effet sur audit ou refuser. Si le paramètre est défini sur audit, vous pouvez créer un espace de travail sans utiliser Liaison privée ; un événement d’avertissement est alors créé dans le journal d’activité.

Si la stratégie est définie sur Refuser, vous ne pouvez pas créer d’espace de travail, sauf si elle utilise une liaison privée. Toute tentative de création d’un espace de travail sans liaison privée génère une erreur. L’erreur est également consignée dans le journal d’activité. L’identificateur de la stratégie est renvoyé dans le cadre de cette erreur.

Les espaces de travail doivent utiliser l’identité managée affectée par l’utilisateur

Contrôle si un espace de travail est créé à l’aide d’une identité gérée affectée par le système (valeur par défaut) ou d’une identité gérée affectée par l’utilisateur. L’identité gérée de l’espace de travail est utilisée pour accéder aux ressources associées telles que le stockage Azure, Azure Container Registry, Azure Key Vault et Azure Application Insights. Pour plus d’informations, consultez Configurer l’authentification entre Azure Machine Learning et d’autres services.

Pour configurer cette stratégie, définissez le paramètre d'effet sur audit, refusé ou désactivé. Si la valeur est définie sur audit, vous pouvez créer un espace de travail sans spécifier d’identité gérée affectée à l'utilisateur. Une identité affectée par le système est utilisée et un événement d’avertissement est créé dans le journal d’activité.

Si la stratégie est définie sur Refuser, vous ne pouvez pas créer d’espace de travail, sauf si vous fournissez une identité affectée par l’utilisateur pendant le processus de création. Une erreur survient si vous essayez de créer un espace de travail sans fournir d’identité affectée par l’utilisateur. L’erreur est également consignée dans le journal d’activité. L’identificateur de la stratégie est renvoyé dans le cadre de cette erreur.

Configurer des calculs pour modifier/désactiver l’authentification locale

Cette stratégie modifie toute demande de création de cluster de calcul Ou d’instance Azure Machine Learning pour désactiver l’authentification locale (SSH).

Pour configurer cette stratégie, définissez le paramètre d’effet sur Modifier ou Désactivé. Si vous choisissez Modifier, l’authentification locale est automatiquement désactivée pour toute création d’un cluster ou d’une instance de calcul dans l’étendue à laquelle la stratégie s’applique.

Configurer l’espace de travail pour utiliser des zones DNS privées

Cette stratégie configure un espace de travail pour utiliser une zone DNS privée, en remplaçant la résolution DNS par défaut pour un point de terminaison privé.

Pour configurer cette stratégie, définissez le paramètre d’effet sur DeployIfNotExists. Définissez privateDnsZoneId sur l’ID Azure Resource Manager de la zone DNS privée à utiliser.

Configurer des espaces de travail pour désactiver l’accès au réseau public

Configure un espace de travail pour désactiver l’accès réseau à partir de l’Internet public. La désactivation de l’accès au réseau public permet de protéger les espaces de travail contre les risques de fuite de données. Vous pouvez plutôt accéder à votre espace de travail en créant des points de terminaison privés. Pour plus d’informations, consultez Configurer un point de terminaison privé pour un espace de travail Azure Machine Learning.

Pour configurer cette stratégie, définissez le paramètre d’effet sur Modifier ou Désactivé. Si la valeur est définie sur Modifier, l’accès au réseau public est automatiquement désactivé pour toute création d’un espace de travail dans l’étendue à laquelle la stratégie s’applique.

Configurer des espaces de travail avec des points de terminaison privés

Configure un espace de travail pour créer un point de terminaison privé dans le sous-réseau spécifié d’un réseau virtuel Azure.

Pour configurer cette stratégie, définissez le paramètre d’effet sur DeployIfNotExists. Définissez le privateEndpointSubnetID sur l’ID Azure Resource Manager du sous-réseau.

Configurer des espaces de travail de diagnostic pour envoyer des journaux à des espaces de travail Log Analytics

Configure les paramètres de diagnostic d’un espace de travail Azure Machine Learning pour envoyer des journaux à un espace de travail Log Analytics.

Pour configurer cette stratégie, définissez le paramètre d’effet sur DeployIfNotExists ou Désactivé. Si la valeur est définie sur DeployIfNotExists, la stratégie crée un paramètre de diagnostic pour envoyer des journaux à un espace de travail Log Analytics s’il n’existe pas déjà.

Les journaux de ressources dans les espaces de travail doivent être activés

Vérifie si les journaux des ressources sont activés pour un espace de travail Azure Machine Learning. Les journaux des ressources fournissent des informations détaillées sur les opérations effectuées sur les ressources de l’espace de travail.

Pour configurer cette stratégie, définissez le paramètre d’effet sur AuditIfNotExists ou Désactivé. Si la valeur est AuditIfNotExists, la stratégie audite si les journaux de ressources ne sont pas activés pour l’espace de travail.

Créer des définitions personnalisées

Lorsque vous devez créer des stratégies personnalisées pour votre organisation, vous pouvez utiliser la structure de définition Azure Policy pour créer vos définitions. Vous pouvez utiliser l’extension Visual Studio Code Azure Policy pour créer et tester vos stratégies.

Pour découvrir les alias de stratégie que vous pouvez utiliser dans votre définition, utilisez la commande Azure CLI suivante afin de répertorier les alias pour Azure Machine Learning :

az provider show --namespace Microsoft.MachineLearningServices --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"

Si vous souhaitez découvrir les valeurs autorisées pour un alias spécifique, visitez la référence API REST Azure Machine Learning.

Pour découvrir un tutoriel (non spécifique à Azure Machine Learning) sur la façon de créer des stratégies personnalisées, visitez Créer une définition de stratégie personnalisée.

Exemple : bloquer des travaux de calcul Spark serverless

{
    "properties": {
        "displayName": "Deny serverless Spark compute jobs",
        "description": "Deny serverless Spark compute jobs",
        "mode": "All",
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "field": "Microsoft.MachineLearningServices/workspaces/jobs/jobType",
                        "in": [
                            "Spark"
                        ]
                    }
                ]
            },
            "then": {
                "effect": "Deny"
            }
        },
        "parameters": {}
    }
}

Exemple : configurer une adresse IP non publique pour des calculs managés

{
    "properties": {
        "displayName": "Deny compute instance and compute cluster creation with public IP",
        "description": "Deny compute instance and compute cluster creation with public IP",
        "mode": "all",
        "parameters": {
            "effectType": {
                "type": "string",
                "defaultValue": "Deny",
                "allowedValues": [
                    "Deny",
                    "Disabled"
                ],
                "metadata": {
                    "displayName": "Effect",
                    "description": "Enable or disable the execution of the policy"
                }
            }
        },
        "policyRule": {
            "if": {
                "allOf": [
                  {
                    "field": "type",
                    "equals": "Microsoft.MachineLearningServices/workspaces/computes"
                  },
                  {
                    "allOf": [
                      {
                        "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
                        "notEquals": "AKS"
                      },
                      {
                        "field": "Microsoft.MachineLearningServices/workspaces/computes/enableNodePublicIP",
                        "equals": true
                      }
                    ]
                  }
                ]
              },
            "then": {
                "effect": "[parameters('effectType')]"
            }
        }
    }
}