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 帐户边栏中可用。
你的 Microsoft Entra 域名。 将鼠标悬停在 Azure 门户的右上角,可以获取相关信息。 在以下屏幕截图中,域名为 contoso.onmicrosoft.com,括号中的 GUID 是租户 ID。
您的 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”用户帐户,包括以 @outlook.com 或 @live.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 应用程序。
在遵循链接中的说明进行操作时,请确保选择应用程序类型为本机,如以下截图所示:
步骤 2:获取应用程序 ID 和重定向 URI
请参阅获取应用程序 ID 来检索应用程序 ID。
若要检索重定向 URI,请执行以下步骤。
在 Azure 门户中,选择“Microsoft Entra ID”,选择“应用注册”,然后找到并选择创建的 Microsoft Entra 本机应用程序。
在应用程序的设置面板中,选择重定向 URI。
复制显示的值。
步骤 3:设置权限
在 Azure 门户中,选择“Microsoft Entra ID”,选择“应用注册”,然后找到并选择创建的 Microsoft Entra 本机应用程序。
在应用程序的“设置”边栏选项卡上,选择“所需权限”,然后选择“添加”。
在“添加 API 访问”边栏选项卡中选择“选择 API”,然后选择“Azure Data Lake”,最后选择“选择”。
在“添加 API 访问”窗口中,选择“选择权限”,勾选“Data Lake Store 的完全访问权限”的复选框,然后选择“选择”。
选择“完成” 。
重复最后两步,同时为 Windows Azure 服务管理 API 授予权限。
后续步骤
在本文中,您创建了一个 Microsoft Entra 本机应用程序,并在您编写的客户端应用程序中使用 .NET SDK、Java SDK、REST API 等收集了所需的信息。您现在可以继续阅读下列文章,以了解如何使用 Microsoft Entra 网络应用程序先进行 Data Lake Storage Gen1 的身份验证,然后在存储中执行其他操作。