0

基本上我有一个设置

  • azure 中的 Hub-Spoke 订阅和 vnet 拓扑。
  • 内部用户和开发人员访问的 AAD 和外部用户的 b2c。
  • AAD 和 Keyvault 在 HUB 订阅/VNET 中。
  • 在 Azure AKS 群集中部署的 API 位于分支订阅中。
  • 还有 API 管理位于与 AKS/API 相同的订阅和 VNET 中的 API 前面,因此在 Spoke 订阅中

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

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

1 回答 1

0

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

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

编辑以阐明高级访问策略

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

  • 启用部署
  • enabledForDiskEncryption
  • enabledForTemplateDeployment

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

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

于 2018-07-05T11:15:16.313 回答