你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Active Directory 身份验证

Azure Active Directory (Azure AD) 是多租户云目录服务。 它能够对安全主体进行身份验证或与其他标识提供程序(如 Microsoft Active Directory)进行联合。

Azure AD 允许各种类型的应用程序统一验证和使用 Azure 数据资源管理器服务。

Azure AD 支持多种身份验证方案。 如果存在用户,请使用交互式身份验证对用户进行身份验证,以便 Azure AD。 在某些情况下,即使不存在用户,也可能希望服务使用 Kusto。 在这种情况下,请使用应用程序机密或任何其他受支持的方法对应用程序进行身份验证,如 应用程序身份验证中所述。

Azure 数据资源管理器支持以下身份验证方法,包括通过其 .NET 库:

  • 交互式用户身份验证。 此模式功能通过用户界面登录。
  • 使用现有 Azure AD 令牌进行用户身份验证,以前为 Kusto 颁发了该令牌。
  • 使用 AppID 和共享机密进行应用程序身份验证。
  • 用 Azure 托管标识进行应用程序身份验证。
  • 在本地安装了509v2 证书的应用程序身份验证,或以内联方式提供的证书。
  • 使用现有 Azure AD 令牌对应用程序进行身份验证,以前为 Kusto 颁发了该令牌。
  • 使用为另一资源颁发的 Azure AD 令牌进行用户或应用程序身份验证。 在这种情况下,该资源与 Azure 数据资源管理器之间必须存在信任关系。

有关指导和示例,请参阅 连接字符串 参考。

用户身份验证

用户身份验证在用户向每家 Azure AD 的某个标识提供程序(如 Active Directory 联合身份验证服务 (AD FS) )提供凭据时 Azure AD 进行。 用户获取安全令牌。 该令牌可以显示给 Azure 数据资源管理器服务。 Azure 数据资源管理器确定令牌是否有效、令牌是否由受信任的颁发者颁发以及令牌包含的安全声明。

在客户端,Azure 数据资源管理器通过使用 MSAL (Microsoft 身份验证库) 支持交互和无人参与的身份验证。 还支持基于令牌的身份验证。 使用这种身份验证,使用 Azure 数据资源管理器的应用程序获取有效的用户令牌,然后即可访问 Azure 数据资源管理器。 如果应用程序为某些其他资源获取了有效的用户令牌,则该资源与 Azure 数据资源管理器之间必须存在信任关系。

应用程序身份验证

如果请求不与特定用户关联,或者没有可用于输入凭据的用户,则可以改为使用 Azure AD 应用程序身份验证过程。 应用程序通过提供一些机密信息,对 Azure AD (或联合标识提供程序) 进行身份验证。 各种 Kusto 客户端支持以下应用程序身份验证方案:

  • 使用本地安装的509v2 证书。
  • 通过使用提供给客户端库的509v2 证书作为字节流。
  • 通过使用 Azure AD 应用程序 ID 和关联的应用程序密钥。 (这等效于应用程序的用户名/密码身份验证。 )
  • 使用 Azure 托管标识,该标识与使用 Azure 数据资源管理器进行通信的服务相关联。
  • 通过使用以前获得的有效 Azure AD 令牌 (颁发给 Kusto) 。
  • 通过使用以前获得的有效 Azure AD 令牌 (颁发给某些其他资源) 。 在这种情况下,该资源与 Kusto 之间必须存在信任关系。

Azure AD server 应用程序权限

通常,Azure AD 服务应用程序可以定义多个权限,如只读或读写。 Azure AD 客户端应用程序可以确定它在请求授权令牌时所需的权限。 在获取令牌的过程中,系统会要求用户授权 Azure AD 的客户端应用程序代表用户执行操作,授权拥有这些权限。 如果用户批准,则这些权限将在颁发给 Azure AD 客户端应用程序的令牌的作用域声明中列出。

Azure AD 客户端应用程序配置为请求访问用户的Kusto权限。 请注意,Azure AD 向用户指的是资源所有者

将客户端 SDK Kusto 为 Azure AD 客户端应用程序

当 Kusto 客户端库调用 MSAL 来获取与 Kusto 通信的令牌时,它将提供以下信息:

  • 在全局 Azure) 中 (https://login.microsoftonline.com 的 Azure AD 颁发机构 URI,以及从调用方收到的 Azure AD 租户。
  • Azure AD 客户端应用程序 ID。
  • 对于应用程序身份验证,Azure AD 客户端应用程序凭据 (机密或证书) 。
  • 对于用户身份验证,Azure AD 客户端应用程序 ReplyUrl (身份验证成功完成) 之后 Azure AD 重定向到的 URL。 然后,MSAL 捕获此重定向,并从中提取授权代码。
  • 群集 URI 通常 https://cluster.region.kusto.windows.net 在全局 Azure) 中 (。

MSAL 返回给 Kusto 客户端库的令牌具有作为受众的 Azure 数据资源管理器服务。

以编程方式进行身份验证

以下文章介绍了如何通过 Azure AD 以编程方式对 Kusto 进行身份验证: