Konfigurieren verwalteter Identitäten in Azure Batch-Pools
Verwaltete Identitäten für Azure-Ressourcen machen eine komplizierte Identitäts- und Berechtigungsverwaltung überflüssig, indem sie eine Identität für die Azure-Ressource in Microsoft Entra ID (Azure AD ID) bereitstellen. Diese Identität wird verwendet, um Microsoft Entra-Token zu erhalten, um sich bei Zielressourcen in Azure zu authentifizieren.
In diesem Thema wird erläutert, wie Sie benutzerseitig zugewiesene verwaltete Identitäten auf Azure Batch-Pools aktivieren und verwaltete Identitäten innerhalb der Knoten verwenden.
Wichtig
Das Erstellen von Pools mit verwalteten Identitäten kann nur mit den Batchverwaltungsebene-APIs oder SDKs mit Entra-Authentifizierung ausgeführt werden. Es ist nicht möglich, Pools mit verwalteten Identitäten mithilfe der Batchdienst-APIs oder SDKs zu erstellen. Weitere Informationen finden Sie in der Übersichtsdokumentation für Batch-APIs und -Tools.
Erstellen einer benutzerseitig zugewiesenen verwalteten Identität
Erstellen Sie zunächst Ihre benutzerseitig zugewiesene verwaltete Identität im selben Mandanten wie Ihr Azure Batch-Konto. Sie können die Identität über das Azure-Portal, die Azure-Befehlszeilenschnittstelle (Azure CLI), PowerShell, Azure Resource Manager oder die Azure-REST-API erstellen. Diese verwaltete Identität muss sich nicht in der gleichen Ressourcengruppe oder sogar im gleichen Abonnement befinden.
Tipp
Eine systemseitig zugewiesene verwaltete Identität, die für ein Batch-Konto zur Verschlüsselung von Kundendaten erstellt wurde, kann nicht als benutzerseitig zugewiesene verwaltete Identität in einem Batch-Pool verwendet werden, wie in diesem Dokument beschrieben. Wenn Sie dieselbe verwaltete Identität sowohl für das Batch-Konto als auch für den Batch-Pool verwenden möchten, verwenden Sie stattdessen eine gemeinsame benutzerseitig zugewiesene verwaltete Identität.
Erstellen eines Azure Batch-Pools mit benutzerseitig zugewiesenen verwalteten Identitäten
Nachdem Sie eine oder mehrere benutzerseitig zugewiesene verwaltete Identitäten erstellt haben, können Sie einen Batch-Pool mit diesen Identitäten erstellen. Sie können Folgendes ausführen:
- Erstellen eines Batch-Pools über das Azure-Portal
- Erstellen eines Batch-Pools mithilfe der Batch-.NET-Verwaltungsbibliothek
Warnung
Direkte Aktualisierungen von verwalteten Poolidentitäten werden nicht unterstützt, während der Pool über aktive Knoten verfügt. Vorhandene Serverknoten werden nicht mit Änderungen aktualisiert. Es wird empfohlen, den Pool auf null Serverknoten zu skalieren, bevor Sie die Identitätssammlung ändern, um sicherzustellen, dass allen VMs derselbe Satz von Identitäten zugewiesen ist.
Erstellen eines Batch-Pools über das Azure-Portal
So erstellen Sie einen Batch-Pool mit einer benutzerseitig zugewiesenen verwalteten Identität über das Azure-Portal
- Melden Sie sich am Azure-Portal an.
- Geben Sie in die Suchleiste ein und wählen Sie Batch-Konten.
- Wählen Sie auf der Seite Batch-Konten das Batch-Konto aus, unter dem Sie einen Batch-Pool erstellen möchten.
- Wählen Sie im Menü für das Batch-Konto unter Funktionen die Option Pools aus.
- Wählen Sie im Menü Pools die Option Hinzufügen aus, um einen neuen Batch-Pool hinzuzufügen.
- Geben Sie als Pool-ID einen Bezeichner für Ihren Pool ein.
- Ändern Sie die Einstellung für Identität in Benutzerseitig zugewiesen.
- Wählen Sie unter Benutzerseitig zugewiesene verwaltete IdentitätHinzufügen aus.
- Wählen Sie die gewünschten benutzerseitig zugewiesenen verwalteten Identitäten aus. Klicken Sie anschließend auf Hinzufügen.
- Wählen Sie unter Betriebssystem den Herausgeber, das Angebot und die SKU aus, die verwendet werden sollen.
- Aktivieren Sie optional die verwaltete Identität in der Containerregistrierung:
- Ändern Sie die Einstellung für Containerkonfiguration in Benutzerdefiniert. Wählen Sie dann Ihre benutzerdefinierte Konfiguration aus.
- Wählen Sie für Starttask die Option Aktiviert aus. Wählen Sie dann Ressourcendateien aus, und fügen Sie die Informationen Ihres Speichercontainers hinzu.
- Aktivieren Sie Containereinstellungen.
- Ändern Sie die Containerregistrierung in Benutzerdefiniert.
- Wählen Sie für Identitätsverweis den Speichercontainer aus.
Erstellen eines Batch-Pools mit .NET
Verwenden Sie zum Erstellen eines Batch-Pools mit einer benutzerseitig zugewiesenen verwalteten Identität mit der Batch-.NET-Verwaltungsbibliothek den folgenden Beispielcode:
var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);
var batchAccountIdentifier = ResourceIdentifier.Parse("your-batch-account-resource-id");
BatchAccountResource batchAccount = _armClient.GetBatchAccountResource(batchAccountIdentifier);
var poolName = "HelloWorldPool";
var imageReference = new BatchImageReference()
{
Publisher = "canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest"
};
string nodeAgentSku = "batch.node.ubuntu 22.04";
var batchAccountPoolData = new BatchAccountPoolData()
{
VmSize = "Standard_DS1_v2",
DeploymentConfiguration = new BatchDeploymentConfiguration()
{
VmConfiguration = new BatchVmConfiguration(imageReference, nodeAgentSku)
},
ScaleSettings = new BatchAccountPoolScaleSettings()
{
FixedScale = new BatchAccountFixedScaleSettings()
{
TargetDedicatedNodes = 1
}
}
};
ArmOperation<BatchAccountPoolResource> armOperation = batchAccount.GetBatchAccountPools().CreateOrUpdate(
WaitUntil.Completed, poolName, batchAccountPoolData);
BatchAccountPoolResource pool = armOperation.Value;
Verwenden benutzerseitig zugeordneter verwalteter Identitäten in Azure Batch-Knoten
Viele Azure Batch-Funktionen, die direkt auf andere Azure-Ressourcen auf den Rechenknoten zugreifen, wie Azure Storage oder Azure Container Registry, unterstützen verwaltete Identitäten. Weitere Informationen zur Nutzung verwalteter Identitäten mit Azure Batch finden Sie unter folgenden Links:
Sie können Ihre Tasks auch manuell so konfigurieren, dass die verwalteten Identitäten direkt auf Azure-Ressourcen, die verwaltete Identitäten unterstützen zugreifen können.
Innerhalb der Azure Batch-Knoten können Sie Token der verwalteten Identität abrufen und zur Authentifizierung durch Microsoft Entra -Authentifizierung über den Azure Instance Metadata Service verwenden.
Für Windows lautet das PowerShell-Skript zum Abrufen eines Zugriffstokens für die Authentifizierung wie folgt:
$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -Method GET -Headers @{Metadata="true"}
Für Linux lautet das Bash-Skript wie folgt:
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -H Metadata:true
Weitere Informationen finden Sie unter Verwenden von verwalteten Identitäten für Azure-Ressourcen auf einem virtuellen Azure-Computer zum Abrufen eines Zugriffstokens.
Nächste Schritte
- Weitere Informationen zu verwalteten Identitäten für Azure-Ressourcen.
- Erfahren Sie, wie Sie vom Kunden verwaltete Schlüssel mit benutzerseitig verwalteten Identitäten verwenden.
- Erfahren Sie, wie Sie die automatische Zertifikatsrotation in einem Batch-Pool aktivieren.