具有托管标识的逻辑应用程序,当新的 Azure KeyVault 密钥过期时会触发

问题描述 投票:0回答:1

我已成功创建一个逻辑应用程序,可以在 Azure KeyVault 密钥即将过期时发送电子邮件。这适用于我自己的凭据,但我无法使其适用于托管身份 API 连接。

对于我的逻辑应用程序,我启用了系统身份。选择“当事件网格资源事件发生时”作为触发器,并将 RBAC 角色“Key Vault 管理员”添加到我的 Azure KeyVault

现在,我可以在触发器的下拉菜单中选择我的 KeyVault,这意味着我的托管身份确实与 KeyVault 有连接,并且我可以在下拉列表中选取值:

当我尝试保存此内容时,出现以下错误:

无法保存逻辑应用logic-secrets-expiry-poc-mi。工作流连接参数“azureeventgrid”无效。 API 连接“azureeventgrid”配置为支持托管标识,但连接参数在连接属性中缺少“身份验证”属性,或者身份验证类型不是“ManagedServiceIdentity”。

我在这里缺少什么?

更新:我找到了解决方法。我在 UI 中的代码视图中,将其添加到连接部分:

"connectionProperties": {
        "authentication": {
             "type": "ManagedServiceIdentity"
                   }
         }

现在看起来像这样:

这允许我将逻辑应用程序保存在门户中而不会出现错误。

更新:但是,即使我添加另一个事件来监听(例如“Microsoft.KeyVault.SecretNewVersionCreated”)并尝试在 KeyVault 中创建新的 Secret,我也无法触发它。它没有被触发。

azure azure-logic-apps azure-keyvault azure-managed-identity azure-eventgrid
1个回答
0
投票

未触发。

我已经被触发了,以下是我的方法:

首先将此角色授予我的逻辑应用程序的托管身份:

enter image description here

然后给了 Key Vault 保密官:

enter image description here

Key Vault 需要 RBAC:

enter image description here

然后用了下面的

design
:

/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupname>/providers/Microsoft.KeyVault/vaults/<keyvaultname>

enter image description here

Output:

当版本更改时,它会被触发。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.