Gerir o acesso a uma área de trabalho do Azure Machine Learning

Neste artigo, aprende-se a gerir o acesso (autorização) a um espaço de trabalho Azure Machine Learning. O controlo de acesso baseado em funções (Azure RBAC) é utilizado para gerir o acesso aos recursos Azure, como a capacidade de criar novos recursos ou usar os existentes. Os utilizadores do seu Azure Ative Directory (Azure AD) são atribuídos a funções específicas, que concedem acesso a recursos. O Azure fornece papéis incorporados e a capacidade de criar papéis personalizados.

Dica

Embora este artigo se centre em Azure Machine Learning, os serviços individuais que a Azure ML depende em fornecer as suas próprias configurações de RBAC. Por exemplo, usando as informações deste artigo, pode configurar quem pode submeter pedidos de pontuação a um modelo implantado como serviço web no Serviço Azure Kubernetes. Mas o Azure Kubernetes Service fornece o seu próprio conjunto de papéis Azure. Para obter informações específicas do RBAC de serviço que possam ser úteis com Azure Machine Learning, consulte os seguintes links:

Aviso

A aplicação de algumas funções pode limitar a funcionalidade de UI no Azure Machine Learning estúdio para outros utilizadores. Por exemplo, se o papel de um utilizador não tiver a capacidade de criar uma instância computacional, a opção de criar uma instância computacional não estará disponível em estúdio. Este comportamento é esperado e impede o utilizador de tentar operações que retornem um erro negado de acesso negado.

Funções predefinidos

Uma área de trabalho do Azure Machine Learning é um recurso do Azure. Tal como outros recursos do Azure, quando cria uma nova área de trabalho do Azure Machine Learning, esta inclui três funções por predefinição. Pode adicionar utilizadores ao espaço de trabalho e atribuí-los a uma destas funções incorporadas.

Função Nível de acesso
Leitor Ações só de leitura no espaço de trabalho. Os leitores podem listar e visualizar ativos, incluindo credenciais de datastore, num espaço de trabalho. Os leitores não podem criar ou atualizar estes ativos.
Contribuinte Ver, criar, editar ou apagar (se aplicável) ativos num espaço de trabalho. Por exemplo, os contribuidores podem criar uma experimentação, criar ou anexar um cluster de cálculo, submeter uma execução e implementar um serviço Web.
Proprietário Acesso total ao espaço de trabalho, incluindo a capacidade de visualizar, criar, editar ou apagar (se aplicável) ativos num espaço de trabalho. Além disso, pode alterar as atribuições de funções.
Papel personalizado Permite-lhe personalizar o acesso a operações específicas de controle ou data plane dentro de um espaço de trabalho. Por exemplo, submeter uma execução, criar um cálculo, implementar um modelo ou registar um conjunto de dados.

Importante

O acesso a funções pode ser alargado a vários níveis em Azure. Por exemplo, alguém com acesso ao proprietário a um espaço de trabalho pode não ter acesso ao grupo de recursos que contém o espaço de trabalho. Para mais informações, consulte como funciona o Azure RBAC.

Atualmente não existem funções adicionais incorporadas específicas para Azure Machine Learning. Para obter mais informações sobre papéis incorporados, consulte as funções incorporadas do Azure.

Gerir o acesso à área de trabalho

Se você é proprietário de um espaço de trabalho, você pode adicionar e remover papéis para o espaço de trabalho. Também pode atribuir funções aos utilizadores. Use os seguintes links para descobrir como gerir o acesso:

Se tiver instalado o Azure Machine Learning CLI,pode utilizar comandos CLI para atribuir funções aos utilizadores:

az ml workspace share -w <workspace_name> -g <resource_group_name> --role <role_name> --user <user_corp_email_address>

O user campo é o endereço de e-mail de um utilizador existente no caso de Azure Ative Directory onde vive a subscrição dos pais do espaço de trabalho. Aqui está um exemplo de como usar este comando:

az ml workspace share -w my_workspace -g my_resource_group --role Contributor --user jdoe@contoson.com

Nota

O comando "az ml workspace share" não funciona para conta federada por Azure Ative Directory B2B. Por favor, use o portal Azure UI em vez de comandar.

Criar função personalizada

Se as funções incorporadas forem insuficientes, poderá criar funções personalizadas. As funções personalizadas podem ter lido, escrito, apagado e computado permissões de recursos nesse espaço de trabalho. Pode disponibilizar a função a um nível específico do espaço de trabalho, a um nível específico do grupo de recursos ou a um nível de subscrição específico.

Nota

Você deve ser um proprietário do recurso a esse nível para criar funções personalizadas dentro desse recurso.

Para criar um papel personalizado, primeiro construa um ficheiro JSON de definição de papel que especifica a permissão e o alcance para o papel. O exemplo a seguir define uma função personalizada chamada "Data Scientist Custom" a um nível específico do espaço de trabalho:

data_scientist_custom_role.json :

{
    "Name": "Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute.",
    "Actions": ["*"],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace_name>"
    ]
}

Dica

Pode alterar o AssignableScopes campo para definir o âmbito desta função personalizada ao nível da subscrição, ao nível do grupo de recursos ou a um nível específico de espaço de trabalho. O papel personalizado acima é apenas um exemplo, veja alguns papéis personalizadossugeridos para o serviço Azure Machine Learning .

Esta função personalizada pode fazer tudo no espaço de trabalho, exceto nas seguintes ações:

  • Não pode criar ou atualizar um recurso computacional.
  • Não pode apagar um recurso computacional.
  • Não pode adicionar, excluir ou alterar atribuições de funções.
  • Não pode apagar o espaço de trabalho.

Para implementar esta função personalizada, utilize o seguinte comando Azure CLI:

az role definition create --role-definition data_scientist_role.json

Após a implementação, esta função fica disponível no espaço de trabalho especificado. Agora pode adicionar e atribuir este papel no portal Azure. Ou, pode atribuir esta função a um utilizador utilizando o az ml workspace share comando CLI:

az ml workspace share -w my_workspace -g my_resource_group --role "Data Scientist" --user jdoe@contoson.com

Para obter mais informações sobre funções personalizadas, consulte as funções personalizadas Azure.

Azure Machine Learning operações

Para obter mais informações sobre as operações (ações e não ações) utilizáveis com funções personalizadas, consulte as operações do fornecedor de recursos. Também pode utilizar o seguinte comando Azure CLI para listar operações:

az provider operation show –n Microsoft.MachineLearningServices

Listar funções personalizadas

No Azure CLI, executar o seguinte comando:

az role definition list --subscription <sub-id> --custom-role-only true

Para visualizar a definição de função para um papel personalizado específico, utilize o seguinte comando Azure CLI. O <role-name> deve ser devolvido no mesmo formato pelo comando acima:

az role definition list -n <role-name> --subscription <sub-id>

Atualizar uma função personalizada

No Azure CLI, executar o seguinte comando:

az role definition update --role-definition update_def.json --subscription <sub-id>

Precisa de permissões em todo o âmbito da sua nova definição de papel. Por exemplo, se esta nova função tiver um alcance em três subscrições, você precisa ter permissões nas três subscrições.

Nota

As atualizações de funções podem demorar 15 minutos a uma hora a aplicar-se em todas as atribuições de funções nesse âmbito.

Utilize modelos de Gestor de Recursos Azure para a repetibilidade

Se antecipar que terá de recriar atribuições complexas de funções, um modelo do Gestor de Recursos Azure pode ser uma grande ajuda. O modelo de atribuição de funções de aprendizagem automática-dependências mostra como as atribuições de funções podem ser especificadas no código-fonte para reutilização.

Cenários comuns

O quadro a seguir é um resumo das atividades Azure Machine Learning e as permissões necessárias para as executar no mínimo. Por exemplo, se uma atividade pode ser realizada com um âmbito de espaço de trabalho (Coluna 4), então todo o âmbito mais elevado com essa permissão também funcionará automaticamente:

Importante

Todos os caminhos desta tabela que começam / são caminhos relativos Microsoft.MachineLearningServices/ para:

Atividade Âmbito de nível de subscrição Âmbito de grupo de recursos Âmbito ao nível do espaço de trabalho
Criar novo espaço de trabalho não é necessário Proprietário ou colaborador N/A (torna-se Proprietário ou herda um papel de âmbito superior após a criação)
Solicitar nível de subscrição Quota Amlcompute ou quota de nível de espaço de trabalho definido Proprietário, colaborador ou papel personalizado
permitindo /locations/updateQuotas/action
no âmbito de subscrição
Não Autorizado Não Autorizado
Criar novo cluster computacional não é necessário não é necessário Função de proprietário, colaborador ou personalizado que permite: /workspaces/computes/write
Criar nova instância computacional não é necessário não é necessário Função de proprietário, colaborador ou personalizado que permite: /workspaces/computes/write
Submeter qualquer tipo de execução não é necessário não é necessário Função de proprietário, colaborador ou personalizado que permite: "/workspaces/*/read", "/workspaces/environments/write", "/workspaces/experiments/runs/write", "/workspaces/metadata/artifacts/write", "/workspaces/metadata/snapshots/write", "/workspaces/environments/build/action", "/workspaces/experiments/runs/submit/action", "/workspaces/environments/readSecrets/action"
Oleodutos e pontos finais de publicação não é necessário não é necessário Função de proprietário, colaborador ou personalizado que permite: "/workspaces/endpoints/pipelines/*", "/workspaces/pipelinedrafts/*", "/workspaces/modules/*"
Implantação de um modelo registado num recurso AKS/ACI não é necessário não é necessário Função de proprietário, colaborador ou personalizado que permite: "/workspaces/services/aks/write", "/workspaces/services/aci/write"
Pontuação contra um ponto final AKS implantado não é necessário não é necessário Titular, colaborador ou papel personalizado que permite: "/workspaces/services/aks/score/action", "/workspaces/services/aks/listkeys/action" (quando não está a utilizar Azure Ative Directory auth) OR "/workspaces/read" (quando estiver a utilizar auth simbólico)
Acesso ao armazenamento usando cadernos interativos não é necessário não é necessário Função de proprietário, colaborador ou personalizado que permite: "/workspaces/computes/read", "/workspaces/notebooks/samples/read", "/workspaces/notebooks/storage/*", "/workspaces/listKeys/action"
Criar novo papel personalizado Titular, colaborador ou papel personalizado permitindo Microsoft.Authorization/roleDefinitions/write não é necessário Função de proprietário, colaborador ou personalizado que permite: /workspaces/computes/write

Dica

Se receber uma falha ao tentar criar um espaço de trabalho pela primeira vez, certifique-se de que o seu papel permite Microsoft.MachineLearningServices/register/action . Esta ação permite-lhe registar o fornecedor de recursos Azure Machine Learning com a sua assinatura Azure.

Identidade gerida atribuída pelo utilizador com cluster de computação Azure ML

Para atribuir uma identidade atribuída a um grupo de cálculo Azure Machine Learning, é necessário escrever permissões para criar o cálculo e a Função de Operador de Identidade Gerida. Para obter mais informações sobre o Azure RBAC com identidades geridas, leia Como gerir a identidade atribuída pelo utilizador

Operações mlflow

Para realizar operações MLflow com o seu espaço de trabalho Azure Machine Learning, utilize os seguintes âmbitos da sua função personalizada:

Operação MLflow Âmbito
Liste todas as experiências na loja de rastreio do espaço de trabalho, faça uma experiência por id, obtenha uma experiência pelo nome Microsoft.MachineLearningServices/workspaces/experiments/read
Crie uma experiência com um nome, coloque uma etiqueta numa experiência, restaure uma experiência marcada para a eliminação Microsoft.MachineLearningServices/workspaces/experiments/write
Excluir uma experiência Microsoft.MachineLearningServices/workspaces/experiments/delete
Obtenha uma execução e dados relacionados e metadados, obtenha uma lista de todos os valores para a métrica especificada para uma determinada execução, liste artefactos para uma corrida Microsoft.MachineLearningServices/workspaces/experiments/runs/read
Criar uma nova execução dentro de uma experiência, eliminar runs, restaurar corridas eliminadas, registar métricas sob a execução atual, definir tags em uma corrida, eliminar tags em uma corrida, pára-quedamentos de log (par de valores-chave) usado para uma corrida, registar um lote de métricas, parames e tags para uma execução, estado de execução de atualização Microsoft.MachineLearningServices/workspaces/experiments/runs/write
Obtenha modelo registado pelo nome, obtenha uma lista de todos os modelos registados no registo, procure modelos registados, modelos de versão mais recentes para cada fase de pedidos, obtenha uma versão de modelo registada, versões de modelos de pesquisa, obter URI onde os artefactos de uma versão modelo são armazenados, pesquisa por execuções por ids de experiência Microsoft.MachineLearningServices/workspaces/models/read
Criar um novo modelo registado, atualizar o nome/descrição de um modelo registado, mudar o nome do modelo registado existente, criar nova versão do modelo, atualizar a descrição de uma versão modelo, transitar um modelo registado para uma das fases Microsoft.MachineLearningServices/workspaces/models/write
Eliminar um modelo registado juntamente com toda a sua versão, eliminar versões específicas de um modelo registado Microsoft.MachineLearningServices/workspaces/models/delete

Exemplo de funções personalizadas

Cientista de dados

Permite que um cientista de dados realize todas as operações dentro de um espaço de trabalho, exceto:

  • Criação de computação
  • Implantação de modelos para um cluster AKS de produção
  • Implantação de um ponto final de gasoduto na produção

data_scientist_custom_role.json :

{
    "Name": "Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute or deploy production endpoints.",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/*/action",
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/*/write"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/services/aks/write",
        "Microsoft.MachineLearningServices/workspaces/services/aks/delete",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscription_id>"
    ]
}

Cientista de dados restrito

Uma definição de papel mais restrita sem wildcards nas ações permitidas. Pode realizar todas as operações dentro de um espaço de trabalho, exceto:

  • Criação de computação
  • Implantação de modelos para um cluster AKS de produção
  • Implantação de um ponto final de gasoduto na produção

data_scientist_restricted_custom_role.json :

{
    "Name": "Data Scientist Restricted Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute or deploy production endpoints",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/computes/start/action",
        "Microsoft.MachineLearningServices/workspaces/computes/stop/action",
        "Microsoft.MachineLearningServices/workspaces/computes/restart/action",
        "Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/action",
        "Microsoft.MachineLearningServices/workspaces/notebooks/storage/read",
        "Microsoft.MachineLearningServices/workspaces/notebooks/storage/write",
        "Microsoft.MachineLearningServices/workspaces/notebooks/storage/delete",
        "Microsoft.MachineLearningServices/workspaces/notebooks/samples/read",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action",
        "Microsoft.MachineLearningServices/workspaces/pipelinedrafts/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
        "Microsoft.MachineLearningServices/workspaces/environments/write",
        "Microsoft.MachineLearningServices/workspaces/models/write",
        "Microsoft.MachineLearningServices/workspaces/modules/write",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/write", 
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/delete",
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/write",
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listNodes/action",
        "Microsoft.MachineLearningServices/workspaces/environments/build/action"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/computes/write",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/delete",
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/profile/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/preview/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/profile/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/preview/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/schema/read",    
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/schema/read",
        "Microsoft.MachineLearningServices/workspaces/datastores/write",
        "Microsoft.MachineLearningServices/workspaces/datastores/delete"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscription_id>"
    ]
}

Cientista de dados do MLflow

Permite que um cientista de dados execute todas as operações apoiadas pela MLflow AzureML, exceto:

  • Criação de computação
  • Implantação de modelos para um cluster AKS de produção
  • Implantação de um ponto final de gasoduto na produção

mlflow_data_scientist_custom_role.json :

{
    "Name": "MLFlow Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can perform azureml mlflow integrated functionalities that includes mlflow tracking, projects, model registry",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/experiments/read",
        "Microsoft.MachineLearningServices/workspaces/experiments/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/delete",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/read",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
        "Microsoft.MachineLearningServices/workspaces/models/read",
        "Microsoft.MachineLearningServices/workspaces/models/write",
        "Microsoft.MachineLearningServices/workspaces/models/delete"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/services/aks/write",
        "Microsoft.MachineLearningServices/workspaces/services/aks/delete",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscription_id>"
    ]
}

MLOps

Permite-lhe atribuir uma função a um diretor de serviço e usá-lo para automatizar os seus oleodutos MLOps. Por exemplo, submeter corridas contra um oleoduto já publicado:

mlops_custom_role.json :

{
    "Name": "MLOps Custom",
    "IsCustom": true,
    "Description": "Can run pipelines against a published pipeline endpoint",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/read",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/read",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/read",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/read",
        "Microsoft.MachineLearningServices/workspaces/environments/read",    
        "Microsoft.MachineLearningServices/workspaces/metadata/secrets/read",
        "Microsoft.MachineLearningServices/workspaces/modules/read",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/read",
        "Microsoft.MachineLearningServices/workspaces/datastores/read",
        "Microsoft.MachineLearningServices/workspaces/environments/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
        "Microsoft.MachineLearningServices/workspaces/environments/build/action",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/computes/write",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/delete",
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.Authorization/*"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscription_id>"
    ]
}

Administrador do Espaço de Trabalho

Permite-lhe realizar todas as operações no âmbito de um espaço de trabalho, exceto:

  • Criação de um novo espaço de trabalho
  • Atribuição de quotas de subscrição ou de nível de trabalho

O administrador do espaço de trabalho também não pode criar um novo papel. Só pode atribuir funções incorporadas ou personalizadas existentes no âmbito do seu espaço de trabalho:

workspace_admin_custom_role.json :

{
    "Name": "Workspace Admin Custom",
    "IsCustom": true,
    "Description": "Can perform all operations except quota management and upgrades",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/*/action",
        "Microsoft.MachineLearningServices/workspaces/*/write",
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.Authorization/roleAssignments/*"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscription_id>"
    ]
}

Etiquetador de dados

Permite definir uma função apenas para rotular dados:

labeler_custom_role.json :

{
    "Name": "Labeler Custom",
    "IsCustom": true,
    "Description": "Can label data for Labeling",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/read",
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/read",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/write"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/summary/read"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscription_id>"
    ]
}

Liderança da equipa de rotulagem

Permite-lhe rever e rejeitar o conjunto de dados rotulado e ver insights de rotulagem. Além disso, este papel também lhe permite desempenhar o papel de rotulador.

labeling_team_lead_custom_role.json :

{
    "properties": {
        "roleName": "Labeling Team Lead",
        "description": "Team lead for Labeling Projects",
        "assignableScopes": [
            "/subscriptions/<subscription_id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.MachineLearningServices/workspaces/read",
                    "Microsoft.MachineLearningServices/workspaces/labeling/labels/read",
                    "Microsoft.MachineLearningServices/workspaces/labeling/labels/write",
                    "Microsoft.MachineLearningServices/workspaces/labeling/labels/reject/action",
                    "Microsoft.MachineLearningServices/workspaces/labeling/projects/read",
                    "Microsoft.MachineLearningServices/workspaces/labeling/projects/summary/read"
                ],
                "notActions": [
                    "Microsoft.MachineLearningServices/workspaces/labeling/projects/write",
                    "Microsoft.MachineLearningServices/workspaces/labeling/projects/delete",
                    "Microsoft.MachineLearningServices/workspaces/labeling/export/action"
                ],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Resolução de problemas

Eis algumas coisas a ter em conta enquanto utiliza o controlo de acesso baseado em funções Azure (Azure RBAC):

  • Quando cria um recurso em Azure, como um espaço de trabalho, não é diretamente o proprietário do recurso. O seu papel é herdado do mais alto papel de âmbito contra o qual está autorizado nessa subscrição. Como exemplo, se for administrador de rede e tiver as permissões para criar um espaço de trabalho Machine Learning, será-lhe atribuída a função de Administrador de Rede contra esse espaço de trabalho, e não a função de Proprietário.

  • Para realizar operações de quota num espaço de trabalho, precisa de permissões de nível de subscrição. Isto significa que definir a quota de nível de subscrição ou a quota de nível de espaço de trabalho para os seus recursos de computação geridos só pode acontecer se tiver permissões de escrita no âmbito de subscrição.

  • Quando há duas atribuições de papel para o mesmo utilizador Azure Ative Directory com secções contraditórias de Ações/NotActions, as suas operações listadas em NotActions de uma função podem não produzir efeitos se também estiverem listadas como Ações noutra função. Para saber mais sobre como a Azure analisa atribuições de funções, leia como o Azure RBAC determina se um utilizador tem acesso a um recurso

  • Para implementar os seus recursos de computação dentro de um VNet, precisa de ter explicitamente permissões para as seguintes ações:

    • Microsoft.Network/virtualNetworks/*/read sobre os recursos VNet.
    • Microsoft.Network/virtualNetworks/subnet/join/action sobre o recurso sub-rede.

    Para obter mais informações sobre o Azure RBAC com a rede, consulte as funções embutidas em rede.

  • Às vezes pode levar até 1 hora para que as suas novas tarefas de função produzam efeitos sobre permissões em cache através da pilha.

  • O acesso condicional não é suportado atualmente com Azure Machine Learning.

Passos seguintes