Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode criar um pool de lotes com um certificado que pode ser renovado automaticamente. Para fazer isso, seu pool deve ser criado com uma identidade gerenciada atribuída pelo usuário que tenha acesso ao certificado no Cofre da Chave do Azure.
Criar uma identidade atribuída pelo utilizador
Primeiro, crie sua identidade gerenciada atribuída pelo usuário no mesmo locatário que sua conta do Batch. Essa identidade gerenciada não precisa estar no mesmo grupo de recursos ou mesmo na mesma assinatura.
Certifique-se de anotar a Client ID da identidade gerida atribuída pelo utilizador. Vai precisar deste valor mais à frente.
Crie o seu certificado
Em seguida, você precisa criar um certificado e adicioná-lo ao Cofre da Chave do Azure. Se você ainda não criou um cofre de chaves, você precisa fazer isso primeiro. Para obter instruções, consulte Guia de início rápido: definir e recuperar um certificado do Cofre de Chaves do Azure usando o portal do Azure.
Ao criar seu certificado, certifique-se de definir Tipo de ação vitalício para renovar automaticamente e especifique o número de dias após os quais o certificado deve ser renovado.
Depois que o certificado for criado, anote seu Identificador Secreto. Vai precisar deste valor mais à frente.
Adicionar uma política de acesso no Azure Key Vault
No cofre de chaves, atribua uma política de acesso ao Cofre de Chaves que permita que a sua identidade gerida atribuída pelo utilizador aceda a segredos e certificados. Para obter instruções detalhadas, consulte Atribuir uma política de acesso ao Cofre da Chave usando o portal do Azure.
Criar um pool de lotes com uma identidade gerenciada atribuída pelo usuário
Crie um pool Batch com a sua identidade gerida usando a biblioteca de gestão .NET Batch. Para obter mais informações, consulte Configurar identidades gerenciadas em pools de lotes.
Gorjeta
Os pools existentes não podem ser atualizados com a extensão de VM Key Vault. Terá de recriar a sua piscina.
O exemplo a seguir usa a API REST de gerenciamento de lote para criar um pool. Certifique-se de usar o Identificador Secreto do seu certificado para observedCertificates e o ID do Cliente da sua identidade gerida para msiClientId, substituindo os dados de exemplo abaixo.
URI da API REST
PUT https://management.azure.com/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupName>/providers/Microsoft.Batch/batchAccounts/<batchaccountname>/pools/<poolname>?api-version=2021-01-01
Corpo da solicitação para o nó 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 da solicitação para o nó do 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": {}
}
}
}
Validar o certificado
Para confirmar que o certificado foi implantado com êxito, faça login no nó de computação. Deverá ver um resultado semelhante ao seguinte:
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#
Solução de problemas da extensão Key Vault
Se a extensão do Cofre da Chave estiver configurada incorretamente, o nó de computação poderá estar em estado utilizável. Para solucionar problemas de falha na extensão do Key Vault, pode temporariamente definir requireInitialSync como false e reimplementar o seu pool. Em seguida, quando o nó de computação estiver em estado ocioso, pode aceder ao nó de computação para verificar os logs de extensão do Key Vault em busca de erros e corrigir os problemas de configuração. Visite o seguinte link do documento de extensão do Key Vault para obter mais informações.
Próximos passos
- Saiba mais sobre Identidades gerenciadas para recursos do Azure.
- Saiba como usar chaves gerenciadas pelo cliente com identidades gerenciadas pelo usuário.