Partilhar via


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

O Azure Batch Service dá suporte a um conjunto de funções internas do Azure que fornecem diferentes níveis de permissões para a conta do Azure Batch. Usando o controle de acesso baseado em função do Azure (Azure RBAC), 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 Batch. Você também pode atribuir funções personalizadas com permissões personalizadas e refinadas que adaptam seu cenário de uso específico.

Nota

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

Atribuir o 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 obter etapas detalhadas, consulte Atribuir funções do Azure usando o portal do Azure.

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

    Gorjeta

    Você também pode configurar o RBAC do Azure para grupos de recursos inteiros, assinaturas ou grupos de gerenciamento. Faça isso selecionando o nível de escopo desejado e, em seguida, navegando até o item desejado. Por exemplo, selecionando Grupos de recursos e, em seguida, navegando para 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, procure e selecione um usuário, grupo, entidade de serviço ou identidade gerenciada e selecione Selecionar.

    Nota

    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 Rever + 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 em lote.

Funções RBAC internas do Azure Batch

O Lote do Azure tem algumas funções predefinidas para abordar cenários de usuário comuns, garantindo que os níveis de acesso apropriados na conta do Lote do Azure possam ser atribuídos de forma eficiente a uma identidade para sua tarefa específica.

Função incorporada Description ID
Azure Batch Account Contributor Concede acesso total para gerenciar todos os recursos do Batch, incluindo contas, pools e trabalhos do Batch. 29FE4964-1E60-436B-BD3A-77FD4C178B3C
Azure Batch Account Reader Permite visualizar todos os recursos, incluindo pools e trabalhos na conta Batch. 11076f67-66f6-4be0-8f6b-f0609fd05cc9
Azure Batch Data Contributor Concede permissões para gerenciar pools de lotes e trabalhos, mas não para modificar contas. 6AAA78F1-F7DE-44CA-8722-C64A23943CAE
Azure Batch Job Submitter Permite enviar e gerenciar trabalhos na conta do Batch. 48E5E92E-A480-4E71-AA9C-2778F4C13781
Permissões Azure Batch Account Contributor Azure Batch Account Reader Azure Batch Data Contributor Azure Batch Job Submitter
Listar contas de lote ou exibir propriedades de uma conta de lote
Criar, atualizar ou excluir uma conta Batch
Listar chaves de acesso para uma conta Batch
Regenerar chaves de acesso para uma conta Batch
Listar ou exibir propriedades de aplicativos e pacotes de aplicativos em uma conta de lote
Criar, atualizar ou excluir aplicativos e pacotes de aplicativos em uma conta Batch
Listar ou exibir propriedades de certificados em uma conta de lote
Criar, atualizar ou excluir certificados em uma conta de lote
Listar ou exibir propriedades de pools em uma conta de lote
Criar, atualizar ou excluir pools em uma conta de lote
Listar ou exibir propriedades de trabalhos em uma conta de lote
Criar, atualizar ou excluir trabalhos em uma conta Batch
Listar ou exibir propriedades de agendas de trabalho em uma conta de lote
Criar, atualizar ou excluir agendas de trabalho em uma conta Batch

Aviso

O recurso de certificado de conta em lote foi desativado.

Azure Batch Account Contributor

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

Ações Descrição
Microsoft.Authorization/*/read Ler funções e atribuições de funções.
Microsoft.Insights/alertRules/* Crie e gerencie um alerta de métrica clássica.
Microsoft.Recursos/implantações/* Crie e gerencie uma implantação.
Microsoft.Resources/subscriptions/resourceGroups/read Obtém ou lista grupos de recursos.
Microsoft.Batch/batchAccounts/*
NotActions
nenhum
DataActions
Microsoft.Batch/batchAccounts/*
NotDataActions
nenhum
{
    "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"
}

Azure Batch Account Reader

Permite visualizar todos os recursos, incluindo pools e trabalhos na conta Batch.

Ações Description
Microsoft.Batch/batchAccounts/read Lista contas de lote ou obtém as propriedades de uma conta de lote.
Microsoft.Batch/batchAccounts/*/read Veja todos os recursos na conta do lote.
Microsoft.Resources/subscriptions/resourceGroups/read Obtém ou lista grupos de recursos.
NotActions
nenhum
DataActions
Microsoft.Batch/*/read Veja todos os recursos na conta do lote.
NotDataActions
nenhum
{
    "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"
}

Azure Batch Data Contributor

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

Ações Descrição
Microsoft.Authorization/*/read Ler funções e atribuições de funções.
Microsoft.Batch/batchAccounts/read Lista contas de lote ou obtém as propriedades de uma conta de lote.
Microsoft.Batch/batchAccounts/applications/* Crie e gerencie aplicativos e pacotes de aplicativos em uma conta Batch.
Microsoft.Batch/batchAccounts/certificates/* Crie e gerencie certificados em uma conta de lote.
Microsoft.Batch/batchAccounts/certificateOperationResults/* Obtém os resultados de uma operação de certificado de longa duração em uma conta de lote.
Microsoft.Batch/pools/* Crie e gerencie pools em uma conta de lote.
Microsoft.Batch/poolOperationResults/* Obtém os resultados de uma operação de pool de longa duração em uma conta de lote.
Microsoft.Batch/locations/*/read Obtenha o resultado da operação da conta de lote/cota de lote/tamanho de VM suportado no local determinado.
Microsoft.Insights/alertRules/* Crie e gerencie um alerta de métrica clássica.
Microsoft.Recursos/implantações/* Crie e gerencie uma implantação.
Microsoft.Resources/subscriptions/resourceGroups/read Obtém ou lista grupos de recursos.
NotActions
nenhum
DataActions
Microsoft.Batch/batchAccounts/jobSchedules/* Crie e gerencie agendas de trabalho em uma conta Batch.
Microsoft.Batch/batchAccounts/jobs/* Crie e gerencie trabalhos em uma conta Batch.
NotDataActions
nenhum
{
    "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"
}

Azure Batch Job Submitter

Permite enviar e gerenciar trabalhos na conta do Batch.

Ações Description
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 aplicativo.
Microsoft.Batch/pools/leitura Lista pools em uma conta de lote ou obtém as propriedades de um pool.
Microsoft.Insights/alertRules/* Crie e gerencie um alerta de métrica clássica.
Microsoft.Resources/subscriptions/resourceGroups/read Obtém ou lista grupos de recursos.
NotActions
nenhum
DataActions
Microsoft.Batch/batchAccounts/jobSchedules/* Crie e gerencie agendas de trabalho em uma conta Batch.
Microsoft.Batch/batchAccounts/jobs/* Crie e gerencie trabalhos em uma conta Batch.
NotDataActions
nenhum
{
    "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. Você pode usar uma função personalizada para conceder ou negar permissões a uma ID do Microsoft Entra para as seguintes operações do RBAC em lote do Azure.

  • 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/certificados/gravação
  • 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

Gorjeta

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

Nota

Algumas atribuições de função precisam ser especificadas no actions campo, enquanto outras precisam ser especificadas no dataActions campo. Você precisa examinar ambos actions e dataActions entender todo o escopo 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 Azure Batch:

{
 "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óximos passos