如何解决在不同租户上使用 Azure Active Directory 访问 Azure Service Fabric 应用程序上的 Key Vault
我在 tenantA 中有 Azure 服务结构集群,需要连接到 tenantB 中的 Azure Key Vault 以加载一些连接字符串托管在其上的应用程序需要
考虑尝试以下设置:
-
在 tenantA 中的 Service Fabric 集群和 tenantB 中的 Azure Key Vault 之间建立握手是通过使用 Azure AD 应用程序属于tenantB。
-
将属于 tenantB 的 Azure AD 应用程序 ID 配置到 tenantA
中的 Azure 服务结构应用程序配置 -
将 Azure AD 应用程序 ID 添加到 tenantB
中 Azure Key Vault 的访问策略
通过这种设置,Azure 服务结构集群和 Azure Key Vault 之间会发生握手吗?
(或)
Azure Service Fabric 集群、Azure Key Vault 和 Azure AD 应用程序必须在同一个租户中?
解决方法
通过这种设置,Azure 服务结构集群和 Azure Key Vault 之间会发生握手吗?
不行,当你将tenantB AD App Application ID添加到tenantB中Azure Key Vault的访问策略时,本质上是将AD App对应的服务主体添加到keyvault中。服务主体是一个租户中 AD 应用程序的特定实例,它仅适用于它所在的租户。
即使您通过admin consent URL同意tenantB AD App给tenantA,它也只是在tenantA中生成了一个新的服务主体(企业应用程序),这与您在keyvault中添加的对象不同,这是一个AD App与其对应的服务主体存在一对多关系。
Azure Service Fabric 集群、Azure Key Vault 和 Azure AD 应用程序必须在同一个租户中?
不完全是,但至少Service Fabric集群和Key Vault需要在同一个租户中,AD App可以在另一个租户中,但应该是multi-tenant app,那么你需要同意它到上面提到的 keyvault 和 Service Fabric 集群的租户,然后将新生成的服务主体添加到访问策略中,然后再在 Service Fabric 集群中使用它。如果您对 Azure AD 不是很熟悉,它会有点复杂,所以我建议您在同一个租户中使用它们。
有关 AD 应用程序和服务主体之间关系的更多详细信息,请参阅此 link。
,只要用于访问 Key Vault 的应用程序 ID 与 Key Vault 位于同一租户中,应用程序就可以从任何地方运行。应用程序(带有应用程序 ID)将从它自己的租户那里获取一个访问令牌,然后使用它来访问 Key Vault。使用应用程序 ID 和机密时,执行代码的环境可以拥有来自多个租户的身份。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。