使用 Azure 托管服务标识、AKS、AAD 和密钥保管库时。所有这些资源是否需要在同一个 subscription/Resource 组或 VNET 中

While using Azure Managed service Identity, AKS, AAD and Key vault. Do all these resources need to be in the same subscription/Resource group or VNET

基本上我有一个设置

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

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

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

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

编辑以阐明高级访问策略

Key Vault 共有三种高级访问策略。

  • enabledForDeployment
  • enabledForDiskEncryption
  • enabledForTemplateDeployment

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

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