Freigeben über


Rollenbasierte Zugriffssteuerung für Azure Batch-Dienst

Der Azure Batch-Dienst unterstützt mehrere integrierte Azure-Rollen, die unterschiedliche Berechtigungsstufen für ein Azure Batch-Konto bereitstellen. Mithilfe der rollenbasierten Zugriffssteuerung in Azure (Azure RBAC), einem Autorisierungssystem für die Verwaltung des individuellen Zugriffs auf Azure-Ressourcen, können Sie Benutzern, Dienstprinzipalen oder anderen Identitäten, die mit Ihrem Batch-Konto interagieren müssen, bestimmte Berechtigungen zuweisen. Sie können auch benutzerdefinierte Rollen mit benutzerdefinierten, abgestimmten Berechtigungen zuweisen, die sich an Ihr spezifisches Verwendungsszenario anpassen lassen.

Hinweis

Alle RBAC-Rollen (sowohl integrierte als auch benutzerdefinierte) gelten für Benutzer, die von Microsoft Entra ID authentifiziert werden, nicht für die Batch-Anmeldeinformationen mit freigegebenem Schlüssel. Batch-Anmeldeinformationen mit freigegebenem Schlüssel gewähren die volle Berechtigung für das Batch-Konto.

Zuweisen von Azure RBAC

Führen Sie die folgenden Schritte aus, um einem Benutzer, einer Gruppe, einem Dienstprinzipal oder einer verwalteten Identität eine Azure RBAC-Rolle zuzuweisen. Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.

  1. Navigieren Sie im Azure-Portal zu Ihrem spezifischen Batch-Konto.

    Tipp

    Sie können die Azure RBAC auch für ganze Ressourcengruppen, Abonnements oder Verwaltungsgruppen einrichten. Wählen Sie hierzu die gewünschte Bereichsebene aus, und navigieren Sie dann zum gewünschten Element. Wählen Sie z. B. Ressourcengruppen aus, und navigieren Sie dann zu einer bestimmten Ressourcengruppe.

  2. Wählen Sie im linken Navigationsbereich auf Zugriffssteuerung (IAM) .

  3. Wählen Sie auf der Seite Zugriffssteuerung (IAM) die Option Rollenzuweisung hinzufügen aus.

  4. Wählen Sie auf der Seite Rollenzuweisung hinzufügen die Registerkarte Rolle aus, und wählen Sie dann eine der in Azure Batch integrierten RBAC-Rollen aus.

  5. Wählen Sie die Registerkarte Mitglieder und dann unter Mitglieder die Option Mitglieder auswählen aus.

  6. Wählen Sie auf dem Bildschirm Mitglieder auswählen einen Benutzer, eine Gruppe, einen Dienstprinzipal oder eine verwaltete Identität aus, und wählen Sie dann Auswählen aus.

    Hinweis

    Wenn Sie eine Anwendung für die Authentifizierung von Azure Batch-Diensten mit Dienstprinzipal konfigurieren, suchen und wählen Sie hier Ihre Anwendung aus, um den Zugriff und die Berechtigungen für das Azure Batch-Konto zu konfigurieren.

  7. Wählen Sie auf der Seite Rollenzuweisung hinzufügen die Option Überprüfen + zuweisen aus.

Die Zielidentität sollte jetzt auf der Registerkarte Rollenzuweisungen auf der Seite Zugriffssteuerung (IAM) des Batch-Kontos angezeigt werden.

In Azure Batch integrierte RBAC-Rollen

Azure Batch verfügt über einige vordefinierte Rollen für allgemeine Benutzerszenarien, um sicherzustellen, dass geeignete Zugriffsebenen für das Azure Batch-Konto einer Identität für die jeweilige Aufgabe effizient zugewiesen werden können.

Integrierte Rolle BESCHREIBUNG ID
Mitwirkender des Azure Batch-Kontos Gewährt Vollzugriff auf die Verwaltung aller Batch-Ressourcen, einschließlich Batch-Konten, Pools und Aufträgen. 29fe4964-1e60-436b-bd3a-77fd4c178b3c
Leser des Azure Batch-Kontos Hiermit können Sie alle Ressourcen einschließlich Pools und Aufträgen im Batch-Konto anzeigen. 11076f67-66f6-4be0-8f6b-f0609fd05cc9
Azure Batch-Datenmitwirkender Gewährt Berechtigungen zum Verwalten von Batchpools und Aufträgen, aber nicht zum Ändern von Konten. 6aaa78f1-f7de-44ca-8722-c64a23943cae
Übermittler von Azure Batch-Aufträgen Hiermit können Sie Aufträge im Batch-Konto übermitteln und verwalten. 48e5e92e-a480-4e71-aa9c-2778f4c13781
Berechtigungen Mitwirkender des Azure Batch-Kontos Leser des Azure Batch-Kontos Azure Batch-Datenmitwirkender Übermittler von Azure Batch-Aufträgen
Auflisten von Batch-Konten oder Anzeigen von Eigenschaften eines Batch-Kontos
Erstellen, Aktualisieren oder Löschen eines Batch-Kontos
Auflisten von Zugriffsschlüsseln für ein Batch-Konto
Neugenerieren von Zugriffsschlüsseln für ein Batch-Konto
Auflisten oder Anzeigen von Eigenschaften von Anwendungen und Anwendungspaketen in einem Batch-Konto
Erstellen, Aktualisieren oder Löschen von Anwendungen und Anwendungspaketen in einem Batch-Konto
Auflisten oder Anzeigen von Eigenschaften von Zertifikaten in einem Batch-Konto
Erstellen, Aktualisieren oder Löschen von Zertifikaten in einem Batch-Konto
Auflisten oder Anzeigen von Eigenschaften von Pools in einem Batch-Konto
Erstellen, Aktualisieren oder Löschen von Pools in einem Batch-Konto
Auflisten oder Anzeigen von Eigenschaften von Aufträgen in einem Batch-Konto
Erstellen, Aktualisieren oder Löschen von Aufträgen in einem Batch-Konto
Auflisten oder Anzeigen von Eigenschaften von Auftragszeitplänen in einem Batch-Konto
Erstellen, Aktualisieren oder Löschen von Auftragszeitplänen in einem Batch-Konto

Warnung

Das Feature „Batch-Kontozertifikat” wurde eingestellt.

Mitwirkender des Azure Batch-Kontos

Gewährt Vollzugriff auf die Verwaltung aller Batch-Ressourcen, einschließlich Batch-Konten, Pools und Aufträgen.

Aktionen Beschreibung
Microsoft.Authorization/*/read Lesen von Rollen und Rollenzuweisungen
Microsoft.Insights/alertRules/* Erstellen und Verwalten einer klassischen Metrikwarnung.
Microsoft.Resources/deployments/* Erstellen und Verwalten einer Bereitstellung
Microsoft.Resources/subscriptions/resourceGroups/read Ruft Ressourcengruppen ab oder listet sie auf.
Microsoft.Batch/batchAccounts/*
NotActions
keine
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"
}

Leser des Azure Batch-Kontos

Hiermit können Sie alle Ressourcen einschließlich Pools und Aufträgen im Batch-Konto anzeigen.

Aktionen Beschreibung
Microsoft.Batch/batchAccounts/read Listet Batch-Konten auf oder ruft die Eigenschaften eines Batch-Kontos ab.
Microsoft.Batch/batchAccounts/*/read Alle Ressourcen im Batch-Konto anzeigen.
Microsoft.Resources/subscriptions/resourceGroups/read Ruft Ressourcengruppen ab oder listet sie auf.
NotActions
keine
DataActions
Microsoft.Batch/*/read Alle Ressourcen im Batch-Konto anzeigen.
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"
}

Azure Batch-Datenmitwirkender

Gewährt Berechtigungen zum Verwalten von Batchpools und Aufträgen, aber nicht zum Ändern von Konten.

Aktionen Beschreibung
Microsoft.Authorization/*/read Lesen von Rollen und Rollenzuweisungen
Microsoft.Batch/batchAccounts/read Listet Batch-Konten auf oder ruft die Eigenschaften eines Batch-Kontos ab.
Microsoft.Batch/batchAccounts/applications/* Erstellen und Verwalten von Anwendungen und Anwendungspaketen in einem Batch-Konto.
Microsoft.Batch/batchAccounts/certificates/* Erstellen und Verwalten von Zertifikaten in einem Batch-Konto.
Microsoft.Batch/batchAccounts/certificateOperationResults/* Ruft die Ergebnisse eines lange andauernden Zertifikatvorgangs für ein Batch-Konto ab.
Microsoft.Batch/pools/* Erstellen und Verwalten von Pools in einem Batch-Konto.
Microsoft.Batch/poolOperationResults/* Ruft die Ergebnisse eines lange andauernden Poolvorgangs für ein Batch-Konto ab.
Microsoft.Batch/locations/*/read Abrufen des Ergebnisses des Batch-Kontovorgangs/des Batch-Kontingents/der unterstützten VM-Größe am angegebenen Speicherort.
Microsoft.Insights/alertRules/* Erstellen und Verwalten einer klassischen Metrikwarnung.
Microsoft.Resources/deployments/* Erstellen und Verwalten einer Bereitstellung
Microsoft.Resources/subscriptions/resourceGroups/read Ruft Ressourcengruppen ab oder listet sie auf.
NotActions
keine
DataActions
Microsoft.Batch/batchAccounts/jobSchedules/* Erstellen und Verwalten von Auftragszeitplänen in einem Batch-Konto.
Microsoft.Batch/batchAccounts/jobs/* Erstellen und Verwalten von Aufträgen in einem Batch-Konto.
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"
}

Übermittler von Azure Batch-Aufträgen

Hiermit können Sie Aufträge im Batch-Konto übermitteln und verwalten.

Aktionen Beschreibung
Microsoft.Batch/batchAccounts/applications/read Listet Anwendungen auf oder ruft die Eigenschaften einer Anwendung ab.
Microsoft.Batch/batchAccounts/applications/versions/read Ruft die Eigenschaften eines Anwendungspakets ab.
Microsoft.Batch/pools/read Listet Pools in einem Batch-Konto auf oder ruft die Eigenschaften eines Pools ab.
Microsoft.Insights/alertRules/* Erstellen und Verwalten einer klassischen Metrikwarnung.
Microsoft.Resources/subscriptions/resourceGroups/read Ruft Ressourcengruppen ab oder listet sie auf.
NotActions
keine
DataActions
Microsoft.Batch/batchAccounts/jobSchedules/* Erstellen und Verwalten von Auftragszeitplänen in einem Batch-Konto.
Microsoft.Batch/batchAccounts/jobs/* Erstellen und Verwalten von Aufträgen in einem Batch-Konto.
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"
}

Zuweisen einer benutzerdefinierten Rolle

Wenn die integrierten Azure Batch-Rollen Ihre Anforderungen nicht erfüllen, können benutzerdefinierte Azure-Rollen verwendet werden, um einem Benutzer präzise Berechtigungen für das Übermitteln von Aufträgen, Aufgaben und mehr zu erteilen. Sie können eine benutzerdefinierte Rolle verwenden, um einem Benutzer, einer Gruppe oder einem Dienstprinzipal in Microsoft Entra ID Berechtigungen für die folgenden Azure Batch-RBAC-Vorgänge zu erteilen oder zu verweigern:

  • 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, für alle Lesevorgänge
  • Microsoft.Batch/batchAccounts/listKeys/action, für alle Vorgänge

Tipp

Aufträge, die den automatischen Pool verwenden, erfordern Schreibberechtigungen auf Poolebene.

Hinweis

Bestimmte Rollenzuweisungen müssen im actions-Feld angegeben werden während andere Rollen im dataActions-Feld angegeben werden müssen. Sie müssen sowohl actions als auch dataActions untersuchen, um den vollständigen Umfang der Funktionen zu verstehen, die einer Rolle zugewiesen sind. Weitere Informationen finden Sie unter Vorgänge mit dem Azure-Ressourcenanbieter.

Das folgende Beispiel zeigt eine benutzerdefinierte Azure Batch-Rollendefinition:

{
 "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":[

        ]
      }
    ]
  }
}

Nächste Schritte