每次从事件中心发布或使用事件时,客户端都会访问事件中心资源。 必须授权对安全资源的每个请求,以确保客户端具有发布或使用数据所需的权限。
Azure 事件中心提供以下选项,用于授权访问安全资源:
- Microsoft Entra ID
- 共享访问签名
注意
本文适用于事件中心和 Apache Kafka 方案。
Microsoft Entra ID
Microsoft Entra ID 与 Event Hubs 资源的集成使您可以使用 Azure 基于角色的访问控制(RBAC)对客户资源访问进行细致控制。 使用 Azure RBAC 向安全主体(可能是用户、组或应用程序服务主体)授予权限。 Microsoft Entra ID 认证安全主体,然后返回 OAuth 2.0 令牌。 该令牌用于授权访问事件中心资源的请求。
有关使用 Microsoft Entra ID 进行身份验证的详细信息,请参阅以下文章:
共享访问签名
事件中心资源的共享访问签名(SAS)允许你委托对事件中心资源的有限访问权限。 对签名的有效时间段或其授予的权限添加限制,可提高资源管理的灵活性。 有关详细信息,请参阅使用共享访问签名 (SAS) 进行身份验证。
使用Microsoft Entra ID的OAuth 2.0令牌授权用户或应用,比SAS提供更好的安全性和易用性。 使用 Microsoft Entra ID 时,无需将访问令牌与代码一起存储,从而降低潜在的安全风险。 虽然你仍然可以继续使用 SAS 对事件中心资源授予细粒度访问权限,但 Microsoft Entra ID 提供了类似的能力,无需管理 SAS 令牌,也不必担心撤销已泄露的 SAS。
默认情况下,所有事件中心资源都受到保护,并且仅可供帐户所有者使用。 尽管可以使用上述任一授权策略授予客户端访问事件中心资源的权限,但Azure建议尽可能使用Microsoft Entra ID,以最大程度地提高安全性和易用性。
有关使用 SAS 授权的更多信息,请参见 “授权使用共享访问签名访问事件中心资源”。