Konfigurowanie tożsamości zarządzanych w pulach usługi Batch
Tożsamości zarządzane dla zasobów platformy Azure eliminują skomplikowane zarządzanie tożsamościami i poświadczeniami, zapewniając tożsamość zasobu platformy Azure w usłudze Microsoft Entra ID (identyfikator usługi Azure AD). Ta tożsamość służy do uzyskiwania tokenów usługi Microsoft Entra do uwierzytelniania za pomocą zasobów docelowych na platformie Azure.
W tym temacie wyjaśniono, jak włączyć tożsamości zarządzane przypisane przez użytkownika w pulach usługi Batch oraz jak używać tożsamości zarządzanych w węzłach.
Ważne
Tworzenie pul z tożsamościami zarządzanymi można wykonywać tylko za pomocą interfejsów API płaszczyzny zarządzania usługi Batch lub zestawów SDK przy użyciu uwierzytelniania Entra. Nie można tworzyć pul z tożsamościami zarządzanymi przy użyciu interfejsów API usługi Batch ani zestawów SDK. Aby uzyskać więcej informacji, zobacz dokumentację omówienia interfejsów API i narzędzi usługi Batch.
Tworzenie tożsamości zarządzanej przypisanej przez użytkownika
Najpierw utwórz tożsamość zarządzaną przypisaną przez użytkownika w tej samej dzierżawie co konto usługi Batch. Tożsamość można utworzyć przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure (interfejsu wiersza polecenia platformy Azure), programu PowerShell, usługi Azure Resource Manager lub interfejsu API REST platformy Azure. Ta tożsamość zarządzana nie musi znajdować się w tej samej grupie zasobów, a nawet w tej samej subskrypcji.
Napiwek
Tożsamość zarządzana przypisana przez system utworzona dla konta usługi Batch na potrzeby szyfrowania danych klienta nie może być używana jako tożsamość zarządzana przypisana przez użytkownika w puli usługi Batch zgodnie z opisem w tym dokumencie. Jeśli chcesz użyć tej samej tożsamości zarządzanej zarówno na koncie usługi Batch, jak i w puli usługi Batch, użyj zamiast tego wspólnej tożsamości zarządzanej przypisanej przez użytkownika.
Tworzenie puli usługi Batch z tożsamościami zarządzanymi przypisanymi przez użytkownika
Po utworzeniu co najmniej jednej tożsamości zarządzanej przypisanej przez użytkownika można utworzyć pulę usługi Batch przy użyciu tej tożsamości lub tych tożsamości. Masz następujące możliwości:
- Tworzenie puli usługi Batch przy użyciu witryny Azure Portal
- Tworzenie puli usługi Batch przy użyciu biblioteki zarządzania platformy .NET usługi Batch
Ostrzeżenie
Aktualizacje tożsamości zarządzanych w miejscu puli nie są obsługiwane, gdy pula ma aktywne węzły. Istniejące węzły obliczeniowe nie zostaną zaktualizowane o zmiany. Zaleca się skalowanie puli w dół do zera węzłów obliczeniowych przed zmodyfikowaniem kolekcji tożsamości, aby upewnić się, że wszystkie maszyny wirtualne mają przypisany ten sam zestaw tożsamości.
Tworzenie puli usługi Batch w witrynie Azure Portal
Aby utworzyć pulę usługi Batch z tożsamością zarządzaną przypisaną przez użytkownika za pośrednictwem witryny Azure Portal:
- Zaloguj się w witrynie Azure Portal.
- Na pasku wyszukiwania wprowadź i wybierz pozycję Konta usługi Batch.
- Na stronie Konta usługi Batch wybierz konto usługi Batch, na którym chcesz utworzyć pulę usługi Batch.
- W menu konta usługi Batch w obszarze Funkcje wybierz pozycję Pule.
- W menu Pule wybierz pozycję Dodaj, aby dodać nową pulę usługi Batch.
- W polu Identyfikator puli wprowadź identyfikator puli.
- W polu Tożsamość zmień ustawienie na Użytkownik przypisany.
- W obszarze Tożsamość zarządzana przypisana przez użytkownika wybierz pozycję Dodaj.
- Wybierz tożsamość zarządzaną lub tożsamości przypisane przez użytkownika, których chcesz użyć. Następnie wybierz pozycję Dodaj.
- W obszarze System operacyjny wybierz wydawcę, ofertę i jednostkę SKU do użycia.
- Opcjonalnie włącz tożsamość zarządzaną w rejestrze kontenerów:
- W polu Konfiguracja kontenera zmień ustawienie na Niestandardowe. Następnie wybierz konfigurację niestandardową.
- W obszarze Uruchom zadanie wybierz pozycję Włączone. Następnie wybierz pozycję Pliki zasobów i dodaj informacje o kontenerze magazynu.
- Włącz ustawienia kontenera.
- Zmień rejestr kontenerów na niestandardowy
- W polu Dokumentacja tożsamości wybierz kontener magazynu.
Tworzenie puli usługi Batch przy użyciu platformy .NET
Aby utworzyć pulę usługi Batch z tożsamością zarządzaną przypisaną przez użytkownika przy użyciu biblioteki zarządzania platformy .NET usługi Batch, użyj następującego przykładowego kodu:
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;
Używanie tożsamości zarządzanych przypisanych przez użytkownika w węzłach usługi Batch
Wiele funkcji usługi Azure Batch, które uzyskują dostęp do innych zasobów platformy Azure bezpośrednio w węzłach obliczeniowych, takich jak Azure Storage lub Azure Container Registry, obsługują tożsamości zarządzane. Aby uzyskać więcej informacji na temat korzystania z tożsamości zarządzanych w usłudze Azure Batch, zobacz następujące linki:
- Pliki zasobów
- Pliki wyjściowe
- Azure Container Registry
- System plików kontenera obiektów blob platformy Azure
Możesz również ręcznie skonfigurować zadania, aby tożsamości zarządzane mogły bezpośrednio uzyskiwać dostęp do zasobów platformy Azure obsługujących tożsamości zarządzane.
W węzłach usługi Batch można uzyskać tokeny tożsamości zarządzanej i używać ich do uwierzytelniania za pośrednictwem uwierzytelniania w usłudze Microsoft Entra za pośrednictwem usługi Azure Instance Metadata Service.
W przypadku systemu Windows skrypt programu PowerShell umożliwiający uzyskanie tokenu dostępu do uwierzytelniania jest następujący:
$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"}
W przypadku systemu Linux skrypt powłoki Bash to:
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -H Metadata:true
Aby uzyskać więcej informacji, zobacz How to use managed identities for Azure resources on an Azure VM to acquire an access token (Jak używać tożsamości zarządzanych dla zasobów platformy Azure na maszynie wirtualnej platformy Azure w celu uzyskania tokenu dostępu).
Następne kroki
- Dowiedz się więcej o tożsamościach zarządzanych dla zasobów platformy Azure.
- Dowiedz się, jak używać kluczy zarządzanych przez klienta z tożsamościami zarządzanymi przez użytkownika.
- Dowiedz się, jak włączyć automatyczną rotację certyfikatów w puli usługi Batch.