Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Developer CLI (azd) podporuje odkazování na tajné kódy služby Azure Key Vault v rámci vašeho projektového prostředí ( .env soubor). To poskytuje bezpečnou možnost pro práci s citlivými daty ve vašich azd projektech. Tyto tajemství se integrují s různými azd funkcemi, jako jsou hooky a konfigurace pipeline CI/CD.
Předpoklady
- Nainstalované rozhraní příkazového řádku pro vývojáře Azure
- Instance služby Azure Key Vault, ke které máte přístup, nebo oprávnění k jejímu vytvoření.
Nastavení tajného kódu služby Key Vault
Pokud chcete nastavit tajný klíč služby Key Vault, spusťte azd env set-secret <name> příkaz, kde <name> je klíč v prostředí, které odkazuje na tajný klíč služby Key Vault. Po nastavení tajného klíče azd automaticky načte hodnotu ze služby Key Vault v následujících scénářích.
Parametry Bicep
Pokud chcete přidružit parametr Bicep k hodnotě tajného kódu služby Azure Key Vault, postupujte takto:
- Označte parametr Bicep jako zabezpečený pomocí klíčového slova
@secure(). - Vytvořte v
main.parameters.jsonsouboru mapování, které propojuje parametr Bicep s odpovídajícím klíčovým názvem v prostředí, které odkazuje na tajemství služby Azure Key Vault.
Poznámka:
Tajemství prostředí momentálně nejsou podporována, když používáte soubory parametrů Bicep (.bicepparam).
Příklad
azd V projektu spusťte azd env set-secret MY_SECRET a postupujte podle pokynů a vyberte existující tajný klíč služby Azure Key Vault nebo vytvořte nový. Po dokončení příkazu obsahuje klíč MY_SECRET odkaz na tajný klíč služby Key Vault. Přidejte nebo vyberte parametr Bicep, se kterým chcete hodnotu použít, a určete ho jako zabezpečený:
@secure()
param secureParameter string
Vytvořte mapování v main.parameters.json souboru:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"secureParameter": {
"value": "${MY_SECRET}"
}
}
}
Při příštím spuštění azd up nebo azd provision bude azd používat tajný kód služby Azure Key Vault jako hodnotu vašeho parametru.
Háčky
azd může automaticky načíst tajné kódy služby Azure Key Vault při spuštění háku. Ve výchozím nastavení se při azd spuštění háku nastaví všechny páry klíč-hodnota z prostředí projektu ( .env soubor) v prostředí háku. Odkazy na tajné kódy služby Key Vault se ale automaticky nepřeloží na odpovídající hodnoty tajných kódů.
Pokud chcete tyto odkazy vyřešit, postupujte takto:
- Vytvořte mapování z klíče v prostředí na nový klíč, ve kterém je vyřešeno tajemství služby Key Vault.
-
secretsK vytvoření tohoto mapování použijte pole v definici háku.
Příklad
azd V projektu spusťte azd env set-secret MY_SECRET a postupujte podle pokynů a vyberte existující tajný klíč služby Azure Key Vault nebo vytvořte nový. Po dokončení příkazu odkazuje klíč MY_SECRET na tajemství služby Key Vault. Vytvořte definici háku odpovídající vašemu operačnímu systému.
hooks:
preprovision:
run: 'echo ".env value: $MY_SECRET \nResolved secret: $SECRET_RESOLVE"'
shell: sh
interactive: true
secrets:
SECRET_RESOLVE: MY_SECRET
Při příštím spuštění azd provision se preprovision háček spustí a přeloží MY_SECRET do SECRET_RESOLVE.
Konfigurace kanálu
azd zjednodušuje proces nastavení kontinuální integrace (CI) pro vaši aplikaci. Bez ohledu na to, jestli používáte GitHub nebo Azure DevOps, spusťte azd pipeline config a postupujte podle pokynů ke konfiguraci CI/CD.
V rámci automatické konfigurace azd vytváří tajné kódy a proměnné pro pracovní postup nasazení CI/CD. Můžete také definovat vlastní proměnné a tajné klíče pomocí pipeline konfiguraci v azure.yaml. Názvy, které definujete, odpovídají klíčům ve vašem azd prostředí (.env). Pokud klíč obsahuje odkaz na tajný kód (akvs), použije jiné chování v závislosti na tom, azd jestli ho přidáte jako proměnnou nebo tajný klíč:
| Přístup | Uložená hodnota CI/CD | Rotace tajných klíčů | Nejvhodnější pro |
|---|---|---|---|
variables |
Referenční informace ke službě Key Vault (akvs://...) |
Automaticky – datový kanál vždy čte nejnovější hodnotu z Key Vaultu. | Pokud má principál služby CI/CD přístup ke čtení z Key Vault. |
secrets |
Skutečná hodnota tajného kódu | Manuálně – opětovné spuštění azd pipeline config po otočení. |
Pokud k instančnímu objektu nemůžete přiřadit přístup pro čtení služby Key Vault. |
Poznámka:
Při použití variables se azd pokusí přiřadit roli s oprávněním pro čtení k služebnímu principálu používanému pracovním postupem CI/CD. Pokud nemáte dostatečná oprávnění k přiřazení role pro čtení pro službu Key Vault, operace selže. Místo toho použijte secrets.
Příklad
Z inicializovaného azd projektu spusťte azd env set-secret SECURE_KEY a postupujte podle pokynů. Po dokončení azd env get-values příkazu se zobrazí odkaz:
SECURE_KEY="akvs://faa080af-c1d8-40ad-9cce-000000000000/vivazqu-kv/SECURE-KEY-kv-secret"
Přidat SECURE_KEY do seznamu variables nebo secrets do seznamu v 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
Při spuštění azd pipeline configSECURE_KEY se nastaví jako proměnná CI/CD s odkazem na službu Key Vault jako její hodnota. Pokud SECURE_KEY je také namapován na vstupní parametr Bicep nebo definici háku, azd automaticky vyřeší tajnou hodnotu v době běhu.