Aracılığıyla paylaş


Yönetilen kimlikleri Batch havuzlarında 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 kimliklerle havuz oluşturma işlemi yalnızca Entra kimlik doğrulaması kullanılarak Batch Management Plane API'leri veya SDK'ları ile gerçekleştirilebilir. Batch Hizmeti API'lerini veya SDK'larını kullanarak yönetilen kimliklere sahip havuzlar oluşturmak mümkün değildir. Daha fazla bilgi için Batch API'leri ve araçlarına yönelik genel bakış belgelerine bakın.

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