Aracılığıyla paylaş


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.

Azure portalında kullanıcı tarafından atanan yönetilen kimliğin istemci kimliğini gösteren ekran görüntüsü.

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.

Azure portalında sertifika oluşturma ekranının ekran görüntüsü.

Sertifikanız oluşturulduktan sonra Gizli Dizi Tanımlayıcısını not edin. Bu değer daha sonra gerekli olacaktır.

Sertifikanın Gizli Dizi Tanımlayıcısını gösteren ekran görüntüsü.

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 msiClientIdKimliğ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/042998e4-36dc-4b7d-8ce3-a7a2c4877d33/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/042998e4-36dc-4b7d-8ce3-a7a2c4877d33/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