使用 Microsoft Entra ID 通过 Azure Data Lake Storage Gen1 进行最终用户身份验证

Azure Data Lake Storage Gen1 使用 Microsoft Entra ID 进行身份验证。 在创作适用于 Data Lake Storage Gen1 或 Azure Data Lake Analytics 的应用程序之前,必须决定如何使用 Microsoft Entra ID 对应用程序进行身份验证。 可用的两个主要选项是:

  • 最终用户身份验证(本文所述)
  • 服务到服务身份验证(从上面的下拉列表中选择此选项)

这两个选项都会将 OAuth 2.0 令牌提供给应用程序,此令牌会附加到对 Data Lake Storage Gen1 或 Azure Data Lake Analytics 作出的每个请求。

本文介绍如何为最终用户身份验证创建Microsoft Entra本机应用程序。 有关Microsoft Entra服务到服务身份验证的应用程序配置的说明,请参阅使用 Microsoft Entra ID 通过Data Lake Storage Gen1进行服务到服务身份验证

先决条件

  • Azure 订阅。 请参阅获取 Azure 免费试用版

  • 订阅 ID。 可从 Azure 门户进行检索。 例如,可从“Data Lake Storage Gen1帐户”边栏选项卡中获取它。

    获取订阅 ID

  • Microsoft Entra域名。 可将鼠标悬停在 Azure 门户右上角进行检索。 在以下屏幕截图中,域名为 contoso.onmicrosoft.com,括号中的 GUID 是租户 ID

    获取Microsoft Entra域

  • Azure 租户 ID。 有关如何检索租户 ID 的说明,请参阅获取租户 ID

最终用户身份验证

如果希望最终用户通过Microsoft Entra ID登录到应用程序,建议使用此身份验证机制。 然后,应用程序可访问 Azure 资源,且访问权限级别与已登录的最终用户相同。 最终用户需要定期提供凭据,以使应用程序可继续访问。

最终用户登录的结果是,应用程序将获得访问令牌和刷新令牌。 访问令牌附加到向Data Lake Storage Gen1或Data Lake Analytics发出的每个请求,默认情况下有效期为一小时。 刷新令牌可用于获取新的访问令牌,默认情况下,该令牌的有效期最长为两周。 可以使用两种不同的方法进行最终用户登录。

使用 OAuth 2.0 弹出窗口

应用程序会触发 OAuth 2.0 身份验证弹出窗口,最终用户可在其中输入凭据。 如有必要,此弹出窗口也适用于Microsoft Entra双因素身份验证 (2FA) 过程。

注意

此方法在 Azure AD 身份验证库 (ADAL) 中尚不支持 Python 或 Java。

直接传递用户凭据

应用程序可以直接向Microsoft Entra ID提供用户凭据。 此方法仅适用于组织 ID 用户帐户;它与个人/“实时 ID”用户帐户不兼容,包括以 或 @live.com结尾的@outlook.com帐户。 此外,此方法与需要Microsoft Entra双因素身份验证 (2FA) 的用户帐户不兼容。

此方法需要什么?

  • Microsoft Entra域名。 此要求已在本文的先决条件中列出。
  • Microsoft Entra租户 ID。 此要求已在本文的先决条件中列出。
  • Microsoft Entra ID本机应用程序
  • Microsoft Entra本机应用程序的应用程序 ID
  • Microsoft Entra本机应用程序的重定向 URI
  • 设置委派权限

步骤 1:创建 Active Directory 本机应用程序

创建并配置Microsoft Entra本机应用程序,以便使用 Microsoft Entra ID 通过 Data Lake Storage Gen1 进行最终用户身份验证。 有关说明,请参阅创建Microsoft Entra应用程序

遵循链接中的说明进行操作时,请确保选择“本机”作为应用程序类型,如以下屏幕截图中所示

创建 Web 应用

步骤 2:获取应用程序 ID 和重定向 URI

请参阅获取应用程序 ID 来检索应用程序 ID。

若要检索重定向 URI,请执行以下步骤。

  1. 在Azure 门户中,依次选择“Microsoft Entra ID”、“应用注册”,然后找到并选择创建的Microsoft Entra本机应用程序。

  2. 在应用程序的 “设置” 边栏选项卡中,选择“ 重定向 URI”。

    获取重定向 URI

  3. 复制显示的值。

步骤 3:设置权限

  1. 在Azure 门户中,依次选择“Microsoft Entra ID”、“应用注册”,然后找到并选择创建的Microsoft Entra本机应用程序。

  2. 在应用程序的 “设置” 边栏选项卡中,选择“ 所需权限”,然后选择“ 添加”。

    对“设置”边栏选项卡进行屏幕截图,其中调出“重定向 U R I” 选项,以及对“重定向 U R I”边栏选项卡进行屏幕截图,其中调出实际的 U R I。

  3. “添加 API 访问权限”边栏选项卡中,依次选择“选择 API”、“Azure Data Lake”、“选择”。

    对“添加 API 访问”边栏选项卡进行屏幕截图,其中调出“选择 API”选项,以及对“选择 API”边栏选项卡进行屏幕截图,其中调出“Azure Data Lake”选项和“选择”选项。

  4. “添加 API 访问权限”边栏选项卡中,选择“选择权限”,选中“检查”框以授予对 Data Lake Store 的完全访问权限,然后选择“选择”。

    对“添加 API 访问”边栏选项卡进行屏幕截图,其中调出“选择权限”选项,以及对“启用访问”边栏选项卡进行屏幕截图,其中调出“Azure Data Lake 服务”选项和“选择”选项。

    选择“完成”。

  5. 重复最后两步,同时为 Windows Azure 服务管理 API 授予权限

后续步骤

在本文中,你创建了一个Microsoft Entra本机应用程序,并在使用 .NET SDK、Java SDK、REST API 等创作的客户端应用程序中收集了所需的信息。现在可以继续阅读以下文章,这些文章介绍如何使用 Microsoft Entra Web 应用程序先对 Data Lake Storage Gen1 进行身份验证,然后在存储区上执行其他操作。