Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
可通过两种方式验证和授权对 Azure 服务总线资源的访问:
- Microsoft Entra ID
- 共享访问签名 (SAS)
本文将详细介绍如何使用这两种类型的安全机制。
Microsoft Entra ID
Microsoft Entra 与服务总线的集成为服务总线资源提供了基于角色的访问控制 (RBAC)。 你可以使用 Azure RBAC 向安全主体授予权限,该主体可以是用户、组、应用程序服务主体或托管标识。 Microsoft Entra 将对安全主体进行身份验证并返回 OAuth 2.0 令牌。 此令牌可用于授权请求访问服务总线资源(队列、主题或订阅)。
注意
服务总线 REST API 支持使用 Microsoft Entra ID 进行 OAuth 身份验证。
使用来自 Microsoft Entra ID 的 OAuth 2.0 令牌授权用户或应用程序可提供优于共享访问签名的安全性和易用性。 使用 Microsoft Entra ID 时,无需在代码中存储令牌并面临潜在的安全漏洞的风险。 我们建议你尽可能通过 Azure 服务总线应用程序使用 Microsoft Entra ID。
可以为服务总线命名空间禁用本地或 SAS 密钥身份验证,仅允许 Microsoft Entra 身份验证。 有关分步说明,请参阅禁用本地身份验证。
共享访问签名
可以使用 SAS 身份验证 向用户授予对服务总线资源的访问权限,并具有特定权限。 服务总线中的 SAS 身份验证涉及配置具有服务总线资源相关权限的加密密钥。 客户端随后即可通过提供 SAS 令牌获取该资源的访问权限,该令牌由要访问的资源 URI 和签有已配置密钥的过期时间组成。
可以在服务总线命名空间上配置共享访问策略。 该密钥将应用到该命名空间中的所有消息传送实体。 还可在服务总线队列和主题上配置共享访问策略。 若要使用 SAS,可以在命名空间、队列或主题上配置共享访问授权规则。 此规则由以下元素组成:
-
KeyName:规则的名称。 -
PrimaryKey:用于对 SAS 令牌进行签名/验证的加密密钥。 -
SecondaryKey:用于对 SAS 令牌进行签名/验证的加密密钥。 -
Rights:已授予的侦听、发送或管理权限的集合。
命名空间级别配置的授权规则可以为通过相应密钥签名的令牌的客户端授予对命名空间中的所有实体的访问权限。 在服务总线命名空间、队列或主题上最多可配置 12 个此类规则。 默认情况下,在首次预配每个命名空间时,会为其配置具有所有权限的共享访问授权规则。
若要访问实体,客户端需要从特定共享访问授权规则和资源字符串的 HMAC-SHA256 签名生成的 SAS 令牌。 资源字符串由声明访问的资源 URI、一个与授权规则相关联的加密密钥以及一个到期时间组成。
相关内容
有关使用 Microsoft Entra ID 进行身份验证的详细信息,请参阅以下文章:
有关使用 SAS 进行身份验证的详细信息,请参阅以下文章: