Batch havuzunda otomatik sertifika döndürmeyi etkinleştirme
Otomatik olarak yenilenebilen bir sertifikaya sahip bir Batch havuzu oluşturabilirsiniz. Bunu yapmak için havuzunuzun Azure Key Vault'taki sertifikaya erişimi olan kullanıcı tarafından atanan yönetilen kimlikle oluşturulması gerekir.
Kullanıcı tarafından atanan kimlik oluşturma
İlk olarak, Batch hesabınızla aynı kiracıda kullanıcı tarafından atanan yönetilen kimliğinizi oluşturun. Bu yönetilen kimliğin aynı kaynak grubunda, hatta aynı abonelikte olması gerekmez.
Kullanıcı tarafından atanan yönetilen kimliğin İstemci Kimliğini not almayı unutmayın. Bu değer daha sonra gerekli olacaktır.
Sertifikanızı oluşturma
Ardından bir sertifika oluşturup Azure Key Vault'a eklemeniz gerekir. Henüz bir anahtar kasası oluşturmadıysanız, önce bunu yapmanız gerekir. Yönergeler için bkz . Hızlı Başlangıç: Azure portalını kullanarak Azure Key Vault'tan sertifika ayarlama ve alma.
Sertifikanızı oluştururken Yaşam Süresi Eylem Türü'nü otomatik olarak yenilenecek şekilde ayarladığınızdan ve sertifikanın yenilenmesi gereken gün sayısını belirttiğinizden emin olun.
Sertifikanız oluşturulduktan sonra Gizli Dizi Tanımlayıcısını not edin. Bu değer daha sonra gerekli olacaktır.
Azure Key Vault'ta erişim ilkesi ekleme
Anahtar kasanızda, kullanıcı tarafından atanan yönetilen kimliğinizin gizli dizilere ve sertifikalara erişmesine olanak tanıyan bir Key Vault erişim ilkesi atayın. Ayrıntılı yönergeler için bkz . Azure portalını kullanarak Key Vault erişim ilkesi atama.
Kullanıcı tarafından atanan yönetilen kimlikle Batch havuzu oluşturma
Batch .NET yönetim kitaplığını kullanarak yönetilen kimliğinizle bir Batch havuzu oluşturun. Daha fazla bilgi için bkz . Batch havuzlarında yönetilen kimlikleri yapılandırma.
İpucu
Mevcut havuzlar Key Vault VM uzantısıyla güncelleştirilemez. Havuzunuzu yeniden oluşturmanız gerekir.
Aşağıdaki örnek, havuz oluşturmak için Batch Management REST API'sini kullanır. Aşağıdaki örnek verileri değiştirerek sertifikanızın Gizli Dizi Tanımlayıcısını observedCertificates
ve yönetilen kimliğinizin İstemci msiClientId
Kimliğini kullandığınızdan emin olun.
REST API URI'si
PUT https://management.azure.com/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupName>/providers/Microsoft.Batch/batchAccounts/<batchaccountname>/pools/<poolname>?api-version=2021-01-01
Linux düğümü için İstek Gövdesi
{
"name": "test2",
"type": "Microsoft.Batch/batchAccounts/pools",
"properties": {
"vmSize": "STANDARD_DS2_V2",
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "canonical",
"offer": "ubuntuserver",
"sku": "20.04-lts",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 20.04",
"extensions": [
{
"name": "KVExtensions",
"type": "KeyVaultForLinux",
"publisher": "Microsoft.Azure.KeyVault",
"typeHandlerVersion": "3.0",
"autoUpgradeMinorVersion": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": "300",
"certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault",
"requireInitialSync": true,
"observedCertificates": [
"https://testkvwestus2s.vault.azure.net/secrets/authcertforumatesting/8f5f3f491afd48cb99286ba2aacd39af"
]
},
"authenticationSettings": {
"msiEndpoint": "http://169.254.169.254/metadata/identity",
"msiClientId": "b9f6dd56-d2d6-4967-99d7-8062d56fd84c"
}
}
}
]
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"resizeTimeout": "PT15M"
}
}
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
}
}
}
Windows düğümü için İstek Gövdesi
{
"name": "test2",
"type": "Microsoft.Batch/batchAccounts/pools",
"properties": {
"vmSize": "STANDARD_DS2_V2",
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "microsoftwindowsserver",
"offer": "windowsserver",
"sku": "2022-datacenter",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.windows amd64",
"extensions": [
{
"name": "KVExtensions",
"type": "KeyVaultForWindows",
"publisher": "Microsoft.Azure.KeyVault",
"typeHandlerVersion": "3.0",
"autoUpgradeMinorVersion": true,
"settings": {
"secretsManagementSettings": {
"pollingIntervalInS": "300",
"requireInitialSync": true,
"observedCertificates": [
{
"url": "https://testkvwestus2s.vault.azure.net/secrets/authcertforumatesting/8f5f3f491afd48cb99286ba2aacd39af",
"certificateStoreLocation": "LocalMachine",
"keyExportable": true
}
]
},
"authenticationSettings": {
"msiEndpoint": "http://169.254.169.254/metadata/identity",
"msiClientId": "b9f6dd56-d2d6-4967-99d7-8062d56fd84c"
}
},
}
]
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"resizeTimeout": "PT15M"
}
},
},
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
}
}
}
Sertifikayı doğrulama
Sertifikanın başarıyla dağıtıldığını onaylamak için işlem düğümünde oturum açın. Aşağıdakine benzer bir çıktı görmeniz gerekir:
root@74773db5fe1b42ab9a4b6cf679d929da000000:/var/lib/waagent/Microsoft.Azure.KeyVault.KeyVaultForLinux-1.0.1363.13/status# cat 1.status
[{"status":{"code":0,"formattedMessage":{"lang":"en","message":"Successfully started Key Vault extension service. 2021-03-03T23:12:23Z"},"operation":"Service start.","status":"success"},"timestampUTC":"2021-03-03T23:12:23Z","version":"1.0"}]root@74773db5fe1b42ab9a4b6cf679d929da000000:/var/lib/waagent/Microsoft.Azure.KeyVault.KeyVaultForLinux-1.0.1363.13/status#
Key Vault Uzantısı sorunlarını giderme
Key Vault uzantısı yanlış yapılandırılmışsa işlem düğümü kullanılabilir durumda olabilir. Key Vault uzantısı hatasını gidermek için requireInitialSync'i geçici olarak false olarak ayarlayabilir ve havuzunuzu yeniden dağıtabilir, ardından işlem düğümü boşta durumundadır, keyVault uzantı günlüklerinde hata olup olmadığını denetlemek ve yapılandırma sorunlarını düzeltmek için işlem düğümünde oturum açabilirsiniz. Daha fazla bilgi için aşağıdaki Key Vault uzantısı belge bağlantısını ziyaret edin.
Sonraki adımlar
- Azure kaynakları için yönetilen kimlikler hakkında daha fazla bilgi edinin.
- Kullanıcı tarafından yönetilen kimliklerle müşteri tarafından yönetilen anahtarları kullanmayı öğrenin.