Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Developer CLI (azd) suporta referenciar segredos do Azure Key Vault no ambiente do seu projeto (no ficheiro .env). Isto oferece uma opção segura para trabalhar com dados sensíveis nos seus azd projetos. Estes segredos integram-se com várias azd funcionalidades, como ganchos e configurações de pipelines CI/CD.
Pré-requisitos
- Azure Developer CLI instalado.
- Uma instância do Azure Key Vault à qual tens acesso, ou permissões para criar uma.
Defina um segredo no Cofre de Chaves
Para definir um segredo Key Vault, execute o azd env set-secret <name> comando onde <name> é a chave no ambiente que faz referência ao segredo Key Vault. Após definir o segredo, azd recupera automaticamente o valor do Key Vault nos seguintes cenários.
Parâmetros do bíceps
Para associar um parâmetro Bicep ao valor de um segredo do Azure Key Vault, siga estes passos:
- Anote o parâmetro Bicep como seguro, usando a palavra-chave
@secure(). - Crie um mapeamento no
main.parameters.jsonficheiro que ligue o parâmetro Bicep ao nome da chave correspondente no ambiente que faz referência ao segredo do Azure Key Vault.
Observação
Os segredos do ambiente não são atualmente suportados quando se usam ficheiros de parâmetros Bicep (.bicepparam).
Exemplo
A partir de um azd projeto, execute azd env set-secret MY_SECRET e siga as instruções 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 Cofre da Chave. Adicione ou selecione o parâmetro Bicep com o qual quer usar o valor e designe-o como seguro:
@secure()
param secureParameter string
Crie o mapeamento no main.parameters.json ficheiro:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"secureParameter": {
"value": "${MY_SECRET}"
}
}
}
Da próxima vez que executares azd up ou azd provision, azd usa o segredo Azure Key Vault como valor para o teu parâmetro.
Ganchos
azd pode recuperar automaticamente secretos do Azure Key Vault quando um hook é executado. Por padrão, quando o azd executa um hook, todos os pares chave-valor do ambiente do projeto (o ficheiro .env) são configurados no ambiente do hook. No entanto, as referências aos segredos do Key Vault não são automaticamente resolvidas para os respetivos valores secretos.
Para resolver estas referências, siga estes passos:
- Crie um mapeamento da chave no ambiente para uma nova chave onde o segredo do Key Vault é resolvido.
- Use o
secretscampo na definição do gancho para criar este mapeamento.
Exemplo
A partir de um azd projeto, execute azd env set-secret MY_SECRET e siga as instruções para selecionar um segredo existente do Azure Key Vault ou criar um novo. Após o comando terminar, a chave MY_SECRET faz referência a um segredo do Cofre da Chave. Crie uma definição de hook adequada ao seu sistema operativo.
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 executar azd provision, o gancho preprovision executa e resolve MY_SECRET em SECRET_RESOLVE.
Configuração do pipeline
azd Simplifica o processo de configuração da integração contínua (CI) para a sua aplicação. Quer uses GitHub ou Azure DevOps, executa azd pipeline config e segue os passos guiados para configurar CI/CD.
Como parte da configuração automática, azd cria segredos e variáveis para o seu fluxo de trabalho de implementação de CI/CD. Também pode definir as suas próprias variáveis e segredos usando a pipeline configuração em azure.yaml. Os nomes que defines correspondem a chaves no teu azd ambiente (.env). Se uma chave contém uma referência secreta (akvs), azd aplica comportamentos diferentes dependendo se a adiciona como variável ou como segredo:
| Abordagem | Valor CI/CD armazenado | Rotação secreta | Melhor para |
|---|---|---|---|
variables |
Referência ao Cofre da Chave (akvs://...) |
Automático — o pipeline lê sempre o valor mais recente do Key Vault. | Quando o principal de serviço CI/CD tem acesso à leitura do Key Vault. |
secrets |
Valor real secreto | Manual — repetição azd pipeline config após a rotação. |
Quando não conseguires atribuir acesso de leitura ao Key Vault para o principal do serviço. |
Observação
Quando utiliza variables, azd tenta atribuir uma função de acesso de leitura ao principal de serviço utilizado pelo fluxo de trabalho CI/CD. Se não tiver permissões suficientes para atribuir o papel de leitura ao Key Vault, a operação falha. Utilize secrets em substituição.
Exemplo
A partir de um projeto inicializado azd , execute azd env set-secret SECURE_KEY e siga os prompts. Depois de o comando terminar, 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 de 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 executa azd pipeline config, SECURE_KEY é definido como uma variável CI/CD com a referência Key Vault como seu valor. Se SECURE_KEY também for mapeado para um parâmetro de entrada do Bicep ou para uma definição de gancho, azd resolve automaticamente o valor secreto em tempo de execução.