首页 > 解决方案 > 使用 Azure 托管服务标识、AKS、AAD 和 Key Vault 时。所有这些资源是否需要在同一个订阅/资源组或 VNET 中

问题描述

基本上我有一个设置

鉴于上述设置,我有这些问题

  1. 是否所有 API、API 管理、Keyvault 和 Azure AD 都需要绑定到同一个订阅,或者我可以在我的中心订阅中拥有 Keyvault,而在不同订阅中拥有其他服务。
  2. 我们是否将每个 API 注册为与 KEYVAULT 相同的 AAD 中的应用程序,或者我们可以只注册 API 管理并使用 API 管理来获取机密。
  3. 我们是否可以使用托管服务标识,即使组件在不同的订阅中但在同一个 Azure AD 中注册

标签: azurearchitectureazure-active-directoryazure-api-managementazure-aks

解决方案


Azure 中的身份验证是在租户级别完成的,因此假设您没有使用 Key Vault 的高级服务(ARM 访问、VM 加密等),您可以在一个订阅中拥有您的 Key Vault,并在不同订阅中从 MSI 访问它 -只要您授予该 MSI 用户对密钥保管库的权限。

只要您授予资源权限,AAD 就很少意识到订阅(订阅基本上是您可以授予权限的一大资源)

编辑以阐明高级访问策略

密钥保管库有三种高级访问策略。

  • 启用部署
  • enabledForDiskEncryption
  • enabledForTemplateDeployment

enabledForTemplateDeployment仅当您从 ARM 模板部署中读取机密时,该策略才适用。即,如果您直接从 Key Vault 传递 VM 密码。

对于您的情况,如果这是一个要求,那么您可以简单地将它们放在位于同一订阅中的不同密钥保管库中。


推荐阅读