Auditar e gerenciar o Azure Machine Learning
Quando as equipes colaboram no Azure Machine Learning, elas podem enfrentar requisitos variados para configurar e organizar recursos. As equipes de aprendizado de máquina podem procurar flexibilidade na forma de organizar espaços de trabalho para colaboração ou como dimensionar clusters de cálculo para os requisitos de seus casos de uso. Nesses cenários, a produtividade poderá se beneficiar se as equipes de aplicativos puderem gerenciar sua própria infraestrutura.
Como administrador de plataforma, você pode usar políticas para modelar proteções para que as equipes gerenciem seus próprios recursos. O Azure Policy ajuda a auditar e controlar o estado do recurso. Este artigo explica como é possível usar controles de auditoria e práticas de governança para o Azure Machine Learning.
Políticas para o Azure Machine Learning
O Azure Policy é uma ferramenta de governança que permite garantir que os recursos do Azure estejam em conformidade com suas políticas.
O Azure Policy fornece um conjunto de políticas que podem ser usadas 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 é possível atribuir ao Azure Machine Learning. Para obter uma lista de todas as políticas internas do Azure, consulte Políticas internas.
Nome (Portal do Azure) |
Descrição | Efeito(s) | Versão (GitHub) |
---|---|---|---|
[Versão prévia]: as implantações do Azure Machine Learning devem usar apenas Modelos de Registro aprovados | Restringir a implantação de modelos de Registro para controlar modelos criados externamente usados em sua organização | Audit, Deny, desabilitado | 1.0.0 – versão prévia |
[Versão prévia]: As implantações do Registro de Modelo do Azure Machine Learning são restritas, exceto pelo Registro permitido | Implante apenas Modelos de Registro no Registro permitido e que não sejam restritos. | Deny, Desabilitado | 1.0.0 – versão prévia |
A instância de Computação do Azure Machine Learning deve ter desligamento por ociosidade. | O agendamento do desligamento por ociosidade reduz o custo desligando computações ociosas após um período de atividade pré-determinado. | Audit, Deny, desabilitado | 1.0.0 |
As instâncias de computação do Azure Machine Learning devem ser recriadas nobter as atualizações de software mais recentes | Certifique-se de que as instâncias de computação do Azure Machine Learning sejam executadas no sistema operacional mais recente disponível. A segurança é melhorada e as vulnerabilidades reduzidas pela execução dos últimos patches de segurança. Para obter mais informações, visite https://aka.ms/azureml-ci-updates/. | [parameters('effects')] | 1.0.3 |
Os Computadores 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 a partir de máquinas e aplicativos virtuais dentro da rede virtual. | Audit, desabilitado | 1.0.1 |
Os Computadores do Azure Machine Learning devem ter os métodos de autenticação local desabilitados | A desativação dos métodos de autenticação local melhora a segurança, garantindo que os Computadores do Machine Learning exijam identidades do Azure Active Directory exclusivamente para autenticação. Saiba mais em: https://aka.ms/azure-ml-aad-policy. | Audit, Deny, desabilitado | 2.1.0 |
Os workspaces do Azure Machine Learning devem ser criptografados com uma chave gerenciada pelo cliente | Gerencie a criptografia em repouso dos dados do Workspace 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 normalmente são necessárias para atender aos padrões de conformidade regulatória. As chaves gerenciadas pelo cliente permitem que os dados sejam criptografados com uma chave do Azure Key Vault criada por você 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. | Audit, Deny, desabilitado | 1.1.0 |
Os Workspaces do Azure Machine Learning devem desabilitar o acesso à rede pública | A desativação do acesso à rede pública aumenta a segurança, garantindo que os Workspaces do Machine Learning não sejam expostos na Internet pública. Em vez disso, você pode controlar a exposição dos 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. | Audit, Deny, desabilitado | 2.0.1 |
Os espaços de trabalho do Azure Machine Learning devem habilitar o V1LegacyMode para suportar a compatibilidade com versões anteriores de 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 workspaces no mesmo isolamento de rede que v1, embora você não tenha o uso dos novos recursos V2. Recomendamos ativar o Modo Herdado 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. | Audit, Deny, desabilitado | 1.0.0 |
Os workspaces do Azure Machine Learning devem usar um link privado | O Link Privado do Azure permite que você conecte sua rede virtual aos serviços do Azure sem um endereço IP público na origem ou no destino. A plataforma de Link Privado manipula a conectividade entre o consumidor e os serviços na rede de backbone do Azure. Ao mapear pontos de extremidade privados para workspaces do Azure Machine Learning, os riscos de vazamento de dados serão reduzidos. Saiba mais sobre links privados em: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. | Audit, desabilitado | 1.0.0 |
Os workspaces do Azure Machine Learning deverão usar uma identidade gerenciada e atribuída pelo usuário | Gerencie o acesso ao workspace do Azure ML e aos recursos associados, ao Registro de Contêiner do Azure, ao Key Vault, ao Armazenamento e ao App Insights usando uma identidade gerenciada e atribuída pelo usuário. Por padrão, uma identidade gerenciada e atribuída pelo sistema será usada pelo workspace do Azure ML para acessar recursos associados. A identidade gerenciada e atribuída pelo usuário permite criar uma identidade como um recurso do Azure, bem como e manter o ciclo de vida dela. Saiba mais em https://docs.microsoft.com/azure/machine-learning/how-to-use-managed-identities?tabs=python. | Audit, Deny, desabilitado | 1.0.0 |
Configure os Computadores do Azure Machine Learning para desabilitar os métodos de autenticação local | Desabilite os métodos de autenticação de local para que seus Computadores de Machine Learning exijam identidades do Microsoft Azure Active Directory exclusivamente para autenticação. Saiba mais em: https://aka.ms/azure-ml-aad-policy. | Modificar, Desabilitado | 2.1.0 |
Configurar um workspace do Azure Machine Learning para usar zonas DNS privadas | Use as zonas DNS privadas para substituir a resolução DNS de um ponto de extremidade privado. Uma zona DNS privada será vinculada à sua rede virtual para resolver problemas de workspaces do Azure Machine Learning. Saiba mais em: https://docs.microsoft.com/azure/machine-learning/how-to-network-security-overview. | DeployIfNotExists, desabilitado | 1.1.0 |
Configure os Workspaces do Azure Machine Learning para desativar o acesso à rede pública | Desabilite o acesso à rede pública nos Workspaces do Azure Machine Learning para que seus espaços de trabalho não sejam acessíveis pela 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 dos 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, Desabilitado | 1.0.3 |
Configurar workspaces do Azure Machine Learning usando pontos de extremidade privados | Os pontos de extremidade privados conectam sua rede virtual aos serviços do Azure sem usar um endereço IP público na origem, tampouco no destino. Ao mapear pontos de extremidade privados para seu workspace do Azure Machine Learning, será possível reduzir riscos de vazamento de dados. Saiba mais sobre links privados em: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. | DeployIfNotExists, desabilitado | 1.0.0 |
Configure as definições de diagnóstico dos Workspaces do Azure Machine Learning no Workspace do Log Analytics | Implanta as configurações de diagnóstico para que os Workspaces do Azure Machine Learning transmitam logs de recursos para um Workspace do Log Analytics quando qualquer Workspace do Azure Machine Learning que não tenha essas configurações de diagnóstico for criado ou atualizado. | DeployIfNotExists, desabilitado | 1.0.1 |
Os logs de recursos nos Workspaces do Azure Machine Learning devem estar habilitados | Os logs de recursos permitem a recriação de trilhas de atividades para uso em investigações quando ocorre um incidente de segurança ou quando sua rede é comprometida. | AuditIfNotExists, desabilitado | 1.0.1 |
As políticas podem ser definidas em diferentes escopos, como no nível de grupo de recursos ou assinatura. Para obter mais informações, consulte a Documentação do Azure Policy.
Atribuir políticas internas
Para exibir as definições de política interna relacionadas ao Azure Machine Learning, use as seguintes etapas:
- Vá para Azure Policy no Portal do Azure.
- Selecione Definições.
- Para Tipo, selecione Interno. Para Categoria, selecione Machine Learning.
A partir daqui, você pode selecionar as definições de política para exibi-las. Ao exibir uma definição, é possível usar o link Atribuir para atribuir a política a um escopo específico e configurar os parâmetros para a política. Para saber mais, confira Criar uma atribuição de política para identificar recursos fora de conformidade suando o portal do Azure.
Também é possível atribuir políticas usando o Azure PowerShell, a CLI do Azure ou Modelos.
Políticas de acesso condicional
Para controlar quem pode acessar seu workspace do Azure Machine Learning, use o acesso condicional do Microsoft Entra. Para usar o acesso condicional especificamente para espaços de trabalho do Azure Machine Learning, atribua a política de acesso condicional ao aplicativo chamado Azure Machine Learning. A ID do aplicativo é 0736f41a-0425-bdb5-1563eff02385.
Habilitar autoatendimento usando zonas de destino
As zonas de destino são um padrão de arquitetura que considera escala, governança, segurança e produtividade ao configurar ambientes do Azure. Uma zona de destino de dados é um ambiente configurado por administrador que uma equipe de aplicativo usa para hospedar uma carga de trabalho de dados e análise.
A finalidade da zona de destino é garantir que todo o trabalho de configuração de infraestrutura seja feito, quando uma equipe é 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. Ao usar a política do Azure como administrador, é possível auditar e gerenciar recursos do Azure para conformidade.
O Azure Machine Learning se integra com zonas de destino de dados no cenário de análise e gerenciamento de dados da estrutura de adoção de nuvem. Essa 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
Essa 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. Essa política é útil para economizar custos e garantir que os recursos não estejam sendo usados desnecessariamente.
Para configurar essa política, defina o parâmetro de efeito como Auditoria, Negarou Desabilitado. Se definido como Auditoria, você poderá criar uma instância de computação sem o desligamento ocioso habilitado e um evento de aviso será criado no log de atividades.
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 verificar se estão executando as atualizações de software disponíveis mais recentes. 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, confira Gerenciamento de vulnerabilidades para o Azure Machine Learning.
Para configurar essa política, defina o parâmetro de efeito como Auditoria ou Desabilitado. Se definido como Auditoria, um evento de aviso será criado no log de atividades quando uma computação não estiver 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 do cluster de computação e dos recursos de instância por trás de uma rede virtual.
Para configurar essa política, defina o parâmetro de efeito como Auditoria ou Desabilitado. Se definido como Auditoria, será possível criar uma computação que não está configurada atrás de uma rede virtual e um evento de aviso será criado no log de atividades.
Os cálculos devem ter os métodos de autenticação local desabilitados.
Controla se um cluster de computação ou instância do Azure Machine Learning deve desabilitar a autenticação local (SSH).
Para configurar essa política, defina o parâmetro de efeito como Auditoria, Negarou Desabilitado. Se definido como Auditoria, será possível criar uma computação com SSH habilitado e um evento de aviso será criado no log de atividades.
Se a política estiver definida como Negar, não será possível 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 log de atividades. O identificador de política é retornado como parte desse erro.
Os espaço de trabalho devem ser criptografados com a 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 de efeito como Auditoria ou Negar. Se definido como Auditoria, será possível criar um espaço de trabalho sem uma chave gerenciada pelo cliente e um evento de aviso será criado no log de atividades.
Se a política estiver definida como Negar, não será possível criar um espaço de trabalho, a menos que ele 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 a Resource 'clustername' was disallowed by policy
e 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 desabilitar o acesso à rede pública
Controla se um workspace deve desabilitar o acesso à rede da Internet pública.
Para configurar essa política, defina o parâmetro de efeito como Auditoria, Negarou Desabilitado. Se definido como Auditoria, será possível criar um espaço de trabalho com acesso público e um evento de aviso será criado no log de atividades.
Se a política for definida para Negar, você não poderá criar um espaço de trabalho que permita o acesso à rede da Internet pública.
Os espaços de trabalho devem habilitar o V1LegacyMode, para suportar a compatibilidade com versões anteriores de isolamento de rede
Controla se um espaço de trabalho deve habilitar o V1LegacyMode, para dar suporte à compatibilidade com versões anteriores do isolamento de rede. Essa política será útil se você quiser manter dados do plano de controle do Azure Machine Learning dentro de suas redes privadas. Para obter mais informações, consulte a Alteração de isolamento de rede com nossa nova plataforma de API.
Para configurar essa política, defina o parâmetro de efeito como Auditoria, Negar ou Desabilitado. Se definido como Auditoria, será possível criar um espaço de trabalho sem habilitar o V1LegacyMode e um evento de aviso será 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 habilite o V1LegacyMode.
Os espaços de trabalho devem usar o link privado
Controla se um espaço de trabalho deve usar o Link Privado do Azure para se comunicar com a Rede Virtual do Azure. Para obter mais informações sobre como usar o link privado, confira 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 de efeito como Auditoria ou Negar. Se definido como Auditoria, será possível criar um espaço de trabalho sem usar um link privado e um evento de aviso será criado no log de atividades.
Se a política estiver definida como Negar, não será possível 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 log de atividades. O identificador de política é retornado como parte desse erro.
Os espaços de trabalho devem usar 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 Azure Key Vault 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 de efeito como Auditoria, Negarou Desabilitado. Se definido como Auditoria, será possível criar um espaço de trabalho sem especificar uma identidade gerenciada atribuída pelo usuário. Uma identidade atribuída pelo sistema é usada 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, a menos que você forneça uma identidade atribuída pelo usuário durante o processo de criação. A tentativa de 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 log de atividades. O identificador de política é retornado como parte desse erro.
Configurar computações para modificar/desabilitar a autenticação local
Esta política modifica qualquer cluster de computação ou solicitação de criação de instância do Azure Machine Learning, para desabilitar a autenticação local (SSH).
Para configurar essa política, defina o parâmetro de efeito como Modificar ou Desabilitado. Se definida como Modificar, qualquer criação de um cluster de computação ou instância no escopo em que a política se aplica automaticamente tem a autenticação local desabilitada.
Configurar o espaço de trabalho para usar zonas DNS privadas
Esta política configura um espaço de trabalho para usar uma zona de DNS privado, substituindo a resolução DNS padrão por um ponto de extremidade privado.
Para configurar essa política, defina o parâmetro de efeito como DeployIfNotExists. Defina privateDnsZoneId para a ID do Azure Resource Manager da zona de DNS privado a ser usada.
Configurar espaços de trabalho para desabilitar o acesso à rede pública
Configura um espaço de trabalho para desabilitar o acesso à rede da Internet pública. Desabilitar o acesso à rede pública ajuda a proteger os workspaces contra riscos de vazamento de dados. Em vez disso, acesse o espaço de trabalho criando pontos de extremidade privados. Para obter mais informações, confira 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 de efeito como Modificar ou Desabilitado. Se definida como Modificar, qualquer criação de um workspace no escopo em que a política se aplica automaticamente tem 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 de efeito como DeployIfNotExists. Defina o privateEndpointSubnetID para a ID do Azure Resource Manager da sub-rede.
Configurar espaços de trabalho de diagnóstico para enviar logs aos workspaces do Log Analytics
Define as configurações de diagnóstico de um espaço de trabalho do Azure Machine Learning para enviar logs para um workspace do Log Analytics.
Para configurar essa política, defina o parâmetro de efeito como DeployIfNotExists ouDesabilitado. Se definido como DeployIfNotExists, a política criará uma configuração de diagnóstico para enviar logs para um workspace do Log Analytics se ele ainda não existir.
Os logs de recursos nos 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 nos recursos no espaço de trabalho.
Para configurar essa política, defina o parâmetro de efeito como AuditIfNotExists ou Desabilitado. Se definido como AuditIfNotExists, a política auditará se os logs de recursos não estiverem habilitados para o espaço de trabalho.
Criar definições personalizadas
Quando você precisa criar políticas personalizadas para sua organização, pode usar a estrutura de definição do Azure Policy para criar suas próprias definições. Você pode usar a Extensão Visual Studio Code do Azure Policy 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 spark 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 computação gerenciada
{
"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údo relacionado
- Documentação do Azure Policy
- Políticas internas para Azure Machine Learning
- Trabalhando com políticas de segurança com o Microsoft Defender para Nuvem
- O cenário do Cloud Adoption Framework para gerenciamento de dados e análise descreve considerações sobre a execução de cargas de trabalho de análise e dados na nuvem
- As zonas de destino dos dados do Cloud Adoption Framework fornecem uma implementação de referência para gerenciar cargas de trabalho de análise e dados no Azure
- Saiba como usar a política para integrar o Link Privado do Azure às zonas DNS Privadas do Azure