Konfigurace spravovaných identit ve fondech služby Batch

Spravované identity pro prostředky Azure eliminují složitou správu identit a přihlašovacích údajů tím, že poskytují identitu pro prostředek Azure v Microsoft Entra ID (Azure AD ID). Tato identita se používá k získání tokenů Microsoft Entra k ověření s cílovými prostředky v Azure.

Toto téma vysvětluje, jak povolit spravované identity přiřazené uživatelem ve fondech služby Batch a jak používat spravované identity v uzlech.

Důležité

Fondy musí být nakonfigurované pomocí konfigurace virtuálního počítače, aby bylo možné používat spravované identity.

Vytváření fondů se spravovanými identitami je možné provádět pomocí knihovny pro správu Batch .NET, ale v současné době se nepodporuje s klientskou knihovnou Batch .NET.

Vytvoření spravované identity přiřazené uživatelem

Nejprve vytvořte spravovanou identitu přiřazenou uživatelem ve stejném tenantovi jako účet Batch. Identitu můžete vytvořit pomocí webu Azure Portal, rozhraní příkazového řádku Azure (Azure CLI), PowerShellu, Azure Resource Manageru nebo rozhraní Azure REST API. Tato spravovaná identita nemusí být ve stejné skupině prostředků ani ve stejném předplatném.

Tip

Spravovanou identitu přiřazenou systémem vytvořenou pro účet Batch pro šifrování zákaznických dat nelze použít jako spravovanou identitu přiřazenou uživatelem ve fondu batch, jak je popsáno v tomto dokumentu. Pokud chcete použít stejnou spravovanou identitu v účtu Batch i ve fondu Batch, použijte místo toho společnou spravovanou identitu přiřazenou uživatelem.

Vytvoření fondu Batch se spravovanými identitami přiřazenými uživatelem

Po vytvoření jedné nebo více spravovaných identit přiřazených uživatelem můžete vytvořit fond Batch s danou identitou nebo těmito identitami. Můžete provádět následující akce:

Upozorňující

Místní aktualizace spravovaných identit fondu nejsou podporovány, pokud má fond aktivní uzly. Stávající výpočetní uzly se nebudou aktualizovat o změny. Před úpravou kolekce identit doporučujeme vertikálně snížit kapacitu fondu na nula výpočetních uzlů, aby se zajistilo, že všechny virtuální počítače mají přiřazenou stejnou sadu identit.

Vytvoření fondu Batch na webu Azure Portal

Vytvoření fondu Batch se spravovanou identitou přiřazenou uživatelem prostřednictvím webu Azure Portal:

  1. Přihlaste se k portálu Azure.
  2. Na panelu hledání zadejte a vyberte účty Batch.
  3. Na stránce účty Batch vyberte účet Batch, ve kterém chcete vytvořit fond Batch.
  4. V nabídce účtu Batch v části Funkce vyberte Fondy.
  5. V nabídce Fondy vyberte Přidat a přidejte nový fond Batch.
  6. Jako ID fondu zadejte identifikátor fondu.
  7. U identity změňte nastavení na Přiřazené uživatelem.
  8. V části Spravovaná identita přiřazená uživatelem vyberte Přidat.
  9. Vyberte spravovanou identitu nebo identity přiřazené uživatelem, které chcete použít. Pak vyberte Přidat.
  10. V části Operační systém vyberte vydavatele, nabídku a skladovou položku, které chcete použít.
  11. Volitelně povolte spravovanou identitu v registru kontejneru:
    1. V případě konfigurace kontejneru změňte nastavení na Vlastní. Pak vyberte vlastní konfiguraci.
    2. Pro zahájení úkolu vyberte Povoleno. Pak vyberte Soubory prostředků a přidejte informace o kontejneru úložiště.
    3. Povolte nastavení kontejneru.
    4. Změna registru kontejneru na vlastní
    5. Jako referenční informace k identitě vyberte kontejner úložiště.

Vytvoření fondu Batch pomocí .NET

Pokud chcete vytvořit fond Batch se spravovanou identitou přiřazenou uživatelem pomocí knihovny pro správu Batch .NET, použijte následující ukázkový kód:

var poolParameters = new Pool(name: "yourPoolName")
    {
        VmSize = "standard_d2_v3",
        ScaleSettings = new ScaleSettings
        {
            FixedScale = new FixedScaleSettings
            {
                TargetDedicatedNodes = 1
            }
        },
        DeploymentConfiguration = new DeploymentConfiguration
        {
            VirtualMachineConfiguration = new VirtualMachineConfiguration(
                new ImageReference(
                    "Canonical",
                    "0001-com-ubuntu-server-jammy",
                    "22_04-lts",
                    "latest"),
                "batch.node.ubuntu 22.04")
        },
        Identity = new BatchPoolIdentity
        {
            Type = PoolIdentityType.UserAssigned,
            UserAssignedIdentities = new Dictionary<string, UserAssignedIdentities>
            {
                ["Your Identity Resource Id"] =
                    new UserAssignedIdentities()
            }
        }
    };

var pool = await managementClient.Pool.CreateWithHttpMessagesAsync(
    poolName:"yourPoolName",
    resourceGroupName: "yourResourceGroupName",
    accountName: "yourAccountName",
    parameters: poolParameters,
    cancellationToken: default(CancellationToken)).ConfigureAwait(false);

Použití spravovaných identit přiřazených uživatelem v uzlech Batch

Mnoho funkcí Azure Batch, které přistupují k dalším prostředkům Azure přímo na výpočetních uzlech, jako je Azure Storage nebo Azure Container Registry, podporují spravované identity. Další informace o používání spravovaných identit se službou Azure Batch najdete na následujících odkazech:

Úlohy můžete také nakonfigurovat ručně, aby spravované identity mohly přímo přistupovat k prostředkům Azure, které podporují spravované identity.

V uzlech Batch můžete získat tokeny spravované identity a použít je k ověření prostřednictvím ověřování Microsoft Entra prostřednictvím služby Azure Instance Metadata Service.

Skript PowerShellu pro získání přístupového tokenu k ověření ve Windows je následující:

$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"}

Pro Linux je skript Bash následující:

curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -H Metadata:true

Další informace najdete v tématu Použití spravovaných identit pro prostředky Azure na virtuálním počítači Azure k získání přístupového tokenu.

Další kroky