跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

category

作为开发人员,当您构建非用户应用程序时,您没有可以提示输入用户名和密码或多因素身份验证(MFA)的用户。您需要自己提供应用程序的身份。本文解释了为什么Azure上服务(非用户应用程序)的最佳零信任客户端凭据实践是Azure资源的托管标识。

服务帐户问题


使用“服务帐户”(创建用户帐户并将其用于服务)不是一个好的解决方案。Microsoft Entra ID没有服务帐户概念。当管理员为服务创建用户帐户,然后与开发人员共享密码时,这是不安全的。它不能没有密码或有MFA。最好的解决方案是使用以下客户端凭据选项之一,而不是将用户帐户用作服务帐户。

客户端凭据选项


有四种类型的客户端凭据可以标识应用程序。


密钥还是证书?


当您的企业拥有复杂的密钥管理基础架构(如Azure密钥库)时,密钥是可以接受的。然而,在IT专业人员生成密钥并将其通过电子邮件发送给开发人员的情况下,密钥可能会被存储在电子表格等不安全的位置,从而导致密钥得不到适当的保护。

基于证书的客户端凭据比密钥更安全。证书管理得更好,因为它们本身不是秘密。这个秘密不是传输的一部分。当您使用密钥时,您的客户端会将密钥的实际值发送给Microsoft Entra ID。当您使用证书时,证书的私钥永远不会离开设备。即使有人拦截、解码和解密传输,秘密仍然是安全的,因为拦截方没有私钥。

最佳实践:为Azure资源使用托管标识


当您在Azure中开发服务(非用户应用程序)时,Azure资源的托管身份会在Microsoft Entra ID中自动提供一个托管身份。该应用程序可以对任何支持Microsoft Entra身份验证的服务进行身份验证,而无需管理凭据。你不需要管理秘密;你不需要考虑丢失或处理不当的可能性。秘密无法被拦截,因为它们不会在网络中移动。如果您在Azure上构建服务,Azure资源的托管身份是最佳做法。

下一步

  • 单租户和多租户应用程序支持的身份和帐户类型解释了如何选择您的应用程序是否只允许来自您的Microsoft Entra租户、任何Microsoft Entra承租人或拥有个人Microsoft帐户的用户。
  • 制定应用程序权限策略可以帮助您决定凭据管理的应用程序权限方法。
  • 在没有用户的情况下提供应用程序身份凭据。这解释了为什么Azure资源的托管身份是Azure上服务(非用户应用程序)的最佳客户端凭据实践。
  • 授权最佳实践可帮助您为应用程序实现最佳授权、权限和同意模型。
  • 在应用程序开发生命周期中使用零信任身份和访问管理开发最佳实践来创建安全的应用程序。
  • 使用零信任身份方法构建应用程序提供了权限和访问最佳实践的概述。
本文地址
最后修改
星期四, 七月 25, 2024 - 14:47
Article