Share via


Automatische certificaatrotatie inschakelen in een Batch-pool

U kunt een Batch-pool maken met een certificaat dat automatisch kan worden vernieuwd. Hiervoor moet uw pool worden gemaakt met een door de gebruiker toegewezen beheerde identiteit die toegang heeft tot het certificaat in Azure Key Vault.

Een door de gebruiker toegewezen identiteit maken

Maak eerst uw door de gebruiker toegewezen beheerde identiteit in dezelfde tenant als uw Batch-account. Deze beheerde identiteit hoeft zich niet in dezelfde resourcegroep of zelfs in hetzelfde abonnement te bevinden.

Noteer de client-id van de door de gebruiker toegewezen beheerde identiteit. U hebt deze waarde later nog nodig.

Schermopname van de client-id van een door de gebruiker toegewezen beheerde identiteit in Azure Portal.

Uw certificaat maken

Vervolgens moet u een certificaat maken en toevoegen aan Azure Key Vault. Als u nog geen sleutelkluis hebt gemaakt, moet u dat eerst doen. Zie quickstart: Een certificaat instellen en ophalen uit Azure Key Vault met behulp van Azure Portal voor instructies.

Wanneer u uw certificaat maakt, moet u het actietype Levensduur instellen om automatisch te vernieuwen en geeft u het aantal dagen op waarna het certificaat moet worden vernieuwd.

Schermopname van het scherm voor het maken van certificaten in Azure Portal.

Nadat het certificaat is gemaakt, noteert u de geheime id. U hebt deze waarde later nog nodig.

Schermopname van de geheime id van een certificaat.

Een toegangsbeleid toevoegen in Azure Key Vault

Wijs in uw sleutelkluis een Key Vault-toegangsbeleid toe waarmee uw door de gebruiker toegewezen beheerde identiteit toegang heeft tot geheimen en certificaten. Zie Toegangsbeleid voor Key Vault toewijzen met behulp van Azure Portal voor gedetailleerde instructies.

Een Batch-pool maken met een door de gebruiker toegewezen beheerde identiteit

Maak een Batch-pool met uw beheerde identiteit met behulp van de Batch .NET-beheerbibliotheek. Zie Beheerde identiteiten configureren in Batch-pools voor meer informatie.

Tip

Bestaande pools kunnen niet worden bijgewerkt met de Key Vault VM-extensie. U moet uw pool opnieuw maken.

In het volgende voorbeeld wordt de Rest API van Batch Management gebruikt om een pool te maken. Zorg ervoor dat u de geheime id van uw certificaat gebruikt voor observedCertificates en de client-id van uw beheerde identiteit voormsiClientId, waarbij u de onderstaande voorbeeldgegevens vervangt.

REST API-URI

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

Aanvraagbody voor Linux-knooppunt

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

Aanvraagbody voor Windows-knooppunt

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

Het certificaat valideren

Meld u aan bij het rekenknooppunt om te controleren of het certificaat is geïmplementeerd. De uitvoer ziet er als volgt uit:

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#

Problemen met Key Vault-extensie oplossen

Als de Key Vault-extensie onjuist is geconfigureerd, heeft het rekenknooppunt mogelijk de bruikbare status. Als u problemen met de Key Vault-extensie wilt oplossen, kunt u requireInitialSync tijdelijk instellen op onwaar en uw pool opnieuw implementeren. Vervolgens bevindt het rekenknooppunt zich inactief. U kunt zich aanmelden bij het rekenknooppunt om keyVault-extensielogboeken op fouten te controleren en de configuratieproblemen op te lossen. Ga naar de volgende doc-koppeling voor key Vault-extensies voor meer informatie.

Volgende stappen