Batch havuzlarında yönetilen kimlikleri yapılandırma

Azure kaynakları için yönetilen kimlikler, Microsoft Entra ID'de (Azure AD Kimliği) Azure kaynağı için bir kimlik sağlayarak karmaşık kimlik ve kimlik bilgisi yönetimini ortadan kaldırır. Bu kimlik, Azure'daki hedef kaynaklarla kimlik doğrulaması yapmak üzere Microsoft Entra belirteçlerini almak için kullanılır.

Bu konuda Batch havuzlarında kullanıcı tarafından atanan yönetilen kimliklerin nasıl etkinleştirileceği ve düğümler içinde yönetilen kimliklerin nasıl kullanılacağı açıklanmaktadır.

Önemli

Yönetilen kimliklerin kullanılabilmesi için havuzların Sanal Makine Yapılandırması kullanılarak yapılandırılması gerekir.

Yönetilen kimliklerle havuz oluşturma işlemi Batch .NET yönetim kitaplığı kullanılarak yapılabilir, ancak şu anda Batch .NET istemci kitaplığında desteklenmez.

Kullanıcı tarafından atanan yönetilen kimlik oluşturma

İlk olarak, Batch hesabınızla aynı kiracıda kullanıcı tarafından atanan yönetilen kimliğinizi oluşturun. Kimliği Azure portalı, Azure Komut Satırı Arabirimi (Azure CLI), PowerShell, Azure Resource Manager veya Azure REST API'sini kullanarak oluşturabilirsiniz. Bu yönetilen kimliğin aynı kaynak grubunda, hatta aynı abonelikte olması gerekmez.

İpucu

Müşteri veri şifrelemesi için Batch hesabı için oluşturulan sistem tarafından atanan yönetilen kimlik, bu belgede açıklandığı gibi batch havuzunda kullanıcı tarafından atanan yönetilen kimlik olarak kullanılamaz. Hem Batch hesabında hem de Batch havuzunda aynı yönetilen kimliği kullanmak istiyorsanız, bunun yerine kullanıcı tarafından atanan ortak bir yönetilen kimlik kullanın.

Kullanıcı tarafından atanan yönetilen kimliklerle Batch havuzu oluşturma

Kullanıcı tarafından atanan bir veya daha fazla yönetilen kimlik oluşturduktan sonra, bu kimlikle veya bu kimliklerle bir Batch havuzu oluşturabilirsiniz. Şunları yapabilirsiniz:

Uyarı

Havuzun etkin düğümleri varken, havuz yönetilen kimliklerinin yerinde güncelleştirmeleri desteklenmez. Mevcut işlem düğümleri değişikliklerle güncelleştirilmez. Tüm VM'lere aynı kimlik kümesinin atandığından emin olmak için kimlik koleksiyonunu değiştirmeden önce havuzu sıfır işlem düğümüne ölçeklendirmeniz önerilir.

Azure portalında Batch havuzu oluşturma

Azure portalı aracılığıyla kullanıcı tarafından atanan yönetilen kimliğe sahip bir Batch havuzu oluşturmak için:

  1. Azure Portal’ında oturum açın.
  2. Arama çubuğuna Batch hesapları yazın ve seçin.
  3. Batch hesapları sayfasında, Batch havuzu oluşturmak istediğiniz Batch hesabını seçin.
  4. Batch hesabının menüsündeki Özellikler'in altında Havuzlar'ı seçin.
  5. Havuzlar menüsünde Ekle'yi seçerek yeni bir Batch havuzu ekleyin.
  6. Havuz Kimliği için havuzunuz için bir tanımlayıcı girin.
  7. Kimlik için ayarı Kullanıcı tarafından atanan olarak değiştirin.
  8. Kullanıcı tarafından atanan yönetilen kimlik'in altında Ekle'yi seçin.
  9. Kullanıcı tarafından atanan yönetilen kimliği veya kullanmak istediğiniz kimlikleri seçin. Ardından Ekle'yi seçin.
  10. İşletim Sistemi'nin altında, kullanılacak yayımcıyı, teklifi ve SKU'yu seçin.
  11. İsteğe bağlı olarak, kapsayıcı kayıt defterinde yönetilen kimliği etkinleştirin:
    1. Kapsayıcı yapılandırması için ayarı Özel olarak değiştirin. Ardından özel yapılandırmanızı seçin.
    2. Başlangıç görevi için Etkin'i seçin. Ardından Kaynak dosyaları'yı seçin ve depolama kapsayıcısı bilgilerinizi ekleyin.
    3. Kapsayıcı ayarlarını etkinleştirin.
    4. Kapsayıcı kayıt defterini Özel olarak değiştirme
    5. Kimlik başvurusu için depolama kapsayıcısını seçin.

.NET ile Batch havuzu oluşturma

Batch .NET yönetim kitaplığıyla kullanıcı tarafından atanan yönetilen kimliğe sahip bir Batch havuzu oluşturmak için aşağıdaki örnek kodu kullanın:

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);

Batch düğümlerinde kullanıcı tarafından atanan yönetilen kimlikleri kullanma

Azure Depolama veya Azure Container Registry gibi işlem düğümlerinde doğrudan diğer Azure kaynaklarına erişen birçok Azure Batch işlevi yönetilen kimlikleri destekler. Azure Batch ile yönetilen kimlikleri kullanma hakkında daha fazla bilgi için aşağıdaki bağlantılara bakın:

Ayrıca, yönetilen kimliklerin yönetilen kimlikleri destekleyen Azure kaynaklarına doğrudan erişebilmesi için görevlerinizi el ile yapılandırabilirsiniz.

Batch düğümleri içinde yönetilen kimlik belirteçleri alabilir ve Azure Örnek Meta Veri Hizmeti aracılığıyla Microsoft Entra kimlik doğrulaması aracılığıyla kimlik doğrulaması yapmak için bunları kullanabilirsiniz.

Windows için, kimlik doğrulaması için bir erişim belirteci almak için PowerShell betiği şöyledir:

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

Linux için Bash betiği şöyledir:

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

Daha fazla bilgi için bkz . Erişim belirteci almak için Azure VM'sinde Azure kaynakları için yönetilen kimlikleri kullanma.

Sonraki adımlar