Přístup k tajnému kódu služby Key Vault při nasazování spravovaných aplikací Azure
Pokud během nasazování potřebujete předat zabezpečenou hodnotu (třeba heslo), můžete ji načíst ze služby Azure Key Vault. Pokud chcete získat přístup ke službě 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é aplikace používá tuto identitu ke spouštění operací. Aby bylo možné úspěšně načíst hodnotu ze služby Key Vault během nasazování, musí mít instanční objekt přístup ke službě Key Vault.
Tento článek popisuje, jak nakonfigurovat službu Key Vault tak, aby fungovala se spravovanými aplikacemi.
Povolení nasazení šablony
Přihlaste se k portálu Azure.
Otevřete trezor klíčů. Do vyhledávacího pole zadejte trezory klíčů nebo vyberte trezory klíčů.
Vyberte konfiguraci accessu.
Vyberte Azure Resource Manager pro nasazení šablony. Pak vyberte Použít.
Přidání služby jako přispěvatele
Přiřaďte roli Přispěvatel uživateli poskytovatele prostředků zařízení v oboru trezoru klíčů. Role Přispěvatel je privilegovaná role správce pro přiřazení role. Podrobný postup najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.
Poskytovatel prostředků zařízení je instanční objekt ve vašem tenantovi Microsoft Entra. Na webu Azure Portal můžete ověřit jeho registraci v podnikových aplikacích Microsoft Entra ID>a změnit filtr vyhledávání na Aplikace Microsoftu. Vyhledejte poskytovatele prostředků zařízení. Pokud se instanční objekt nenajde, zaregistrujte Microsoft.Solutions
poskytovatele prostředků.
Referenční tajný kód služby Key Vault
Pokud chcete předat tajný klíč ze služby Key Vault do šablony ve spravované aplikaci, musíte použít propojenou nebo vnořenou šablonu a odkazovat na službu Key Vault v parametrech pro propojenou nebo vnořenou šablonu. Zadejte ID prostředku služby Key Vault a název tajného kódu.
{
"$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": {
}
}
Další kroky
Nakonfigurovali jste službu Key Vault tak, aby byla přístupná během nasazování spravované aplikace.
- Informace o předání hodnoty ze služby Key Vault jako parametru šablony najdete v tématu Použití služby Azure Key Vault k předání hodnoty zabezpečeného parametru během nasazování.
- Další informace o zabezpečení trezoru klíčů najdete v tématu Zabezpečení a ověřování služby Azure Key Vault ve službě Azure Key Vault.
- Příklady spravovaných aplikací najdete v ukázkových projektech pro spravované aplikace Azure.
- Pokud chcete zjistit, jak vytvořit definiční soubor uživatelského rozhraní pro spravovanou aplikaci, přejděte do části Začínáme s CreateUiDefinition.