你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Spring Apps 登陆区域加速器的标识和访问管理
本文介绍在 Azure Spring Apps 中对用户进行身份验证的设计注意事项和建议,并向用户授予对工作负荷资源的必要访问权限级别。
集中式平台团队和应用程序团队必须充分了解:
- 哪些团队需要访问部署在应用程序登陆区域中的 Azure Spring 应用工作负荷。
- 用户和需要访问权限的用户的角色和责任。
- 执行这些职责所需的最低特权级别。
有关平台设计的信息,请参阅 Azure 标识和访问管理设计区域。
作为工作负荷所有者,请遵循这些最佳做法,确保应用程序资源不会违反组织安全或治理边界。 目标是确保已部署的 Azure Spring 应用和工作负荷的相关资源是安全的,并且只有经过授权的用户才能访问。 遵循这些做法时,可以保护敏感数据并防止滥用应用及其资源。
设计注意事项
从应用程序访问其他服务。 当应用程序连接到属于工作负荷的后端服务时,应用程序应自行进行身份验证。 此身份验证可保护服务免受未经授权的访问。 请考虑使用 Microsoft Entra ID 的功能来防止存储和管理凭据的开销。
对应用程序的访问。 用户可能会通过公共 Internet 向应用程序发送请求。 或者请求可能来自专用网络或本地网络。 无论哪种情况,都必须根据客户端证书或通过 Microsoft Entra ID 对访问进行身份验证。
请考虑调用应用之间调用调用的服务发现机制的技术选项。 这些选项因 Azure Spring Apps 层而异。
操作员对资源的访问。 承担不同职责的团队成员可能会访问工作负荷。 例如,可能需要授予对以下项的访问权限:
- 需要操作访问权限的平台团队成员。
- 开发应用程序的应用程序团队成员。
- 生成和发布管道以使用基础结构即代码(IaC)部署工作负载和配置的 DevOps 工程师。
- 用于排查问题的站点可靠性工程师。
根据访问的目的,决定要提供给用户的控制级别。 从最低特权原则开始。 RBAC 角色分配可以确保用户对其职责拥有正确的权限集并维护边界。 在创建自定义角色之前,请考虑使用内置 RBAC 角色。
配置数据访问。 根据 Azure Spring Apps(基本/标准 或 企业)的选择层,需要确定配置服务器选项。
对于 “基本”,请考虑对服务器端和客户端的支持。 若要存储配置文件,请在分布式系统中选择外部化配置,例如 Azure DevOps、GitHub、GitLab 或 Bitbucket。
可以使用公共或专用存储库,并选择其身份验证机制。 Azure Spring Apps 支持基本密码或基于令牌的身份验证和 SSH。
对于 企业版,请考虑使用 VMware Tanzu 的应用程序配置服务,以便管理从一个或多个 Git 存储库中定义的属性填充的 Kubernetes 本机 ConfigMap 资源。
设计建议
托管标识
对应用程序使用托管标识,以便通过 Microsoft Entra ID 对其进行身份验证。 并非所有服务都支持 Microsoft Entra ID 的此功能。 有关详细信息,请参阅 支持 Microsoft Entra 身份验证的 Azure 服务。
确定哪种类型的 托管标识 适合你的用例。 考虑权衡,轻松管理。 例如,如果应用程序需要访问多个资源,建议使用用户分配的托管标识。 但是,如果想要绑定到应用程序生命周期的权限,则系统托管标识可能更适合。
有关详细信息,请参阅 “选择系统或用户分配的托管标识”。
使用内置的 Azure RBAC 角色来简化托管标识所需权限的管理。
- 为 Azure Spring Apps 使用自己的托管标识。
- 单独使用系统分配的托管标识和用户分配的托管标识。 有关详细信息,请参阅 使用托管标识时的最佳做法。
- 在 Microsoft Entra ID 中使用 Privileged Identity Management。
保护 Internet 通信
- 使用证书颁发机构、扩展验证证书或野生证书颁发的证书卡证书。
- 仅对预生产环境使用自签名证书。
- 从 Azure 密钥库安全地加载证书。
基于角色的访问控制 (RBAC)
- 请考虑创建自定义角色。 当现用角色需要修改现有权限时,请遵循最低特权原则。
- 为密钥、机密、证书和应用程序配置选择增强的安全性存储。
- 对于自动部署,请设置一个服务主体,该主体具有从 CI/CD 管道进行部署所需的最低权限。
- 为应用程序控制台、系统日志、入口日志、生成日志和容器事件日志启用诊断日志记录。 可以使用这些详细的日志来诊断应用问题并监视访问请求。 启用这些日志时,Azure Monitor 活动日志可让你深入了解订阅级事件。