Compartilhar via


Controle de acesso baseado em função para o serviço do Lote do Azure

O Serviço de Lote do Azure dá suporte a um conjunto de funções internas do Azure que fornecem diferentes níveis de permissões para a conta do Lote do Azure. Ao usar o RBAC (controle de acesso baseado em função) do Azure, um sistema de autorização para gerenciar o acesso individual aos recursos do Azure, você pode atribuir permissões específicas a usuários, entidades de serviço ou outras identidades que precisam interagir com sua conta do Lote. Você também pode atribuir funções personalizadas com permissões personalizadas e refinadas que adaptam seu cenário de uso específico.

Observação

Todas as funções RBAC (internas e personalizadas) são para usuários autenticados pelo Microsoft Entra ID, não para as credenciais de chave compartilhada do Lote. As credenciais de chave compartilhada do Lote dão permissão total à conta do Lote.

Atribuir RBAC do Azure

Siga estas etapas para atribuir uma função RBAC do Azure a um usuário, grupo, entidade de serviço ou identidade gerenciada. Para ver as etapas detalhadas, veja Atribuir funções do Azure usando o portal do Azure.

  1. No portal do Azure, navegue até sua conta específica do Lote.

    Dica

    Você também pode configurar o RBAC do Azure para grupos de recursos, assinaturas ou grupos de gerenciamento inteiros. Faça isso por meio da seleção do nível de escopo desejado e, em seguida, navegue até o item desejado. Por exemplo, selecione Grupos de recursos e, em seguida, navegue até um grupo de recursos específico.

  2. Selecione Controle de acesso (IAM) na navegação à esquerda.

  3. Na página Controle de acesso (IAM), selecione Adicionar atribuição de função.

  4. Na página Adicionar atribuição de função, selecione a guia Função e selecione uma das funções RBAC internas do Lote do Azure.

  5. Selecione a guia Membros e selecione Selecionar membros em Membros.

  6. Na tela Selecionar membros, pesquise e selecione um usuário, grupo, entidade de serviço ou identidade gerenciada e selecione Selecionar.

    Observação

    Ao configurar um aplicativo para autenticar serviços do Lote do Azure com a entidade de serviço, pesquise e selecione seu aplicativo aqui para configurar seu acesso e permissões para a conta do Lote do Azure.

  7. Selecione Examinar + atribuir na página Adicionar atribuição de função.

A identidade de destino agora deve aparecer na guia Atribuições de função da página Controle de acesso (IAM) da conta do Lote.

Funções RBAC internas do Lote do Azure

O Lote do Azure tem algumas funções predefinidas para lidar com cenários comuns de usuário, garantindo que os níveis de acesso apropriados na conta do Lote do Azure possam ser atribuídos com eficiência a uma identidade para seu dever específico.

Função interna Descrição ID
Colaborador da Conta do Lote do Azure Concede acesso total para gerenciar todos os recursos do Lote, incluindo contas, pools e trabalhos do Lote. 29fe4964-1e60-436b-bd3a-77fd4c178b3c
Leitor de Conta do Lote do Azure Permite exibir todos os recursos, incluindo pools e trabalhos na conta do Lote. 11076f67-66f6-4be0-8f6b-f0609fd05cc9
Colaborador de Dados do Lote do Azure Concede permissões para gerenciar pools e trabalhos do Lote, mas não para modificar contas. 6aaa78f1-f7de-44ca-8722-c64a23943cae
Remetente de Trabalho do Lote do Azure Permite enviar e gerenciar trabalhos na conta do Lote. 48e5e92e-a480-4e71-aa9c-2778f4c13781
Permissões Colaborador da Conta do Lote do Azure Leitor de Conta do Lote do Azure Colaborador de Dados do Lote do Azure Remetente de Trabalho do Lote do Azure
Listar contas do Lote ou exibir as propriedades de uma conta do Lote
Criar, atualizar ou excluir uma conta do Lote
Listar chaves de acesso para uma conta do Lote
Regenerar chaves de acesso para uma conta do Lote
Listar ou exibir propriedades de aplicativos e pacotes de aplicativos em uma conta do Lote
Criar, atualizar ou excluir aplicativos e pacotes de aplicativos em uma conta do Lote
Listar ou exibir propriedades de certificados em uma conta do Lote
Criar, atualizar ou excluir certificados em uma conta do Lote
Listar ou exibir propriedades de pools em uma conta do Lote
Criar, atualizar ou excluir pools em uma conta do Lote
Listar ou exibir propriedades de trabalhos em uma conta do Lote
Criar, atualizar ou excluir trabalhos em uma conta do Lote
Listar ou exibir propriedades de agendas de trabalho em uma conta do Lote
Criar, atualizar ou excluir agendas de trabalho em uma conta do Lote

Aviso

O recurso de certificado de conta do Lote foi desativado.

Colaborador da Conta do Lote do Azure

Concede acesso total para gerenciar todos os recursos do Lote, incluindo contas, pools e trabalhos do Lote.

Ações Descrição
Microsoft.Authorization/*/read Leia funções e atribuições de função.
Microsoft.Insights/alertRules/* Criar e gerenciar um alerta de métrica clássico.
Microsoft.Resources/deployments/* Criar e gerenciar uma implantação.
Microsoft.Resources/subscriptions/resourceGroups/read Obter ou listar de grupos de recursos.
Microsoft.Batch/batchAccounts/*
NotActions
none
DataActions
Microsoft.Batch/batchAccounts/*
NotDataActions
none
{
    "assignableScopes": [
        "/"
    ],
    "description": "Grants full access to manage all Batch resources, including Batch accounts, pools and jobs.",
    "id": "/providers/Microsoft.Authorization/roleDefinitions/29fe4964-1e60-436b-bd3a-77fd4c178b3c",
    "permissions": [
        {
            "actions": [
                "Microsoft.Authorization/*/read",
                "Microsoft.Batch/batchAccounts/*",
                "Microsoft.Insights/alertRules/*",
                "Microsoft.Resources/deployments/*",
                "Microsoft.Resources/subscriptions/resourceGroups/read"
            ],
            "dataActions": [
                "Microsoft.Batch/batchAccounts/*"
            ],
            "notActions": [],
            "notDataActions": []
        }
    ],
    "roleName": "Azure Batch Account Contributor",
    "roleType": "BuiltInRole",
    "type": "Microsoft.Authorization/roleDefinitions"
}

Leitor de Conta do Lote do Azure

Permite exibir todos os recursos, incluindo pools e trabalhos na conta do Lote.

Ações Descrição
Microsoft.Batch/batchAccounts/read Lista contas do Lote ou obtém as propriedades de uma conta do Lote.
Microsoft.Batch/batchAccounts/*/read Exibir todos os recursos na conta do Lote.
Microsoft.Resources/subscriptions/resourceGroups/read Obter ou listar de grupos de recursos.
NotActions
none
DataActions
Microsoft.Batch/*/read Exibir todos os recursos na conta do Lote.
NotDataActions
none
{
    "assignableScopes": [
        "/"
    ],
    "description": "Lets you view all resources including pools and jobs in the Batch account.",
    "id": "/providers/Microsoft.Authorization/roleDefinitions/11076f67-66f6-4be0-8f6b-f0609fd05cc9",
    "permissions": [
        {
            "actions": [
                "Microsoft.Batch/batchAccounts/read",
                "Microsoft.Batch/batchAccounts/*/read",
                "Microsoft.Resources/subscriptions/resourceGroups/read"
            ],
            "dataActions": [
                "Microsoft.Batch/batchAccounts/*/read"
            ],
            "notActions": [],
            "notDataActions": []
        }
    ],
    "roleName": "Azure Batch Account Reader",
    "roleType": "BuiltInRole",
    "type": "Microsoft.Authorization/roleDefinitions"
}

Colaborador de Dados do Lote do Azure

Concede permissões para gerenciar pools e trabalhos do Lote, mas não para modificar contas.

Ações Descrição
Microsoft.Authorization/*/read Leia funções e atribuições de função.
Microsoft.Batch/batchAccounts/read Lista contas do Lote ou obtém as propriedades de uma conta do Lote.
Microsoft.Batch/batchAccounts/applications/* Criar e gerenciar aplicativos e pacotes de aplicativos em uma conta do Lote.
Microsoft.Batch/batchAccounts/certificates/* Criar e gerenciar certificados em uma conta do Lote.
Microsoft.Batch/batchAccounts/certificateOperationResults/* Obtém os resultados de uma operação de certificado de execução prolongada em uma conta do Lote.
Microsoft.Batch/pools/* Criar e gerenciar pools em uma conta do Lote.
Microsoft.Batch/poolOperationResults/* Obtém os resultados de uma operação de pool de execução prolongada em uma conta do Lote.
Microsoft.Batch/locations/*/read Obtenha o resultado da operação da conta do Lote/Cota do Lote/tamanho da VM com suporte no local especificado.
Microsoft.Insights/alertRules/* Criar e gerenciar um alerta de métrica clássico.
Microsoft.Resources/deployments/* Criar e gerenciar uma implantação.
Microsoft.Resources/subscriptions/resourceGroups/read Obter ou listar de grupos de recursos.
NotActions
none
DataActions
Microsoft.Batch/batchAccounts/jobSchedules/* Criar e gerenciar agendas de trabalho no Lote do Azure
Microsoft.Batch/batchAccounts/jobs/* Criar e gerenciar trabalhos em uma conta do Lote.
NotDataActions
none
{
    "assignableScopes": [
        "/"
    ],
    "description": "Grants permissions to manage Batch pools and jobs but not to modify accounts.",
    "id": "/providers/Microsoft.Authorization/roleDefinitions/6aaa78f1-f7de-44ca-8722-c64a23943cae",
    "permissions": [
        {
            "actions": [
                "Microsoft.Authorization/*/read",
                "Microsoft.Batch/batchAccounts/read",
                "Microsoft.Batch/batchAccounts/applications/*",
                "Microsoft.Batch/batchAccounts/certificates/*",
                "Microsoft.Batch/batchAccounts/certificateOperationResults/*",
                "Microsoft.Batch/batchAccounts/pools/*",
                "Microsoft.Batch/batchAccounts/poolOperationResults/*",
                "Microsoft.Batch/locations/*/read",
                "Microsoft.Insights/alertRules/*",
                "Microsoft.Resources/deployments/*",
                "Microsoft.Resources/subscriptions/resourceGroups/read"
            ],
            "dataActions": [
                "Microsoft.Batch/batchAccounts/jobSchedules/*",
                "Microsoft.Batch/batchAccounts/jobs/*"
            ],
            "notActions": [],
            "notDataActions": []
        }
    ],
    "roleName": "Azure Batch Data Contributor",
    "roleType": "BuiltInRole",
    "type": "Microsoft.Authorization/roleDefinitions"
}

Remetente de Trabalho do Lote do Azure

Permite enviar e gerenciar trabalhos na conta do Lote.

Ações Descrição
Microsoft.Batch/batchAccounts/applications/read Lista aplicativos ou obtém as propriedades de um aplicativo.
Microsoft.Batch/batchAccounts/applications/versions/read Obtém as propriedades de um pacote de aplicativos.
Microsoft.Batch/pools/read Lista pools em uma conta do Lote ou obtém as propriedades de um pool.
Microsoft.Insights/alertRules/* Criar e gerenciar um alerta de métrica clássico.
Microsoft.Resources/subscriptions/resourceGroups/read Obter ou listar de grupos de recursos.
NotActions
none
DataActions
Microsoft.Batch/batchAccounts/jobSchedules/* Criar e gerenciar agendas de trabalho no Lote do Azure
Microsoft.Batch/batchAccounts/jobs/* Criar e gerenciar trabalhos em uma conta do Lote.
NotDataActions
none
{
    "assignableScopes": [
        "/"
    ],
    "description": "Lets you submit and manage jobs in the Batch account.",
    "id": "/providers/Microsoft.Authorization/roleDefinitions/48e5e92e-a480-4e71-aa9c-2778f4c13781",
    "permissions": [
        {
            "actions": [
                "Microsoft.Batch/batchAccounts/applications/read",
                "Microsoft.Batch/batchAccounts/applications/versions/read",
                "Microsoft.Batch/batchAccounts/pools/read",
                "Microsoft.Insights/alertRules/*",
                "Microsoft.Resources/subscriptions/resourceGroups/read"
            ],
            "dataActions": [
                "Microsoft.Batch/batchAccounts/jobSchedules/*",
                "Microsoft.Batch/batchAccounts/jobs/*"
            ],
            "notActions": [],
            "notDataActions": []
        }
    ],
    "roleName": "Azure Batch Job Submitter",
    "roleType": "BuiltInRole",
    "type": "Microsoft.Authorization/roleDefinitions"
}

Atribuir uma função personalizada

Se as funções internas do Lote do Azure não atenderem às suas necessidades, as funções personalizadas do Azure poderão ser usadas para conceder permissão granular a um usuário para enviar trabalhos, tarefas e muito mais. É possível usar uma função personalizada para conceder ou negar permissões a um Microsoft Entra ID para as operações de RBAC do Lote do Azure a seguir.

  • Microsoft.Batch/batchAccounts/pools/write
  • Microsoft.Batch/batchAccounts/pools/delete
  • Microsoft.Batch/batchAccounts/pools/read
  • Microsoft.Batch/batchAccounts/jobSchedules/write
  • Microsoft.Batch/batchAccounts/jobSchedules/delete
  • Microsoft.Batch/batchAccounts/jobSchedules/read
  • Microsoft.Batch/batchAccounts/jobs/write
  • Microsoft.Batch/batchAccounts/jobs/delete
  • Microsoft.Batch/batchAccounts/jobs/read
  • Microsoft.Batch/batchAccounts/certificates/write
  • Microsoft.Batch/batchAccounts/certificates/delete
  • Microsoft.Batch/batchAccounts/certificates/read
  • Microsoft.Batch/batchAccounts/applications/write
  • Microsoft.Batch/batchAccounts/applications/delete
  • Microsoft.Batch/batchAccounts/applications/read
  • Microsoft.Batch/batchAccounts/applications/versions/write
  • Microsoft.Batch/batchAccounts/applications/versions/delete
  • Microsoft.Batch/batchAccounts/applications/versions/read
  • Microsoft.Batch/batchAccounts/read para qualquer operação de leitura
  • Microsoft.Batch/batchAccounts/listKeys/action para qualquer operação

Dica

Os trabalhos que usam pool automático exigem permissões de gravação no nível do pool.

Observação

Certas atribuições de função precisam ser definidas no campo actions, enquanto outras precisam ser especificadas no campo dataActions. Você precisa examinar actions e dataActions para entender o escopo completo dos recursos atribuídos a uma função. Para obter mais informações, consulte Operações do provedor de recursos do Azure.

O exemplo a seguir mostra uma definição de função personalizada do Lote do Azure:

{
 "properties":{
    "roleName":"Azure Batch Custom Job Submitter",
    "type":"CustomRole",
    "description":"Allows a user to submit autopool jobs to Azure Batch",
    "assignableScopes":[
      "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    ],
    "permissions":[
      {
        "actions":[
          "Microsoft.Batch/*/read",
          "Microsoft.Batch/batchAccounts/pools/write",
          "Microsoft.Batch/batchAccounts/pools/delete",
          "Microsoft.Authorization/*/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Support/*",
          "Microsoft.Insights/alertRules/*"
        ],
        "notActions":[

        ],
        "dataActions":[
          "Microsoft.Batch/batchAccounts/jobs/*",
          "Microsoft.Batch/batchAccounts/jobSchedules/*"
        ],
        "notDataActions":[

        ]
      }
    ]
  }
}

Próximas etapas