Toegang tot Key Vault-geheim bij het implementeren van door Azure beheerde toepassingen
Wanneer u tijdens de implementatie een veilige waarde (zoals een wachtwoord) als parameter moet doorgeven, kunt u de waarde ophalen uit een Azure Key Vault. Als u toegang wilt krijgen tot de Key Vault bij het implementeren van beheerde toepassingen, moet u toegang verlenen tot de service-principal van de resourceprovider van het apparaat. De service Beheerde toepassingen gebruikt deze identiteit om bewerkingen uit te voeren. Als u tijdens de implementatie een waarde uit een Key Vault wilt ophalen, moet de service-principal toegang hebben tot de Key Vault.
In dit artikel wordt beschreven hoe u key vault configureert voor gebruik met beheerde toepassingen.
Sjabloonimplementatie inschakelen
Meld u aan bij het Azure-portaal.
Open uw sleutelkluis. Voer sleutelkluizen in het zoekvak in of selecteer Sleutelkluizen.
Selecteer De configuratie van Access.
Selecteer Azure Resource Manager voor sjabloonimplementatie. Selecteer Vervolgens Toepassen.
Service toevoegen als inzender
Wijs de rol Inzender toe aan de gebruiker van de resourceprovider van het apparaat op het bereik van de sleutelkluis. De rol Inzender is een bevoorrechte beheerdersrol voor de roltoewijzing. Voor gedetailleerde stappen gaat u naar Azure-rollen toewijzen met behulp van Azure Portal.
De resourceprovider van het apparaat is een service-principal in uw Microsoft Entra-tenant. Vanuit Azure Portal kunt u de registratie controleren bij Microsoft Entra ID>Enterprise-toepassingen en het zoekfilter wijzigen in Microsoft-toepassingen. Zoek naar de resourceprovider van het apparaat. Als de service-principal niet wordt gevonden, registreert u de Microsoft.Solutions
resourceprovider.
Key Vault-geheim verwijzen
Als u een geheim van een Sleutelkluis wilt doorgeven aan een sjabloon in uw beheerde toepassing, moet u een gekoppelde of geneste sjabloon gebruiken en verwijzen naar de Key Vault in de parameters voor de gekoppelde of geneste sjabloon. Geef de resource-id van de sleutelkluis en de naam van het geheim op.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location where the resources will be deployed."
}
},
"vaultName": {
"type": "string",
"metadata": {
"description": "The name of the key vault that contains the secret."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "The name of the secret."
}
},
"vaultResourceGroupName": {
"type": "string",
"metadata": {
"description": "The name of the resource group that contains the key vault."
}
},
"vaultSubscription": {
"type": "string",
"defaultValue": "[subscription().subscriptionId]",
"metadata": {
"description": "The name of the subscription that contains the key vault."
}
}
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "dynamicSecret",
"properties": {
"mode": "Incremental",
"expressionEvaluationOptions": {
"scope": "inner"
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminLogin": {
"type": "string"
},
"adminPassword": {
"type": "securestring"
},
"location": {
"type": "string"
}
},
"variables": {
"sqlServerName": "[concat('sql-', uniqueString(resourceGroup().id, 'sql'))]"
},
"resources": [
{
"type": "Microsoft.Sql/servers",
"apiVersion": "2022-05-01-preview",
"name": "[variables('sqlServerName')]",
"location": "[parameters('location')]",
"properties": {
"administratorLogin": "[parameters('adminLogin')]",
"administratorLoginPassword": "[parameters('adminPassword')]"
}
}
],
"outputs": {
"sqlFQDN": {
"type": "string",
"value": "[reference(variables('sqlServerName')).fullyQualifiedDomainName]"
}
}
},
"parameters": {
"location": {
"value": "[parameters('location')]"
},
"adminLogin": {
"value": "ghuser"
},
"adminPassword": {
"reference": {
"keyVault": {
"id": "[resourceId(parameters('vaultSubscription'), parameters('vaultResourceGroupName'), 'Microsoft.KeyVault/vaults', parameters('vaultName'))]"
},
"secretName": "[parameters('secretName')]"
}
}
}
}
}
],
"outputs": {
}
}
Volgende stappen
U hebt uw Key Vault zo geconfigureerd dat deze toegankelijk is tijdens de implementatie van een beheerde toepassing.
- Voor informatie over het doorgeven van een waarde uit een Key Vault als sjabloonparameter, gaat u naar Azure Key Vault gebruiken om tijdens de implementatie beveiligde parameterwaarde door te geven.
- Ga naar Azure Key Vault-beveiliging en -verificatie in Azure Key Vault voor meer informatie over sleutelkluisbeveiliging.
- Ga voor voorbeelden van beheerde toepassingen naar Voorbeeldprojecten voor door Azure beheerde toepassingen.
- Ga naar Aan de slag met CreateUiDefinition voor meer informatie over het maken van een UI-definitiebestand voor een beheerde toepassing.