Zugreifen auf das Geheimnis im Schlüsseltresor bei der Bereitstellung von Azure Managed Applications
Wenn Sie einen zu schützenden Wert (z.B. ein Kennwort) während der Bereitstellung als Parameter übergeben müssen, können Sie den Wert aus einer Instanz von Azure Key Vault abrufen. Um bei der Bereitstellung verwalteter Anwendungen auf den Schlüsseltresor zuzugreifen, müssen Sie Zugriff auf den Dienstprinzipal des Applianceressourcenanbieters gewähren. Der Managed Applications-Dienst verwendet diese Identität, um Vorgänge auszuführen. Um einen Wert während der Bereitstellung erfolgreich aus einem Schlüsseltresor abzurufen, muss der Dienstprinzipal auf den Schlüsseltresor zugreifen können.
Dieser Artikel beschreibt, wie Sie den Schlüsseltresor zum Arbeiten mit verwalteten Anwendungen konfigurieren.
Aktivieren der Vorlagenbereitstellung
Melden Sie sich beim Azure-Portal an.
Öffnen Sie Ihren Schlüsseltresor. Geben Sie Schlüsseltresore in das Suchfeld ein, oder wählen Sie Schlüsseltresore aus.
Wählen Sie Zugriffskonfiguration aus.
Wählen Sie Azure Resource Manager für Vorlagenbereitstellung. Wählen Sie dann Übernehmen aus.
Hinzufügen des Diensts als Mitwirkender
Weisen Sie die Rolle Mitwirkender dem Benutzer Applianceressourcenanbieter im Schlüsseltresorbereich zu. Die Rolle Mitwirkender ist eine privilegierte Administratorrolle für die Rollenzuweisung. Ausführliche Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.
Der Applianceressourcenanbieter ist ein Dienstprinzipal im Mandanten Ihrem Microsoft Entra-Mandanten. Im Azure-Portal können Sie die Registrierung bestätigen, indem Sie zu Microsoft Entra ID>Unternehmensanwendungen wechseln und den Suchfilter zu Microsoft-Anwendungen ändern. Suchen Sie nach Appliance-Ressourcenanbieter. Wenn der Dienstprinzipal nicht gefunden wird, registrieren Sie den Microsoft.Solutions
-Ressourcenanbieter.
Verweisen auf Schlüsseltresorgeheimnis
Um ein Geheimnis aus einem Schlüsseltresor an eine Vorlage in Ihrer verwalteten Anwendung zu übergeben, müssen Sie eine verknüpfte oder geschachtelte Vorlage verwenden und in den Parametern für die verknüpfte oder geschachtelte Vorlage auf den Schlüsseltresor verweisen. Geben Sie die Ressourcen-ID des Schlüsseltresors und den Namen des Geheimnisses an.
{
"$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ächste Schritte
Sie haben Ihren Schlüsseltresor so konfiguriert, dass während der Bereitstellung einer verwalteten Anwendung darauf zugegriffen werden kann.
- Informationen zum Übergeben eines Werts aus einem Schlüsseltresor als Vorlagenparameter finden Sie unter Verwenden von Azure Key Vault zum Übergeben eines sicheren Parameterwerts während der Bereitstellung.
- Weitere Informationen zur Sicherheit von Schlüsseltresoren finden Sie unter Azure Key Vault-Sicherheit und Authentifizierung in Azure Key Vault.
- Beispiele zu verwalteten Anwendungen finden Sie unter Beispielprojekte für verwaltete Azure-Anwendungen.
- Informationen zum Erstellen einer UI-Definitionsdatei für eine verwaltete Anwendung finden Sie unter Erste Schritte mit „CreateUiDefinition“.