Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A CLI do Desenvolvedor do Azure (azd) suporta a referência a segredos do Azure Key Vault no ambiente do seu projeto (arquivo .env). Isso fornece uma opção segura para trabalhar com dados confidenciais em seus azd projetos. Esses segredos se integram a várias azd funcionalidades, como ganchos e configurações de pipeline de CI/CD.
Pré-requisitos
- Azure Developer CLI instalada.
- Uma instância do Azure Key Vault à qual você tem acesso ou permissões para criar uma.
Definir um segredo do Key Vault
Para definir um segredo do Key Vault, execute o azd env set-secret <name> comando, onde <name> está a chave no ambiente que faz referência ao segredo do Key Vault. Depois de definir o segredo, azd recupera automaticamente o valor do Key Vault nos cenários a seguir.
Parâmetros do Bicep
Para associar um parâmetro Bicep ao valor de um segredo do Azure Key Vault, siga estas etapas:
- Anotar o parâmetro Bicep como protegido usando a palavra-chave
@secure(). - Crie um mapeamento no
main.parameters.jsonarquivo que vincule o parâmetro Bicep ao nome da chave correspondente no ambiente que faz referência ao segredo do Azure Key Vault.
Observação
Atualmente, não há suporte para segredos de ambiente quando você usa arquivos de parâmetro Bicep (.bicepparam).
Exemplo
Em um azd projeto, execute azd env set-secret MY_SECRET e siga os prompts para selecionar um segredo existente do Azure Key Vault ou criar um novo. Após a conclusão do comando, a chave MY_SECRET mantém uma referência a um segredo do Key Vault. Adicione ou selecione o parâmetro Bicep com o qual você deseja usar o valor e designe-o como seguro:
@secure()
param secureParameter string
Crie o mapeamento no main.parameters.json arquivo:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"secureParameter": {
"value": "${MY_SECRET}"
}
}
}
Na próxima vez que você executar azd up ou azd provision, azd usará o segredo do Azure Key Vault como o valor do seu parâmetro.
Ganchos
azd pode recuperar automaticamente os segredos do Azure Key Vault quando um gancho é executado. Por padrão, quando azd executa um gancho (hook), todos os pares chave-valor do ambiente do projeto (arquivo .env) são configurados no ambiente do gancho. No entanto, as referências aos segredos do Key Vault não são resolvidas automaticamente para seus valores secretos correspondentes.
Para resolver essas referências, siga estas etapas:
- Crie um mapeamento da chave no ambiente para uma nova chave onde o segredo do Key Vault seja resolvido.
- Use o
secretscampo na definição de gancho para criar esse mapeamento.
Exemplo
Em um azd projeto, execute azd env set-secret MY_SECRET e siga os prompts para selecionar um segredo existente do Azure Key Vault ou criar um novo. Após a conclusão do comando, a chave MY_SECRET faz referência a um segredo do Key Vault. Crie uma definição de gancho apropriada para seu sistema operacional.
hooks:
preprovision:
run: 'echo ".env value: $MY_SECRET \nResolved secret: $SECRET_RESOLVE"'
shell: sh
interactive: true
secrets:
SECRET_RESOLVE: MY_SECRET
Na próxima vez que você executar azd provision, o hook preprovision será executado e transformará MY_SECRET em SECRET_RESOLVE.
Configuração de pipeline
azd simplifica o processo de configuração da CI (integração contínua) para seu aplicativo. Se você usar o GitHub ou o Azure DevOps, execute azd pipeline config e siga as etapas guiadas para configurar CI/CD.
Como parte da configuração automática, azd cria segredos e variáveis para o fluxo de trabalho de implantação de CI/CD. Você também pode definir suas próprias variáveis e segredos usando a pipeline configuração em azure.yaml. Os nomes que você define correspondem às chaves em seu azd ambiente (.env). Se uma chave contém uma referência secreta (akvs), azd aplica um comportamento diferente dependendo de você adicioná-la como uma variável ou um segredo:
| Abordagem | Valor de CI/CD armazenado | Rotação de segredo | Mais adequado para |
|---|---|---|---|
variables |
Referência do Key Vault (akvs://...) |
Automático – o pipeline sempre lê o valor mais recente do Key Vault. | Quando o principal de serviço CI/CD tiver acesso de leitura ao Key Vault. |
secrets |
Valor do segredo real | Manual – executar novamente azd pipeline config após a rotação. |
Quando você não pode atribuir acesso de leitura do Key Vault ao principal de serviço. |
Observação
Quando você usa variables, azd tenta atribuir uma função de acesso de leitura à entidade de serviço usada pelo fluxo de trabalho de CI/CD. Se você não tiver permissões suficientes para atribuir a função de leitura para o Key Vault, a operação falhará. Use secrets em seu lugar.
Exemplo
Em um projeto inicializado azd , execute azd env set-secret SECURE_KEY e siga os prompts. Após a conclusão do comando, azd env get-values mostra a referência:
SECURE_KEY="akvs://faa080af-c1d8-40ad-9cce-000000000000/vivazqu-kv/SECURE-KEY-kv-secret"
Adicione SECURE_KEY à lista variables ou secrets em azure.yaml:
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json
name: your-project-name
pipeline:
variables:
- SECURE_KEY
Quando você executa azd pipeline config, SECURE_KEY é definido como uma variável de CI/CD com a referência do Key Vault como seu valor. Se SECURE_KEY também for mapeado para um parâmetro de entrada Bicep ou uma definição de gancho, azd resolverá automaticamente o valor do segredo em runtime.