Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De Azure Developer CLI (azd) ondersteunt het verwijzen naar Azure Key Vault-geheimen in uw projectomgeving (het .env bestand). Dit biedt een veilige optie voor het werken met gevoelige gegevens in uw azd projecten. Deze geheimen kunnen worden geïntegreerd met verschillende azd functies, zoals hooks en CI/CD-pijplijnconfiguraties.
Vereiste voorwaarden
- Azure Developer CLI geïnstalleerd.
- Een Azure Key Vault-exemplaar waartoe u toegang hebt of machtigingen om er een te maken.
Een Key Vault-geheim instellen
Als u een Key Vault-geheim wilt instellen, voert u de azd env set-secret <name> opdracht uit, waarbij <name> de sleutel zich in de omgeving bevindt die verwijst naar het Key Vault-geheim. Nadat u het geheim hebt ingesteld, haalt azd automatisch de waarde op uit de Sleutelkluis in de volgende scenario's.
Bicepparameters
Als u een Bicep-parameter wilt koppelen aan de waarde van een Azure Key Vault-geheim, voert u de volgende stappen uit:
- Annoteer de Bicep-parameter als beveiligd door de
@secure()sleutelwoord te gebruiken. - Maak een toewijzing in het
main.parameters.jsonbestand die de Bicep-parameter koppelt aan de bijbehorende sleutelnaam in de omgeving die verwijst naar het Azure Key Vault-geheim.
Opmerking
Omgevingsgeheimen worden momenteel niet ondersteund wanneer u Bicep-parameterbestanden (.bicepparam) gebruikt.
Voorbeeld
Vanuit een azd project, voer azd env set-secret MY_SECRET uit en volg de aanwijzingen om een bestaande Azure Key Vault-sleutel te selecteren of een nieuwe sleutel aan te maken. Nadat de opdracht is voltooid, bevat de sleutel MY_SECRET een verwijzing naar een Key Vault-geheim. Voeg of selecteer de Bicep-parameter waarmee u de waarde wilt gebruiken en geef deze als veilig aan:
@secure()
param secureParameter string
Maak de toewijzing in het main.parameters.json bestand:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"secureParameter": {
"value": "${MY_SECRET}"
}
}
}
De volgende keer dat u het Azure Key Vault-geheim uitvoert azd up of azd provisiongebruikt azd als de waarde voor uw parameter.
Haken
azd kan automatisch Azure Key Vault-geheimen ophalen wanneer een hook wordt uitgevoerd. Standaard, wanneer azd een hook uitvoert, worden alle sleutel-waardeparen uit de projectomgeving (het .env bestand) ingesteld in de omgeving van de hook. Verwijzingen naar Key Vault-geheimen worden echter niet automatisch omgezet in de bijbehorende geheime waarden.
Volg deze stappen om deze verwijzingen op te lossen:
- Maak een toewijzing van de sleutel in de omgeving naar een nieuwe sleutel waar het Key Vault-geheim is opgelost.
- Gebruik het
secrets-veld in de hookdefinitie om deze toewijzing te maken.
Voorbeeld
Voer in een azd-project azd env set-secret MY_SECRET uit en volg de instructies om een bestaand Azure Key Vault-geheim te selecteren of een nieuw geheim te maken. Nadat de opdracht is voltooid, verwijst de sleutel MY_SECRET naar een Key Vault-geheim. Maak een hookdefinitie die geschikt is voor uw besturingssysteem.
hooks:
preprovision:
run: 'echo ".env value: $MY_SECRET \nResolved secret: $SECRET_RESOLVE"'
shell: sh
interactive: true
secrets:
SECRET_RESOLVE: MY_SECRET
De volgende keer dat u azd provision uitvoert, wordt de preprovision-hook uitgevoerd die MY_SECRET oplost naar SECRET_RESOLVE.
Pijplijnconfiguratie
azd vereenvoudigt het proces van het instellen van continue integratie (CI) voor uw toepassing. Of u GitHub of Azure DevOps gebruikt, voert u azd pipeline config uit en volgt u de begeleide stappen om CI/CD te configureren.
Als onderdeel van de automatische configuratie, creëert azd geheimen en variabelen voor je CI/CD-implementatiewerkstroom. U kunt ook uw eigen variabelen en geheimen definiëren met behulp van de pipeline configuratie in azure.yaml. De namen die u definieert, komen overeen met sleutels in uw azd omgeving (.env). Als een sleutel een geheime verwijzing bevat (akvs), azd past u ander gedrag toe, afhankelijk van of u deze toevoegt als een variabele of een geheim:
| Methode | CI/CD-waarde opgeslagen | Geheime draaiing | Ideaal voor |
|---|---|---|---|
variables |
Key Vault-referentie (akvs://...) |
Automatisch: pijplijn leest altijd de meest recente waarde uit Key Vault. | Wanneer de CI/CD-service-principal leestoegang heeft tot Key Vault. |
secrets |
Werkelijke geheime waarde | Handmatig — herhaal azd pipeline config na rotatie. |
Wanneer u de leestoegang voor Key Vault niet aan de service-principal kunt toewijzen. |
Opmerking
Wanneer u variables gebruikt, probeert azd een rol voor leestoegang toe te wijzen aan de service-principal die wordt gebruikt door de CI/CD-werkstroom. Als u niet over voldoende machtigingen beschikt om de leesrol voor de Sleutelkluis toe te wijzen, mislukt de bewerking. Gebruik in plaats daarvan secrets.
Voorbeeld
Vanuit een geïnitialiseerd azd-project, voer azd env set-secret SECURE_KEY uit en volg de prompts. Nadat de opdracht is voltooid, toont azd env get-values de referentie:
SECURE_KEY="akvs://faa080af-c1d8-40ad-9cce-000000000000/vivazqu-kv/SECURE-KEY-kv-secret"
Voeg SECURE_KEY toe aan de variables- of secrets-lijst in 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
Wanneer u azd pipeline config uitvoert, wordt SECURE_KEY als een CI/CD-variabele ingesteld met de Key Vault-verwijzing als waarde. Als SECURE_KEY ook gekoppeld aan een Bicep-invoerparameter of een hookdefinitie is, azd wordt de geheime waarde tijdens uitvoering automatisch omgezet.