Sdílet prostřednictvím


Povolení automatické obměně certifikátů ve fondu Batch

Fond Služby Batch můžete vytvořit s certifikátem, který se dá automaticky obnovit. K tomu je potřeba vytvořit fond se spravovanou identitou přiřazenou uživatelem, která má přístup k certifikátu ve službě Azure Key Vault.

Vytvoření identity přiřazené uživatelem

Nejprve vytvořte spravovanou identitu přiřazenou uživatelem ve stejném tenantovi jako účet Batch. Tato spravovaná identita nemusí být ve stejné skupině prostředků ani ve stejném předplatném.

Nezapomeňte si poznamenat ID klienta spravované identity přiřazené uživatelem. Tuto hodnotu budete potřebovat později.

Snímek obrazovky znázorňující ID klienta spravované identity přiřazené uživatelem na webu Azure Portal

Vytvoření certifikátu

Dále potřebujete vytvořit certifikát a přidat ho do služby Azure Key Vault. Pokud jste ještě nevytvořili trezor klíčů, musíte to udělat jako první. Pokyny najdete v tématu Rychlý start: Nastavení a načtení certifikátu ze služby Azure Key Vault pomocí webu Azure Portal.

Při vytváření certifikátu nezapomeňte nastavit typ akce životnosti tak, aby se automaticky prodloužil, a zadejte počet dní, po kterých by se měl certifikát obnovit.

Snímek obrazovky s obrazovkou pro vytvoření certifikátu na webu Azure Portal

Po vytvoření certifikátu si poznamenejte jeho tajný identifikátor. Tuto hodnotu budete potřebovat později.

Snímek obrazovky zobrazující identifikátor tajného klíče certifikátu

Přidání zásad přístupu ve službě Azure Key Vault

V trezoru klíčů přiřaďte zásadu přístupu ke službě Key Vault, která umožňuje spravované identitě přiřazené uživatelem přistupovat k tajným klíčům a certifikátům. Podrobné pokyny najdete v tématu Přiřazení zásad přístupu ke službě Key Vault pomocí webu Azure Portal.

Vytvoření fondu Batch se spravovanou identitou přiřazenou uživatelem

Vytvořte fond Batch se spravovanou identitou pomocí knihovny pro správu Batch .NET. Další informace najdete v tématu Konfigurace spravovaných identit ve fondech služby Batch.

Tip

Existující fondy nelze aktualizovat rozšířením virtuálního počítače služby Key Vault. Budete muset znovu vytvořit fond.

Následující příklad používá rozhraní REST API služby Batch Management k vytvoření fondu. Nezapomeňte použít identifikátor tajného klíče vašeho certifikátu a observedCertificates ID klienta vaší spravované identity pro msiClientIdnahrazení ukázkových dat níže.

Identifikátor URI v REST API

PUT https://management.azure.com/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupName>/providers/Microsoft.Batch/batchAccounts/<batchaccountname>/pools/<poolname>?api-version=2021-01-01

Text požadavku pro uzel Linuxu

{
  "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": {}
    }
  }
}

Text požadavku pro uzel 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/042998e4-36dc-4b7d-8ce3-a7a2c4877d33/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
        }
    }
}

Ověření certifikátu

Pokud chcete ověřit úspěšné nasazení certifikátu, přihlaste se k výpočetnímu uzlu. Zobrazený výstup by měl vypadat přibližně takto:

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#

Řešení potíží s rozšířením služby Key Vault

Pokud je rozšíření služby Key Vault nakonfigurované nesprávně, může být výpočetní uzel v použitelném stavu. Pokud chcete vyřešit selhání rozšíření služby Key Vault, můžete dočasně nastavit hodnotu RequireInitialSync na false a znovu nasadit fond. Výpočetní uzel je ve stavu nečinnosti, můžete se přihlásit k výpočetnímu uzlu a zkontrolovat chyby v protokolech rozšíření KeyVault a opravit problémy s konfigurací. Další informace najdete na následujícím odkazu na dokumentaci k rozšíření služby Key Vault.

Další kroky