你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
了解如何将 ArcGIS Pro 配置为使用 OAuth 2.0 委托的身份验证和 Microsoft Entra ID 从 Microsoft Planetary Computer Pro GeoCatalog 访问地理空间数据集。
此过程要求:
- 在 Microsoft Entra ID(Web API 和桌面客户端)中注册两个应用程序。
- 配置带有
user_impersonation作用域的委托权限。 - 将 ArcGIS Pro 连接到 Microsoft Planetary Computer Pro 环境中的 Azure Blob 存储和时空资产目录 (STAC) 兼容的数据集。
了解如何通过使用 Microsoft Entra ID 用户模拟在 ArcGIS Pro 中安全地浏览和访问托管在 Microsoft Planetary Computer Pro 中的数据。
Prerequisites
- 访问 Microsoft Entra ID 租户
- 拥有管理应用注册权限的 Azure 订阅
- 计算机上安装 ArcGIS Pro
Tip
在开始之前,请查看 在 Microsoft Entra ID 中注册应用程序 的背景信息。
为 ArcGIS Pro 注册 Web API 应用程序
打开 Azure 门户并搜索 Entra。 选择“Microsoft Entra ID”。
转到 应用注册>“新建注册”。
注册 Web API 应用。 下面是一些名称建议:
- ArcGISPro-GeoCatalog-WebAPI
- ArcGIS Pro
在支持的帐户类型下,选择任何组织目录中的帐户类型(任何 Microsoft Entra ID 租户 - 多租户)。
在新的应用中(在本示例中名为 ArcGIS Pro ),转到 “身份验证>添加平台>Web”。
在 “配置 Web>重定向 URI”中,添加
<https://localhost>。 选择配置。返回到 “身份验证>添加平台”,然后选择“ 移动和桌面应用程序”。
在 “配置 Web>重定向 URI”中,添加
arcgis-pro://auth。 选择配置。在 “隐式授予”和“混合流”下,选中 ID 令牌(用于隐式和混合流)的复选框。 选择“保存”。
在左侧菜单中选择 API 权限 。 为以下内容添加并授予管理员同意:
- Azure 存储>user_impersonation
- Microsoft Graph>User.Read (默认值)
添加权限后,选择“ 授予默认目录的管理员许可”。
在左侧菜单中,选择“ 公开 API>添加”。 在 “编辑应用程序 ID URI ”下,在 应用程序 ID URI 中添加应用的 URI。
选择 “添加范围 ”并添加以下信息:
选择添加客户端应用程序。 选择并记下客户端 ID。 需要使用客户端 ID 在 ArcGIS Pro 中设置 身份验证连接 。
为 ArcGIS Pro 注册桌面客户端应用程序
注册第一个应用程序后,注册第二个应用程序(具有不同名称)。 第二个应用表示 ArcGIS Pro Desktop 并配置其 API 权限。 确保新应用可以访问由第一个应用程序公开的 Web API。
使用以下建议名称之一为 ArcGIS Pro 桌面客户端创建第二个应用注册: ArcGISPro-GeoCatalog-DesktopClient 或 GeoCatalog-ArcGIS。 通过选择 “单租户”设置帐户类型。
配置桌面客户端应用。 在此示例中,我们使用名称 GeoCatalog-ArcGIS。 重复第一个应用注册中的步骤:
- 对于 “添加平台”,请选择 “Web”。
- 对于 重定向 URI,请添加
<https://localhost>。 - 对于 “添加平台”,请选择“ 移动”和“桌面应用程序”。
- 对于 重定向 URI,请添加
arcgis-pro://auth。 - 在“隐式授权和混合流”下,选择“ID 令牌(用于隐式流和混合流)”。 选择“保存”。
添加对 Web API 应用的访问权限:
添加以下委派权限:
- Azure 存储>user_impersonation
- Azure Orbital Spatio>user_impersonation
- Microsoft Graph>User.Read (默认启用)
- 添加权限
- 授予管理员同意
配置 ArcGIS Pro(桌面版)以访问 Microsoft 行星计算机 Pro 的 GeoCatalog
本部分概述如何在 ArcGIS Pro 桌面应用程序中配置身份验证和数据访问。 使用 OAuth 2.0 与 Microsoft Entra ID 集成,并访问 Microsoft Planetary Computer Pro GeoCatalog。 本部分包括添加身份验证连接和创建存储和 STAC 数据连接的步骤。
添加身份验证连接
通过以下方式之一转到 ArcGIS Pro 设置 页:
- 从打开的项目中,选择功能区上的 “项目 ”选项卡。
- 从起始页中,选择 “设置” 选项卡。
在左侧菜单中,选择“ 选项”。
转到 “选项>应用程序>身份验证”。
选择“添加连接”。
在 “连接名称” 字段中输入一个值。
对于“类型”,请选择“Microsoft Entra ID”。
在 Entra 域 和 客户端 ID 字段中输入值。
- 可以在 Azure 门户中的 Microsoft Entra ID 中找到 Microsoft Entra ID 域(也称为主域)。
- 对于 客户端 ID,请输入在 “添加客户端应用程序 ”步骤中设置的客户端 ID。
在 “作用域” 字段中添加以下值:
https://storage.azure.com/.defaulthttps://geocatalog.spatio.azure.com/.default
选择“确定”。
通过 “身份验证 ”对话框登录并完成提示。
Tip
有关详细信息,请参阅文档: 从 ArcGIS Pro 连接到身份验证提供程序。
准备和记录 GeoCatalog 信息
GeoCatalog URI、集合名称、API 令牌终结点
在 Azure 订阅中创建Microsoft行星计算机 Pro GeoCatalog(例如 arcgisprogeocatalog),并将其定位到相应的资源组中。
选择您创建的 GeoCatalog。
复制其 GeoCatalog URI 的值。 例如,
https://arcgisprogeocatalog.<unique-identity>.<cloud-region>.geocatalog.spatio.azure.com。在浏览器中粘贴 GeoCatalog URI 的链接,然后选择“ 集合 ”按钮。
记录 集合名称中的值。 例如,
sentinel-2-l2a-tutorial-1000。使用以下模式构建令牌 API 端点:
<GeoCatalog URI>/sas/token/<Collection Name>?api-version=2025-04-30-preview例如:https://arcgisprogeocatalog.<unique-identity>.<cloud-region>.geocatalog.spatio.azure.com/sas/token/sentinel-2-l2a-tutorial-1000?api-version=2025-04-30-preview。
查找和记录存储位置
Microsoft行星计算机 Pro GeoCatalog 中的每个集合将地理空间数据和 STAC 项资产存储在专用存储帐户和 Azure Blob 容器中。 在以下步骤中,可以找到并记录特定集合的存储帐户和容器名称。
注释
只有在将 STAC 项或其他资产添加到集合后,才能发现 Azure 存储帐户和 Blob 容器。
可通过两种简单的方法来发现集合的存储帐户和 Blob 容器:使用缩略图或使用包含资产的 STAC 项。
使用集合缩略图识别存储帐户
从特定的 “集合 ”页中,选择 “集合名称”的值。
选择 “编辑集合 ”按钮。
在生成的 JSON 显示中,找到密钥
title:assets:thumbnail:href并复制相应的值。 例如:https://<unique-storage>.blob.core.windows.net/sentinel-2-l2a-tutorial-1000-<unique-id>/collection-assets/thumbnail/lulc.png在 “帐户名 ”和 “容器名称”下记录值。 例如:
-
(存储帐户) 帐户名称:
<unique-storage> -
容器名称:
sentinel-2-l2a-tutorial-1000-<unique-id>
-
(存储帐户) 帐户名称:
使用 STAC 项发现存储帐户
从特定的“集合”页中,选择“STAC 项”。
选中其中一个列出的 STAC 项旁边的复选框。
滚动到 STAC 项 右侧面板底部,然后选择用于检索 STAC 项 JSON 的链接。
在 STAC 项 JSON 规范中查找名为
assets的对象。 选择此对象中的某个资产类型并查找href密钥。"assets": { "image": { "href": "https://<unique-storage>.blob.core.windows.net/naip-sample-datasets-<unique-id>/12f/va_m_3807708_sw_18_060_20231113_20240103/image.tif", } }记录帐户名称和容器名称的值。 例如:
-
(存储帐户) 帐户名称:
<unique-storage> -
容器名称:
naip-sample-datasets-<unique-id>
-
(存储帐户) 帐户名称:
设置与 Azure Blob 存储的连接
在 ArcGIS Pro 中,打开 “创建云存储连接文件 ”地理处理工具以创建新的 ACS 连接文件。 可以在 “分析 ”选项卡上的主功能区中访问此工具。选择 “工具”,然后键入工具名称搜索该工具。
为 ACS 文件指定 连接文件位置 的值。
提供 连接文件的名称。 例如, geocatalog_connection.acs。
选择 “服务提供商>Azure”。
对于 身份验证,请选择前面使用的认证配置文件的名称。
对于访问密钥 ID(帐户名称),请使用前面记录的“帐户名称”值:
<unique-storage>对于 存储桶(容器)名称 ,请使用前面记录的 容器名称 值:
sentinel-2-l2a-tutorial-1000-<unique-id>。不要为 Folder 指定值。
在提供程序选项中添加 ARC_TOKEN_SERVICE_API,并将值设置为之前构造的令牌 API 终结点。 例如:
https://arcgisprogeocatalog.<unique-identity>.<cloud-region>.geocatalog.spatio.azure.com/sas/token/sentinel-2-l2a-tutorial-1000?api-version=2025-04-30-preview添加提供程序选项ARC_TOKEN_OPTION_NAME并将值设置为AZURE_STORAGE_SAS_TOKEN。
创建与Microsoft Planetary Computer Pro的STAC连接
Tip
请参阅 ArcGIS Pro 文档 “创建 STAC 连接”。
在 STAC 连接中提供名称。 例如, GeoCatalog_Connection。
对于“连接”,请使用格式
<GeoCatalog URI>/stac。 例如:https://arcgisprogeocatalog.<unique-identity>.<cloud-storage>.geocatalog.spatio.azure.com/stac引用在上一步中创建的身份验证设置。
添加 自定义参数的值:
-
名称:
api-version -
价值:
2025-04-30-preview
-
名称:
将上一步中创建的 ACS 连接文件添加到 云存储连接 列表。 选择“确定”。
探索 STAC 连接。
Tip
详细了解 ArcGIS“探索 STAC”窗格。
搜索、提取广泛的 STAC 元数据,以及查看和浏览图像。
将所选图像添加到 地图 或 场景 函数。