AzureKeyVault@2 - Tarefa 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
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.
Insumos
azureSubscription
-
de 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 Cofre da Chave do Azure ou crie uma nova conexão. Saiba mais.
KeyVaultName
-
Cofre da chave
string
. Necessário.
O nome do Cofre da Chave do Azure que contém os segredos a serem baixados.
SecretsFilter
-
Segredos filter
string
. Necessário. Valor padrão: *
.
Descarrega nomes secretos de acordo com o valor introduzido. 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
-
Disponibilize 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 para todas as tarefas no trabalho, não apenas para as tarefas que se seguem a esta.
Opções de controlo de tarefas
Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.
Variáveis de saída
Nenhuma.
Comentários
O que há de novo 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
Recebo um erro forbidden
em pipelines no ponto de obter credenciais do Cofre de Chaves do Azure
Isso ocorre se as permissões necessárias estiverem faltando 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 Team Foundation Server usando a conexão de serviço do Azure Resource Manager.
- Um Azure Key Vault contendo os segredos.
Você pode criar um cofre de chaves:
- No portal do Azure
- Usando Azure PowerShell
- Usando o da CLI do Azure
Adicione segredos a um cofre de chaves:
Usando o cmdlet do PowerShell Set-AzKeyVaultSecret. Se o segredo não existir, este cmdlet o cria. 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 permissões Obter e Lista no cofre. Você pode definir essas permissões no portal do Azure:
- Abra a folha Configurações do do cofre, escolha Políticas do Accesse, em seguida, Adicionar novo.
- Na folha
Adicionar política de acesso, escolha Selecionar principal e selecione a entidade de serviço para sua conta de cliente. - Na folha
Adicionar política de acesso, escolha de permissões secretas e verifique se Obter eLista estão marcadas (marcadas). - Escolha OK para salvar as alterações.
Observação
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 entram em vigor 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 de DevOps do Azure, saiba como identificar os possíveis intervalos de IP para agentes hospedados pela Microsoft.
Observação
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 respetivo segredo buscado no cofre de chaves do Azure. Esta variável fica então disponível em tarefas subsequentes.
Se o valor obtido no vault for um certificado (por exemplo, um arquivo PFX), a variável de tarefa conterá o conteúdo do PFX em 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 na máquina, é 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
Guia de início rápido: usar segredos do Azure Key Vault (Classic/YAML)
Tutorial: Usar segredos do Azure Key Vault em seu pipeline YAML
Requerimentos
Exigência | Descrição |
---|---|
Tipos de pipeline | YAML, Construção clássica, Versão clássica |
Funciona em | Agente, DeploymentGroup |
Exigências | Nenhum |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.182.1 ou superior |
Categoria de tarefa | Implantar |