AzureKeyVault@2 – Tarefa do Azure Key Vault v2
Use esta tarefa para baixar segredos, como chaves de autenticação, chaves de conta de armazenamento, chaves de criptografia de dados. Arquivos PFX e senhas de uma instância do Azure Key Vault
Sintaxe
# Azure Key Vault v2
# Download Azure Key Vault secrets.
- task: AzureKeyVault@2
inputs:
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
KeyVaultName: # string. Required. Key vault.
SecretsFilter: '*' # string. Required. Secrets filter. Default: *.
#RunAsPreJob: false # boolean. Make secrets available to whole job. Default: false.
Entradas
azureSubscription
-
assinatura do Azure
Alias de entrada: ConnectedServiceName
.
string
. Necessário.
Selecione a conexão de serviço para a assinatura do Azure que contém a instância do Azure Key Vault ou crie uma nova conexão. Saiba mais.
do cofre de chaves do
string
. Necessário.
O nome do Azure Key Vault que contém os segredos a serem baixados.
de filtro de Segredos
string
. Necessário. Valor padrão: *
.
Baixa nomes secretos de acordo com o valor inserido. O valor pode ser o valor padrão para baixar todos os segredos do cofre de chaves selecionado ou uma lista separada por vírgulas de nomes secretos.
RunAsPreJob
-
disponibilizar segredos para todo o trabalho
boolean
. Valor padrão: false
.
Executa a tarefa antes do início da execução do trabalho. Expõe segredos a todas as tarefas no trabalho, não apenas às tarefas que seguem esta.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Observações
Novidades na versão 2.0: adicionado suporte para %3B, %5D em segredos.
Use esta tarefa para baixar segredos, como chaves de autenticação, chaves de conta de armazenamento, chaves de criptografia de dados. Arquivos PFX e senhas de uma instância do Azure Key Vault
Recebo um erro forbidden
em pipelines no ponto de obter credenciais do Azure Key Vault
Isso ocorrerá se as permissões necessárias estiverem ausentes no cofre de chaves do Azure. Para resolver o problema, adicionar uma política de acesso com as permissões corretas.
Pré-requisitos
A tarefa tem os seguintes pré-requisitos:
- Uma assinatura do Azure vinculada ao Azure Pipelines ou ao Team Foundation Server usando a conexão de serviço Azure Resource Manager.
- Um Azure Key Vault que contém os segredos.
Você pode criar um cofre de chaves:
- No portal do Azure
- Usando do Azure PowerShell
- Usando a CLI do Azure
Adicione segredos a um cofre de chaves:
Usando o cmdlet do PowerShell Set-AzKeyVaultSecret. Se o segredo não existir, esse cmdlet o criará. Se o segredo já existir, esse cmdlet criará uma nova versão desse segredo.
Usando a CLI do Azure. Para adicionar um segredo a um cofre de chaves, por exemplo, um segredo chamado SQLPassword com o valor PlaceholderPassword, digite:
az keyvault secret set --vault-name 'ContosoKeyVault' --name 'SQLPassword' --value 'PlaceholderPassword'
Quando você deseja acessar segredos:
Verifique se a conexão de serviço do Azure tem pelo menos
obter permissões de de lista de eno cofre. Você pode definir essas permissões no portal do Azure: - Abra a folha configurações de
para o cofre, escolha políticas de acesso e, em seguida,Adicionar nova . - Na folha Adicionar política de acesso, escolha Selecionar de entidade de segurança e selecione a entidade de serviço para sua conta cliente.
- Na folha Adicionar política de acesso, escolha permissões secretas e verifique se Obter e List estão marcadas (marcadas).
- Escolha OK para salvar as alterações.
- Abra a folha configurações de
Nota
Se você estiver usando um agente hospedado pela Microsoft, deverá adicionar o intervalo de IP do agente hospedado pela Microsoft ao firewall. Obtenha a lista semanal de intervalos de IP do arquivo JSON semanal, que é publicado todas as quartas-feiras. Os novos intervalos de IP passam a vigorar na segunda-feira seguinte. Para obter mais informações, consulte agentes hospedados pela Microsoft. Para localizar os intervalos de IP necessários para sua organização do Azure DevOps, saiba como identificar os possíveis intervalos de IP para agentes hospedados pela Microsoft.
Nota
Os valores são recuperados como cadeias de caracteres. Por exemplo, se houver um segredo chamado connectionString, uma variável de tarefa connectionString
será criada com o valor mais recente do respectivo segredo buscado do cofre de chaves do Azure. Essa variável está disponível nas tarefas subsequentes.
Se o valor buscado do cofre for um certificado (por exemplo, um arquivo PFX), a variável de tarefa conterá o conteúdo do PFX no formato de cadeia de caracteres. Você pode usar o seguinte código do PowerShell para recuperar o arquivo PFX da variável de tarefa:
$kvSecretBytes = [System.Convert]::FromBase64String("$(PfxSecret)")
$certCollection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection
$certCollection.Import($kvSecretBytes,$null,[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)
Se o arquivo de certificado for armazenado localmente no computador, é uma boa prática criptografá-lo com uma senha:
#Get the file created
$password = 'your password'
$protectedCertificateBytes = $certCollection.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12, $password)
$pfxPath = [Environment]::GetFolderPath("Desktop") + "\MyCert.pfx"
[System.IO.File]::WriteAllBytes($pfxPath, $protectedCertificateBytes)
Para obter mais informações, consulte Introdução aos certificados do Azure Key Vault.
Exemplos
Início Rápido: Usar segredos do Azure Key Vault (Classic/YAML)
Tutorial: usar segredos do Azure Key Vault no pipeline do YAML
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
Execuções em | Agent, DeploymentGroup |
de demandas |
Nenhum |
recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
restrições de comando | Qualquer |
variáveis settable | Qualquer |
Versão do agente | 2.182.1 ou superior |
Categoria de tarefa | Implantar |