Åtkomst till Key Vault-hemlighet när du distribuerar Azure Managed Applications
När du behöver skicka ett säkert värde (till exempel ett lösenord) som en parameter under distributionen kan du hämta värdet från ett Azure Key Vault. För att få åtkomst till Key Vault när du distribuerar hanterade program måste du bevilja åtkomst till tjänstens huvudnamn för apparatresursprovidern . Tjänsten Hanterade program använder den här identiteten för att köra åtgärder. För att kunna hämta ett värde från ett Key Vault under distributionen måste tjänstens huvudnamn kunna komma åt Key Vault.
I den här artikeln beskrivs hur du konfigurerar Key Vault så att det fungerar med hanterade program.
Aktivera malldistribution
Logga in på Azure-portalen.
Öppna nyckelvalvet. Ange nyckelvalv i sökrutan eller välj Nyckelvalv.
Välj Åtkomstkonfiguration.
Välj Azure Resource Manager för malldistribution. Välj sedan Använd.
Lägg till tjänst som deltagare
Tilldela rollen Deltagare till användaren av resursprovidern för installationen i nyckelvalvets omfång. Rollen Deltagare är en privilegierad administratörsroll för rolltilldelningen. Detaljerade steg finns i Tilldela Azure-roller med hjälp av Azure Portal.
Resursprovidern för installationen är ett huvudnamn för tjänsten i din Microsoft Entra-klientorganisation. Från Azure Portal kan du verifiera registreringen i Microsoft Entra ID>Enterprise-program och ändra sökfiltret till Microsoft Applications. Sök efter resursprovidern för installationen. Om tjänstens huvudnamn inte hittas registrerar du Microsoft.Solutions
resursprovidern.
Referens till Key Vault-hemlighet
Om du vill skicka en hemlighet från ett Nyckelvalv till en mall i ditt hanterade program måste du använda en länkad eller kapslad mall och referera till Key Vault i parametrarna för den länkade eller kapslade mallen. Ange resurs-ID för Key Vault och namnet på hemligheten.
{
"$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": {
}
}
Nästa steg
Du har konfigurerat ditt Key Vault så att det är tillgängligt under distributionen av ett hanterat program.
- Information om hur du skickar ett värde från ett Key Vault som en mallparameter finns i Använda Azure Key Vault för att skicka säkert parametervärde under distributionen.
- Om du vill veta mer om key vault-säkerhet går du till Säkerhet och autentisering för Azure Key Vault i Azure Key Vault.
- För exempel på hanterade program går du till Exempelprojekt för Azure-hanterade program.
- Om du vill lära dig hur du skapar en användargränssnittsdefinitionsfil för ett hanterat program går du till Kom igång med CreateUiDefinition.