Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tożsamości zarządzane dla zasobów Azure upraszczają zarządzanie tożsamościami i poświadczeniami, dostarczając zasobom Azure tożsamość w Microsoft Entra ID (Azure AD ID). Ta tożsamość służy do uzyskiwania tokenów usługi Microsoft Entra do uwierzytelniania za pomocą zasobów docelowych na platformie Azure.
Podczas dodawania zarządzanej tożsamości przypisanej użytkownikowi do puli usługi Batch kluczowe jest ustawienie właściwości Identity w konfiguracji. Ta właściwość łączy tożsamość zarządzaną z pulą, umożliwiając jej bezpieczny dostęp do zasobów platformy Azure. Nieprawidłowe ustawienie właściwości Identity może spowodować typowe błędy, takie jak problemy z dostępem lub błędy przekazywania.
Aby uzyskać więcej informacji na temat konfigurowania tożsamości zarządzanych w usłudze Azure Batch, proszę zapoznać się z dokumentacją Azure Batch Managed Identities.
W tym temacie wyjaśniono, jak włączyć użytkownikowi przypisane tożsamości zarządzane w pulach usługi Batch oraz jak używać tożsamości zarządzanych na węzłach.
Ważne
Tworzenie pul z zarządzanymi tożsamościami można wykonywać tylko za pomocą API płaszczyzny zarządzania Batch lub 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, przejrzyj dokumentację przeglądową dotyczącą interfejsów API i narzędzi usługi Batch.
Tworzenie tożsamości zarządzanej przypisanej przez użytkownika
Najpierw utwórz zarządzaną tożsamość przypisaną przez użytkownika w tej samej dzierżawie co konto Batch. Tożsamość można utworzyć przy użyciu portalu Azure, interfejsu wiersza polecenia Azure (CLI), programu PowerShell, usługi Azure Resource Manager lub interfejsu API REST 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.
Utwórz pulę 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:
- Użyj portalu Azure do utworzenia puli usługi Batch
- Użyj biblioteki zarządzania Batch .NET, aby utworzyć pulę 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 Batch w portalu Azure
Aby utworzyć pulę usługi Batch z tożsamością zarządzaną przypisaną przez użytkownika za pośrednictwem portalu platformy Azure:
- Zaloguj się w witrynie Azure Portal.
- Na pasku wyszukiwania wprowadź i wybierz pozycję Konta Batch.
- Na stronie Konta usługi Batch wybierz konto, na którym chcesz utworzyć pulę Batch.
- W menu konta usługi Batch, w obszarze Funkcje, wybierz Pule.
- W menu Pule wybierz pozycję Dodaj, aby dodać nową pulę usługi Batch.
- Wprowadź identyfikator dla swojej puli w polu 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.
Uwaga
Jednocześnie można przypisać tylko jedną tożsamość zarządzaną zarówno dla poziomu konta automatycznego przechowywania, jak i poziomu konta wsadowego. Jednak na poziomie puli masz elastyczność korzystania z wielu tożsamości zarządzanych przypisanych przez użytkownika.
- 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 Pliki zasobów i dodaj informacje o kontenerze magazynu.
- Włącz ustawienia kontenera.
- Zmień Rejestr kontenerów na niestandardowy
- Dla odniesienia tożsamości wybierz kontener przechowywania.
Utwórz pulę 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;
Uwaga
Aby uwzględnić właściwość Identity , użyj następującego przykładowego kodu:
var pool = batchClient.PoolOperations.CreatePool(
poolId: "myPool",
virtualMachineSize: "STANDARD_D2_V2",
cloudServiceConfiguration: new CloudServiceConfiguration(osFamily: "4"),
targetDedicatedNodes: 1,
identity: new PoolIdentity(
type: PoolIdentityType.UserAssigned,
userAssignedIdentities: new Dictionary<string, UserAssignedIdentity>
{
{ "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}", new UserAssignedIdentity() }
}
));
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 pomocą usługi Microsoft Entra poprzez 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.