我可以使用 RBAC 访问 Azure 服务总线中继吗?

问题描述

我知道我可以使用 SAS 令牌身份验证访问 Azure 服务总线中的任何内容,而且似乎通过 RBAC 访问现在正成为事件中心等事物的首选身份验证方法。我在 GitHub 上的各种网络文章或示例中找不到确凿的证据表明可以通过 RBAC 授予 Azure 中继混合连接访问权限。由于各种原因,恕我直言,RBAC 更可取,但如果它不受支持,那么我将不得不走 SAS 路线,这可能会给我带来一些无法解决的问题。 TIA。

解决方法

嗯,据我所知,混合连接不支持 RBAC。

本质上,我们更喜欢使用 RBAC,因为我们可以在将 RBAC 角色授予 Azure 资源后使用 Azure AD 身份验证,这是一种更安全的方式。

因此,在您的场景中,如果您想避免安全问题,最好的选择是使用 Azure Keyvault,仅使用 store the SASKey as a secret in keyvault,然后仅使用添加到 access policy 的客户端(或者如果您在密钥库的 Access policies 刀片中选择 Key Vault Administrator,则具有 Azure role-based access control 角色)有权访问机密。

然后在您的代码中,您不需要公开 SASKey,只需先使用 SDK 获取机密,然后根据您的要求继续使用它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...