我已在Azure逻辑应用程序上使用Azure密钥保险库。但是我无法访问Azure Logic APP API连接的值。基本上,我必须从Azure Key保管库获取SQL连接器的用户名和密码。如果您可以提出建议,我们将如何实现这一目标。
答案 0 :(得分:0)
据我所知,Azure逻辑应用程序无法访问门户网站api连接中的密钥库。如果要访问密钥库,可以使用rest api来访问它。 您需要在逻辑应用程序中启用msi(下面的链接显示我们可以在“工作流程设置”中进行msi修改,但当前已更改,我们需要在逻辑应用程序的“身份”刀片中启用它)并使用http操作访问您的密钥库。
您可以参考此链接以获取更多信息:https://devkimchi.com/2018/10/24/accessing-key-vault-from-logic-apps-with-managed-identity/
答案 1 :(得分:0)
创建连接API后,将不会输出任何敏感信息。
使用ARM模板,您可以创建API连接,但是在旋转凭据时它不会更新连接详细信息,您必须重新部署模板。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"sqlConnectionAPIName": {
"type": "string",
"metadata": {
"description": "The name of the connection api to access the service bus namepsace."
}
},
"sqlserverName": {
"type": "string",
"metadata": {
"description": "The Name of the SQL Server instance."
}
},
"databaseName": {
"type": "string",
"metadata": {
"description": "The name of the database."
}
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Web/connections",
"name": "[parameters('sqlConnectionAPIName')]",
"apiVersion": "2018-07-01-preview",
"location": "[resourceGroup().location]",
"scale": null,
"properties": {
"displayName": "[parameters('sqlConnectionAPIName')]",
"parameterValues": {
"server": "[reference(resourceId('Microsoft.Sql/servers', parameters('sqlserverName')), '2015-05-01-preview').fullyQualifiedDomainName]",
"database": "[parameters('databaseName')]",
"username": "[reference(resourceId('Microsoft.Sql/servers', parameters('sqlserverName')), '2015-05-01-preview').administratorLogin]",
"password": "[reference(resourceId('Microsoft.Sql/servers', parameters('sqlserverName')), '2015-05-01-preview').administratorLoginPassword]"
},
"api": {
"id": "[concat('subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/sql')]"
}
},
"dependsOn": []
}
]
}