用户分配的托管标识的隔离范围

可以将托管标识的隔离范围值设置为 NoneRegional

  • (默认值):标识可以跨所有区域使用
  • 区域:标识只能由托管标识所在的同一区域中的源资源使用

设置隔离范围 Regional 来确保托管标识的使用被严格限定,并与你的安全和运营边界保持一致。 用户分配的托管标识的区域隔离通过限制可以使用托管标识的位置来帮助提高安全性和复原能力。

了解区域隔离

使用托管标识的情况下,资源有两种类型:

  • 源资源:已向其分配托管标识的资源
  • 目标资源:源资源使用托管标识访问的资源

例如,如果应用服务需要使用托管标识访问存储帐户,则应用服务是源资源,而存储帐户是目标资源。

区域隔离适用于托管标识与源资源之间的关系。 启用区域隔离范围时:

  • 托管标识只能分配给同一区域中的源资源。
  • 源资源仍然可以访问其他区域中的目标资源(具有适当的角色权限)。 例如,分配给中国北部源资源的托管标识可用于访问西班牙中部或阿联酋北部的目标资源。

区域隔离的优点

区域隔离提供了几个关键优势:

最大程度地减少安全泄露

通过将托管标识的范围限定为单个区域,可以阻止跨区域使用托管标识,从而在标识遭到入侵时减少爆炸半径。 如果没有隔离,一个区域中颁发的令牌可用于访问另一个区域中的资源,从而增加凭据被盗或滥用的潜在影响。

通过设计强制实施最小特权

区域隔离可确保标识仅被授予对其所在区域中资源的访问权限,并阻止服务通过取消分配标识来保留不必要的特权。 这有助于团队避免无意中授予对其他区域中服务或数据的访问权限。

将故障限制在单一区域内

如果某个托管标识配置错误或遭到泄露,通过区域范围限定可确保安全事件和服务中断的影响范围被有效控制。 如果没有隔离,单个标识可能会中断跨多个区域的服务,从而破坏故障隔离策略。

提高服务复原能力

区域范围限制标识配置错误导致的中断范围。 例如,如果某个区域的角色分配或令牌颁发失败,该故障也不会级联到你的全球业务版图。

支持可靠的灾难恢复

使用特定于区域的标识,可以为每个区域设计独立的恢复策略。 这可以避免在区域故障转移或恢复期间全局标识成为瓶颈或单一故障点的情况。

将隔离范围设置为 none 的风险

如果未将用户分配的托管标识上的隔离范围属性设置为 None (默认值),则可以在所有区域使用标识。 这引入了一些风险:

  • 跨区域令牌用法:一个区域中颁发的令牌可用于访问另一个区域中的资源,违反了数据驻留或符合性边界。
  • 意外访问:你可能会无意中将标识分配给多个区域的资源,导致访问范围超出预期。
  • 更难审核和故障排除:如果没有隔离,很难跟踪哪些资源正在使用标识以及哪些位置使事件响应复杂化。
  • 影响范围扩大:被盗用的标识可用于访问整个部署(而不仅仅是一个区域中)中的资源。

若要避免这些风险,请将隔离范围设置为 Regional 创建用户分配的托管标识时。

最佳做法

最大化区域隔离的好处:

  • 为每个区域使用一个托管标识:为每个部署服务的 Azure 区域创建单独的托管标识
  • 将托管标识区域与计算资源匹配:确保托管标识与其源资源位于同一区域中
  • 规划依赖项:确保共享托管标识的所有计算资源都有权访问相同的依赖项。 这些依赖项是计算资源(如 VM、Function App 或应用服务)需要使用其托管标识访问的下游服务、资源或系统。

后续步骤