Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile creare un pool di Batch con un certificato che può essere rinnovato automaticamente. A tale scopo, il pool deve essere creato con un'identità gestita assegnata dall'utente che ha accesso al certificato in Azure Key Vault.
Creare un'identità assegnata dall'utente
Prima di tutto, crea l'identità gestita assegnata dall'utente nello stesso tenant dell'account Batch. Non è necessario che questa identità gestita sia nello stesso gruppo di risorse o nella stessa sottoscrizione.
Assicurarsi di annotare il Client ID dell'identità gestita assegnata dall'utente. Questo valore sarà necessario in un secondo momento.
Creare il certificato
Successivamente, è necessario creare un certificato e aggiungerlo ad Azure Key Vault. Se non è già stato creato un insieme di credenziali delle chiavi, è prima necessario eseguire questa operazione. Per istruzioni, vedere Avvio rapido: Impostare e recuperare un certificato da Azure Key Vault usando il portale di Azure.
Quando si crea il certificato, assicurarsi di impostare Tipo di azione della durata su rinnovo automatico e di specificare il numero di giorni dopo i quali il certificato deve essere rinnovato.
Dopo aver creato il certificato, prendere nota del relativo identificatore segreto. Questo valore sarà necessario in un secondo momento.
Aggiungere criteri di accesso in Azure Key Vault
Nell'insieme di credenziali, assegna un criterio di accesso di Key Vault che consenta all'identità gestita assegnata dall'utente di accedere ai segreti e ai certificati. Per istruzioni dettagliate, vedere Assegnare un criterio di accesso a Key Vault usando il portale di Azure.
Creare un pool di Batch con un'identità gestita assegnata dall'utente
Crea un pool Batch con l'identità gestita usando la libreria di gestione Batch .NET. Per altre informazioni, vedere Configurare le identità gestite nei pool di Batch.
Suggerimento
I pool esistenti non possono essere aggiornati con l'estensione della macchina virtuale Key Vault. Ricreare il pool.
L'esempio seguente usa l'API REST di gestione batch per creare un pool. Assicurarsi di usare l'Identificatore segreto del certificato per observedCertificates e l'ID client dell'identità gestita per msiClientId, sostituendo i dati di esempio riportati di seguito.
URI DELL'API REST
PUT https://management.azure.com/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupName>/providers/Microsoft.Batch/batchAccounts/<batchaccountname>/pools/<poolname>?api-version=2021-01-01
Corpo della richiesta per il nodo di 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": {}
}
}
}
Corpo della richiesta per il nodo di 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": {}
}
}
}
Convalidare il certificato
Per verificare che il certificato sia stato distribuito correttamente, accedere al nodo di calcolo. L'output dovrebbe essere simile al seguente:
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#
Risoluzione dei problemi relativi all'estensione Key Vault
Se l'estensione Key Vault è configurata in modo non corretto, il nodo di calcolo potrebbe essere in stato utilizzabile. Per risolvere l'errore dell'estensione di Key Vault è possibile impostare temporaneamente requireInitialSync su "false" e ridistribuire il pool; il nodo di calcolo sarà quindi inattivo. È possibile accedere al nodo di calcolo per controllare i log delle estensioni di KeyVault per individuare gli errori e correggere i problemi di configurazione. Per ulteriori informazioni, visitare il seguente link alla documentazione dell'estensione Key Vault.
Passaggi successivi
- Altre informazioni su Identità gestite per le risorse di Azure.
- Informazioni su come usare chiavi gestite dal cliente con identità gestite dall'utente.