Auditar e gerenciar o Azure Machine Learning
Quando as equipas colaboram no Azure Machine Learning, podem enfrentar requisitos variados para configurar e organizar recursos. As equipes de aprendizado de máquina podem procurar flexibilidade em como organizar espaços de trabalho para colaboração ou como dimensionar clusters de computação para os requisitos de seus casos de uso. Nesses cenários, a produtividade poderia se beneficiar se as equipes de aplicativos pudessem gerenciar sua própria infraestrutura.
Como administrador de plataforma, você pode usar políticas para estabelecer guarda-corpos para que as equipes gerenciem seus próprios recursos. A Política do Azure ajuda a auditar e controlar o estado dos recursos. Este artigo explica como você pode usar controles de auditoria e práticas de governança para o Aprendizado de Máquina do Azure.
Políticas para o Azure Machine Learning
A Política do Azure é uma ferramenta de governança que permite garantir que os recursos do Azure estejam em conformidade com suas políticas.
A Política do Azure fornece um conjunto de políticas que pode utilizar para cenários comuns com o Azure Machine Learning. Você pode atribuir essas definições de política à sua assinatura existente ou usá-las como base para criar suas próprias definições personalizadas.
A tabela a seguir lista as políticas internas que você pode atribuir com o Azure Machine Learning. Para obter uma lista de todas as políticas internas do Azure, consulte Políticas internas.
Nome (Portal do Azure) |
Description | Efeito(s) | Versão (GitHub) |
---|---|---|---|
[Pré-visualização]: As Implementações do Azure Machine Learning só devem utilizar Modelos de Registo aprovados | Restringir a implantação de modelos do Registro para controlar modelos criados externamente usados em sua organização | Auditoria, Negar, Desativado | 1.0.0-pré-visualização |
[Pré-visualização]: As Implementações de Registo do Modelo do Azure Machine Learning são restritas, exceto para o Registo permitido | Implante Modelos de Registro somente no Registro permitido e que não sejam restritos. | Negar, Desativado | 1.0.0-pré-visualização |
A Instância de Computação do Azure Machine Learning deve ter o desligamento ocioso. | Ter um cronograma de desligamento ocioso reduz os custos ao desligar os cálculos que estão ociosos após um período predeterminado de atividade. | Auditoria, Negar, Desativado | 1.0.0 |
As instâncias de computação do Azure Machine Learning devem ser recriadas para obter as atualizações de software mais recentes | Garanta que as instâncias de computação do Azure Machine Learning sejam executadas no sistema operacional disponível mais recente. A segurança é melhorada e as vulnerabilidades reduzidas através da execução com os patches de segurança mais recentes. Para mais informações, visite https://aka.ms/azureml-ci-updates/. | [parâmetros(«efeitos»)] | 1.0.3 |
Os Cálculos do Azure Machine Learning devem estar em uma rede virtual | As Redes Virtuais do Azure fornecem segurança e isolamento aprimorados para seus Clusters e Instâncias de Computação do Azure Machine Learning, bem como sub-redes, políticas de controle de acesso e outros recursos para restringir ainda mais o acesso. Quando uma computação é configurada com uma rede virtual, ela não é endereçável publicamente e só pode ser acessada de máquinas virtuais e aplicativos dentro da rede virtual. | Auditoria, Desativado | 1.0.1 |
Os Cálculos do Azure Machine Learning devem ter os métodos de autenticação local desativados | A desativação de métodos de autenticação local melhora a segurança, garantindo que os Cálculos de Aprendizado de Máquina exijam identidades do Azure Ative Directory exclusivamente para autenticação. Saiba mais em: https://aka.ms/azure-ml-aad-policy. | Auditoria, Negar, Desativado | 2.1.0 |
Os espaços de trabalho do Azure Machine Learning devem ser criptografados com uma chave gerenciada pelo cliente | Gerencie a criptografia no restante dos dados do espaço de trabalho do Azure Machine Learning com chaves gerenciadas pelo cliente. Por padrão, os dados do cliente são criptografados com chaves gerenciadas pelo serviço, mas as chaves gerenciadas pelo cliente geralmente são necessárias para atender aos padrões de conformidade regulamentar. As chaves gerenciadas pelo cliente permitem que os dados sejam criptografados com uma chave do Cofre de Chaves do Azure criada e de sua propriedade. Você tem total controle e responsabilidade pelo ciclo de vida da chave, incluindo rotação e gerenciamento. Saiba mais em https://aka.ms/azureml-workspaces-cmk. | Auditoria, Negar, Desativado | 1.1.0 |
Os Espaços de Trabalho do Azure Machine Learning devem desativar o acesso à rede pública | A desativação do acesso à rede pública melhora a segurança, garantindo que os espaços de trabalho de Machine Learning não sejam expostos na Internet pública. Em vez disso, você pode controlar a exposição de seus espaços de trabalho criando pontos de extremidade privados. Saiba mais em: https://learn.microsoft.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2& tabs=azure-portal. | Auditoria, Negar, Desativado | 2.0.1 |
Os espaços de trabalho do Azure Machine Learning devem habilitar o V1LegacyMode para dar suporte à compatibilidade com versões anteriores do isolamento de rede | O Azure ML está fazendo uma transição para uma nova plataforma de API V2 no Azure Resource Manager e você pode controlar a versão da plataforma de API usando o parâmetro V1LegacyMode. Habilitar o parâmetro V1LegacyMode permitirá que você mantenha seus espaços de trabalho no mesmo isolamento de rede que V1, embora você não tenha uso dos novos recursos V2. Recomendamos ativar o Modo Legado V1 somente quando você quiser manter os dados do plano de controle do AzureML dentro de suas redes privadas. Saiba mais em: https://aka.ms/V1LegacyMode. | Auditoria, Negar, Desativado | 1.0.0 |
Os espaços de trabalho do Azure Machine Learning devem usar link privado | O Azure Private Link permite conectar sua rede virtual aos serviços do Azure sem um endereço IP público na origem ou no destino. A plataforma Private Link lida com a conectividade entre o consumidor e os serviços através da rede de backbone do Azure. Ao mapear pontos de extremidade privados para espaços de trabalho do Azure Machine Learning, os riscos de vazamento de dados são reduzidos. Saiba mais sobre links privados em: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. | Auditoria, Desativado | 1.0.0 |
Os espaços de trabalho do Azure Machine Learning devem usar a identidade gerenciada atribuída pelo usuário | Acesso Manange ao espaço de trabalho do Azure ML e recursos associados, Azure Container Registry, KeyVault, Storage e App Insights usando a identidade gerenciada atribuída pelo usuário. Por padrão, a identidade gerenciada atribuída ao sistema é usada pelo espaço de trabalho do Azure ML para acessar os recursos associados. A identidade gerenciada atribuída pelo usuário permite que você crie a identidade como um recurso do Azure e mantenha o ciclo de vida dessa identidade. Saiba mais em https://docs.microsoft.com/azure/machine-learning/how-to-use-managed-identities?tabs=python. | Auditoria, Negar, Desativado | 1.0.0 |
Configurar os Cálculos do Azure Machine Learning para desabilitar métodos de autenticação local | Desative os métodos de autenticação de local para que seus Cálculos de Aprendizado de Máquina exijam identidades do Azure Ative Directory exclusivamente para autenticação. Saiba mais em: https://aka.ms/azure-ml-aad-policy. | Modificar, Desativado | 2.1.0 |
Configurar o espaço de trabalho do Azure Machine Learning para usar zonas DNS privadas | Use zonas DNS privadas para substituir a resolução DNS para um ponto de extremidade privado. Uma zona DNS privada vincula-se à sua rede virtual para resolver os espaços de trabalho do Azure Machine Learning. Saiba mais em: https://docs.microsoft.com/azure/machine-learning/how-to-network-security-overview. | DeployIfNotExists, desativado | 1.1.0 |
Configurar os Espaços de Trabalho do Azure Machine Learning para desabilitar o acesso à rede pública | Desative o acesso à rede pública para os Espaços de Trabalho do Azure Machine Learning para que os seus espaços de trabalho não estejam acessíveis através da Internet pública. Isso ajuda a proteger os espaços de trabalho contra riscos de vazamento de dados. Em vez disso, você pode controlar a exposição de seus espaços de trabalho criando pontos de extremidade privados. Saiba mais em: https://learn.microsoft.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2& tabs=azure-portal. | Modificar, Desativado | 1.0.3 |
Configurar espaços de trabalho do Azure Machine Learning com pontos de extremidade privados | Pontos de extremidade privados conectam sua rede virtual aos serviços do Azure sem um endereço IP público na origem ou no destino. Ao mapear pontos de extremidade privados para seu espaço de trabalho do Azure Machine Learning, você pode reduzir os riscos de vazamento de dados. Saiba mais sobre links privados em: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. | DeployIfNotExists, desativado | 1.0.0 |
Definir configurações de diagnóstico para espaços de trabalho do Azure Machine Learning para espaço de trabalho do Log Analytics | Implanta as configurações de diagnóstico dos Espaços de Trabalho do Azure Machine Learning para transmitir logs de recursos para um Espaço de Trabalho do Log Analytics quando qualquer Espaço de Trabalho do Azure Machine Learning que esteja faltando essas configurações de diagnóstico é criado ou atualizado. | DeployIfNotExists, desativado | 1.0.1 |
Os logs de recursos nos Espaços de Trabalho do Azure Machine Learning devem ser habilitados | Os logs de recursos permitem a recriação de trilhas de atividade para uso para fins de investigação quando ocorre um incidente de segurança ou quando sua rede é comprometida. | AuditIfNotExists, desativado | 1.0.1 |
As políticas podem ser definidas em escopos diferentes, como no nível da assinatura ou do grupo de recursos. Para obter mais informações, consulte a documentação da Política do Azure.
Atribuição de políticas internas
Para exibir as definições de política internas relacionadas ao Aprendizado de Máquina do Azure, use as seguintes etapas:
- Vá para Política do Azure no portal do Azure.
- Selecione Definições.
- Em Tipo, selecione Incorporado. Em Categoria, selecione Aprendizado de Máquina.
A partir daqui, você pode selecionar definições de política para visualizá-las. Ao exibir uma definição, você pode usar o link Atribuir para atribuir a política a um escopo específico e configurar os parâmetros para a política. Para obter mais informações, consulte Criar uma atribuição de política para identificar recursos não compatíveis usando o portal do Azure.
Você também pode atribuir políticas usando o Azure PowerShell, a CLI do Azure ou modelos.
Políticas de acesso condicional
Para controlar quem pode acessar seu espaço de trabalho do Azure Machine Learning, use o Acesso Condicional do Microsoft Entra. Para usar o Acesso Condicional para espaços de trabalho do Azure Machine Learning, atribua a política de Acesso Condicional ao aplicativo chamado Azure Machine Learning. O ID do aplicativo é 0736f41a-0425-bdb5-1563eff02385.
Habilite o autosserviço usando zonas de pouso
As zonas de aterrissagem são um padrão de arquitetura que leva em conta a escala, a governança, a segurança e a produtividade ao configurar ambientes do Azure. Uma zona de aterrissagem de dados é um ambiente configurado pelo administrador que uma equipe de aplicativos usa para hospedar uma carga de trabalho de dados e análises.
O objetivo da zona de aterrissagem é garantir que todo o trabalho de configuração de infraestrutura seja feito quando uma equipe for iniciada no ambiente do Azure. Por exemplo, os controles de segurança são configurados em conformidade com os padrões organizacionais e a conectividade de rede é configurada.
Quando você usa o padrão de zonas de destino, as equipes de aprendizado de máquina podem implantar e gerenciar seus próprios recursos em uma base de autoatendimento. Usando a política do Azure como administrador, você pode auditar e gerenciar recursos do Azure para fins de conformidade.
O Azure Machine Learning integra-se com zonas de aterrissagem de dados no cenário de gerenciamento e análise de dados do Cloud Adoption Framework. Esta implementação de referência fornece um ambiente otimizado para migrar cargas de trabalho de aprendizado de máquina para o Azure Machine Learning e inclui políticas pré-configuradas.
Configurar políticas internas
A instância de computação deve ter desligamento ocioso
Esta política controla se uma instância de computação do Azure Machine Learning deve ter o desligamento ocioso habilitado. O desligamento ocioso interrompe automaticamente a instância de computação quando ela está ociosa por um período de tempo especificado. Esta política é útil para reduzir custos e garantir que os recursos não estão a ser utilizados desnecessariamente.
Para configurar essa política, defina o parâmetro effect como Audit, Deny ou Disabled. Se definido como Auditoria, você pode criar uma instância de computação sem o desligamento ocioso habilitado e um evento de aviso é criado no log de atividades.
As instâncias de computação devem ser recriadas para obter atualizações de software
Controla se as instâncias de computação do Azure Machine Learning devem ser auditadas para garantir que estão executando as atualizações de software mais recentes disponíveis. Essa política é útil para garantir que as instâncias de computação estejam executando as atualizações de software mais recentes para manter a segurança e o desempenho. Para obter mais informações, consulte Gerenciamento de vulnerabilidades para o Azure Machine Learning.
Para configurar essa política, defina o parâmetro effect como Audit ou Disabled. Se definido como Auditoria, um evento de aviso é criado no log de atividades quando uma computação não está executando as atualizações de software mais recentes.
O cluster de computação e a instância devem estar em uma rede virtual
Controla a auditoria de recursos de instância e cluster de computação por trás de uma rede virtual.
Para configurar essa política, defina o parâmetro effect como Audit ou Disabled. Se definido como Auditoria, você pode criar uma computação que não esteja configurada atrás de uma rede virtual e um evento de aviso é criado no log de atividades.
Os cálculos devem ter os métodos de autenticação local desativados.
Controla se um cluster ou instância de computação do Azure Machine Learning deve desabilitar a autenticação local (SSH).
Para configurar essa política, defina o parâmetro effect como Audit, Deny ou Disabled. Se definido como Auditoria, você pode criar uma computação com SSH habilitado e um evento de aviso é criado no log de atividades.
Se a política estiver definida como Negar, você não poderá criar uma computação a menos que o SSH esteja desabilitado. A tentativa de criar uma computação com SSH habilitado resulta em um erro. O erro também é registrado no registro de atividades. O identificador de política é retornado como parte desse erro.
Os espaços de trabalho devem ser criptografados com chave gerenciada pelo cliente
Controla se um espaço de trabalho deve ser criptografado com uma chave gerenciada pelo cliente ou com uma chave gerenciada pela Microsoft para criptografar métricas e metadados. Para obter mais informações sobre como usar a chave gerenciada pelo cliente, consulte a seção Azure Cosmos DB do artigo sobre criptografia de dados.
Para configurar essa política, defina o parâmetro effect como Audit ou Deny. Se definido como Auditoria, você pode criar um espaço de trabalho sem uma chave gerenciada pelo cliente e um evento de aviso é criado no log de atividades.
Se a política estiver definida como Negar, você não poderá criar um espaço de trabalho a menos que especifique uma chave gerenciada pelo cliente. A tentativa de criar um espaço de trabalho sem uma chave gerenciada pelo cliente resulta em um erro semelhante e Resource 'clustername' was disallowed by policy
cria um erro no log de atividades. O identificador de política também é retornado como parte desse erro.
Configurar espaços de trabalho para desativar o acesso à rede pública
Controla se um espaço de trabalho deve desabilitar o acesso à rede a partir da Internet pública.
Para configurar essa política, defina o parâmetro effect como Audit, Deny ou Disabled. Se definido como Auditoria, você pode criar um espaço de trabalho com acesso público e um evento de aviso é criado no log de atividades.
Se a política estiver definida como Negar, não será possível criar um espaço de trabalho que permita o acesso à rede a partir da Internet pública.
Os espaços de trabalho devem habilitar o V1LegacyMode para oferecer suporte à compatibilidade com versões anteriores do isolamento de rede
Controla se um espaço de trabalho deve habilitar o V1LegacyMode para oferecer suporte à compatibilidade com versões anteriores do isolamento de rede. Esta política é útil se você quiser manter os dados do plano de controle do Azure Machine Learning dentro de suas redes privadas. Para obter mais informações, consulte Alteração de isolamento de rede com nossa nova plataforma de API.
Para configurar essa política, defina o parâmetro effect como Audit ou Deny, ou Disabled. Se definido como Auditoria, você pode criar um espaço de trabalho sem habilitar o V1LegacyMode e um evento de aviso é criado no log de atividades.
Se a política estiver definida como Negar, você não poderá criar um espaço de trabalho a menos que ele habilite V1LegacyMode.
Os espaços de trabalho devem usar link privado
Controla se um espaço de trabalho deve usar o Azure Private Link para se comunicar com a Rede Virtual do Azure. Para obter mais informações sobre como usar o link privado, consulte Configurar um ponto de extremidade privado para um espaço de trabalho do Azure Machine Learning.
Para configurar essa política, defina o parâmetro effect como Audit ou Deny. Se definido como Auditoria, você pode criar um espaço de trabalho sem usar o link privado e um evento de aviso é criado no log de atividades.
Se a política estiver definida como Negar, você não poderá criar um espaço de trabalho a menos que ele use um link privado. A tentativa de criar um espaço de trabalho sem um link privado resulta em um erro. O erro também é registrado no registro de atividades. O identificador de política é retornado como parte desse erro.
Os espaços de trabalho devem usar a identidade gerenciada atribuída pelo usuário
Controla se um espaço de trabalho é criado usando uma identidade gerenciada atribuída pelo sistema (padrão) ou uma identidade gerenciada atribuída pelo usuário. A identidade gerenciada para o espaço de trabalho é usada para acessar recursos associados, como o Armazenamento do Azure, o Registro de Contêiner do Azure, o Cofre da Chave do Azure e o Azure Application Insights. Para obter mais informações, consulte Configurar a autenticação entre o Azure Machine Learning e outros serviços.
Para configurar essa política, defina o parâmetro effect como Audit, Deny ou Disabled. Se definido como Auditoria, você pode criar um espaço de trabalho sem especificar uma identidade gerenciada atribuída pelo usuário. Uma identidade atribuída ao sistema é usada e um evento de aviso é criado no log de atividades.
Se a política estiver definida como Negar, você não poderá criar um espaço de trabalho a menos que forneça uma identidade atribuída ao usuário durante o processo de criação. Tentar criar um espaço de trabalho sem fornecer uma identidade atribuída pelo usuário resulta em um erro. O erro também é registrado no registro de atividades. O identificador de política é retornado como parte desse erro.
Configurar cálculos para modificar/desabilitar a autenticação local
Esta política modifica qualquer cluster de computação do Azure Machine Learning ou solicitação de criação de instância para desabilitar a autenticação local (SSH).
Para configurar essa política, defina o parâmetro effect como Modify ou Disabled. Se definido Modificar, qualquer criação de um cluster de computação ou instância dentro do escopo em que a política se aplica automaticamente terá a autenticação local desabilitada.
Configurar espaço de trabalho para usar zonas DNS privadas
Esta política configura um espaço de trabalho para usar uma zona DNS privada, substituindo a resolução DNS padrão para um ponto de extremidade privado.
Para configurar essa política, defina o parâmetro effect como DeployIfNotExists. Defina o privateDnsZoneId como a ID do Azure Resource Manager da zona DNS privada a ser usada.
Configurar espaços de trabalho para desativar o acesso à rede pública
Configura um espaço de trabalho para desabilitar o acesso à rede a partir da Internet pública. A desativação do acesso à rede pública ajuda a proteger os espaços de trabalho contra riscos de vazamento de dados. Em vez disso, você pode acessar seu espaço de trabalho criando pontos de extremidade privados. Para obter mais informações, consulte Configurar um ponto de extremidade privado para um espaço de trabalho do Azure Machine Learning.
Para configurar essa política, defina o parâmetro effect como Modify ou Disabled. Se definido como Modificar, qualquer criação de um espaço de trabalho dentro do escopo em que a política se aplica automaticamente terá o acesso à rede pública desabilitado.
Configurar espaços de trabalho com pontos de extremidade privados
Configura um espaço de trabalho para criar um ponto de extremidade privado dentro da sub-rede especificada de uma Rede Virtual do Azure.
Para configurar essa política, defina o parâmetro effect como DeployIfNotExists. Defina o privateEndpointSubnetID como a ID do Azure Resource Manager da sub-rede.
Configurar espaços de trabalho de diagnóstico para enviar logs para espaços de trabalho de análise de log
Define as configurações de diagnóstico para um espaço de trabalho do Azure Machine Learning para enviar logs para um espaço de trabalho do Log Analytics.
Para configurar essa política, defina o parâmetro effect como DeployIfNotExists ou Disabled. Se definida como DeployIfNotExists, a política cria uma configuração de diagnóstico para enviar logs para um espaço de trabalho do Log Analytics, caso ainda não exista.
Os logs de recursos em espaços de trabalho devem ser habilitados
Audita se os logs de recursos estão habilitados para um espaço de trabalho do Azure Machine Learning. Os logs de recursos fornecem informações detalhadas sobre as operações executadas em recursos no espaço de trabalho.
Para configurar essa política, defina o parâmetro effect como AuditIfNotExists ou Disabled. Se definido como AuditIfNotExists, a política audita se os logs de recursos não estiverem habilitados para o espaço de trabalho.
Criar definições personalizadas
Quando precisar criar políticas personalizadas para sua organização, você poderá usar a estrutura de definição da Política do Azure para criar suas próprias definições. Você pode usar a extensão Azure Policy Visual Studio Code para criar e testar suas políticas.
Para descobrir os aliases de política que você pode usar em sua definição, use o seguinte comando da CLI do Azure para listar os aliases do Azure Machine Learning:
az provider show --namespace Microsoft.MachineLearningServices --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"
Para descobrir os valores permitidos para um alias específico, visite a referência da API REST do Azure Machine Learning.
Para obter um tutorial (não específico do Azure Machine Learning) sobre como criar políticas personalizadas, visite Criar uma definição de política personalizada.
Exemplo: Bloquear trabalhos de computação de faísca sem servidor
{
"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": {}
}
}
Exemplo: Configurar nenhum IP público para cálculos gerenciados
{
"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')]"
}
}
}
}
Conteúdos relacionados
- Documentação do Azure Policy
- Políticas internas para o Azure Machine Learning
- Trabalhar com políticas de segurança com o Microsoft Defender for Cloud
- O cenário do Cloud Adoption Framework para gerenciamento e análise de dados descreve considerações na execução de cargas de trabalho de dados e análises na nuvem
- As zonas de aterrissagem de dados do Cloud Adoption Framework fornecem uma implementação de referência para gerenciar cargas de trabalho de dados e análises no Azure
- Saiba como usar a política para integrar o Azure Private Link com zonas DNS Privadas do Azure