Přístup Key Vault tajného klíče při nasazení Azure Managed Applications
Pokud během nasazení potřebujete předat zabezpečenou hodnotu (třeba heslo) jako parametr, můžete načíst hodnotu z Azure Key Vault. Pro přístup k Key Vault při nasazování spravovaných aplikací musíte udělit přístup k instančnímu objektu poskytovatele prostředků zařízení . Služba spravovaných aplikací používá tuto identitu ke spuštění operací. Chcete-li úspěšně načíst hodnotu z Key Vault během nasazení, instanční objekt musí být schopný získat přístup k Key Vault.
Tento článek popisuje, jak nakonfigurovat Key Vault pro práci se spravovanými aplikacemi.
Povolit nasazení šablony
Na portálu vyberte svůj Key Vault.
Vyberte Zásady přístupu.

Vyberte Kliknutím zobrazíte pokročilé zásady přístupu.

Pro nasazení šablony vyberte Povolit přístup k Azure Resource Manager. Pak vyberte Uložit.

Přidat službu jako přispěvatele
Přiřaďte roli přispěvatele k uživateli poskytovatele prostředků zařízení v oboru trezoru klíčů.
Podrobný postup najdete v tématu přiřazení rolí Azure pomocí Azure Portal.
Reference Key Vault tajný klíč
Chcete-li předat tajný kód z Key Vault do šablony ve spravované aplikaci, je nutné použít propojenou nebo vnořenou šablonu a odkazovat na Key Vault v parametrech pro propojenou nebo vnořenou šablonu. Zadejte ID prostředku Key Vault a název tajného klíče.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-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 keyvault 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 keyvault."
}
},
"vaultSubscription": {
"type": "string",
"defaultValue": "[subscription().subscriptionId]",
"metadata": {
"description": "The name of the subscription that contains the keyvault."
}
}
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2018-05-01",
"name": "dynamicSecret",
"properties": {
"mode": "Incremental",
"expressionEvaluationOptions": {
"scope": "inner"
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-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": "2018-06-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": {
}
}
Další kroky
Nakonfigurovali jste Key Vault, aby byly dostupné během nasazování spravované aplikace.
- Informace o předání hodnoty z Key Vault jako parametru šablony naleznete v tématu použití Azure Key Vault k předání hodnoty zabezpečeného parametru během nasazování.
- Příklady spravovaných aplikací najdete v tématu Ukázkové projekty pro spravované aplikace Azure.
- Pokud chcete zjistit, jak vytvořit definiční soubor uživatelského rozhraní pro spravovanou aplikaci, přečtěte si téma Začínáme s CreateUiDefinition.