Włączanie automatycznej rotacji certyfikatów w puli usługi Batch
Pulę usługi Batch można utworzyć przy użyciu certyfikatu, który można automatycznie odnowić. W tym celu należy utworzyć pulę przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, która ma dostęp do certyfikatu w usłudze Azure Key Vault.
Tworzenie tożsamości przypisanej przez użytkownika
Najpierw utwórz tożsamość zarządzaną przypisaną przez użytkownika w tej samej dzierżawie co konto usługi Batch. Ta tożsamość zarządzana nie musi znajdować się w tej samej grupie zasobów, a nawet w tej samej subskrypcji.
Pamiętaj, aby zanotować identyfikator klienta tożsamości zarządzanej przypisanej przez użytkownika. Ta wartość będzie potrzebna później.
Tworzenie certyfikatu
Następnie należy utworzyć certyfikat i dodać go do usługi Azure Key Vault. Jeśli nie utworzono jeszcze magazynu kluczy, najpierw musisz to zrobić. Aby uzyskać instrukcje, zobacz Szybki start: ustawianie i pobieranie certyfikatu z usługi Azure Key Vault przy użyciu witryny Azure Portal.
Podczas tworzenia certyfikatu należy ustawić opcję Typ akcji okresu istnienia, aby automatycznie odnowić, i określić liczbę dni, po których certyfikat ma zostać odnowiony.
Po utworzeniu certyfikatu zanotuj jego identyfikator tajny. Ta wartość będzie potrzebna później.
Dodawanie zasad dostępu w usłudze Azure Key Vault
W magazynie kluczy przypisz zasady dostępu usługi Key Vault, które umożliwiają przypisanej przez użytkownika tożsamości zarządzanej dostęp do wpisów tajnych i certyfikatów. Aby uzyskać szczegółowe instrukcje, zobacz Przypisywanie zasad dostępu usługi Key Vault przy użyciu witryny Azure Portal.
Tworzenie puli usługi Batch z tożsamością zarządzaną przypisaną przez użytkownika
Utwórz pulę usługi Batch z tożsamością zarządzaną przy użyciu biblioteki zarządzania platformy .NET usługi Batch. Aby uzyskać więcej informacji, zobacz Konfigurowanie tożsamości zarządzanych w pulach usługi Batch.
Napiwek
Nie można zaktualizować istniejących pul za pomocą rozszerzenia maszyny wirtualnej usługi Key Vault. Należy ponownie utworzyć pulę.
W poniższym przykładzie do utworzenia puli użyto interfejsu API REST zarządzania usługą Batch. Pamiętaj, aby użyć identyfikatora observedCertificates
wpisu tajnego certyfikatu i identyfikatora klienta tożsamości zarządzanej dla msiClientId
elementu , zastępując poniższe przykładowe dane.
Identyfikator URI interfejsu API REST
PUT https://management.azure.com/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupName>/providers/Microsoft.Batch/batchAccounts/<batchaccountname>/pools/<poolname>?api-version=2021-01-01
Treść żądania dla węzła systemu Linux
{
"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": {}
}
}
}
Treść żądania dla węzła systemu Windows
{
"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": {}
}
}
}
Weryfikowanie certyfikatu
Aby potwierdzić, że certyfikat został pomyślnie wdrożony, zaloguj się do węzła obliczeniowego. Powinny zostać wyświetlone dane wyjściowe podobne do następujących:
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#
Rozwiązywanie problemów z rozszerzeniem usługi Key Vault
Jeśli rozszerzenie usługi Key Vault jest niepoprawnie skonfigurowane, węzeł obliczeniowy może być w stanie użytecznym. Aby rozwiązać problemy z niepowodzeniem rozszerzenia usługi Key Vault, możesz tymczasowo ustawić wartość requireInitialSync na wartość false i ponownie wdrożyć pulę, a następnie węzeł obliczeniowy jest w stanie bezczynności, możesz zalogować się do węzła obliczeniowego, aby sprawdzić dzienniki rozszerzeń usługi KeyVault pod kątem błędów i rozwiązać problemy z konfiguracją. Aby uzyskać więcej informacji, zapoznaj się z następującym linkiem do dokumentu rozszerzenia usługi Key Vault.
- Rozszerzenie usługi Azure Key Vault dla systemu Linux
- Rozszerzenie usługi Azure Key Vault dla systemu Windows
Następne kroki
- Dowiedz się więcej o tożsamościach zarządzanych dla zasobów platformy Azure.
- Dowiedz się, jak używać kluczy zarządzanych przez klienta z tożsamościami zarządzanymi przez użytkownika.