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

配置 ArcGIS Pro 以访问 GeoCatalog

了解如何将 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 应用程序

  1. 打开 Azure 门户并搜索 Entra。 选择“Microsoft Entra ID”。

    显示用户从 Azure 门户选择Microsoft Entra ID 的屏幕截图。

  2. 转到 应用注册>“新建注册”。

    显示新应用注册的屏幕截图。

  3. 注册 Web API 应用。 下面是一些名称建议:

    • ArcGISPro-GeoCatalog-WebAPI
    • ArcGIS Pro
  4. 支持的帐户类型下,选择任何组织目录中的帐户类型(任何 Microsoft Entra ID 租户 - 多租户)。

    显示如何注册应用的屏幕截图。

    显示如何注册新应用的屏幕截图。

  5. 在新的应用中(在本示例中名为 ArcGIS Pro ),转到 “身份验证>添加平台>Web”。

    显示如何选择 Web 进行身份验证的屏幕截图。

  6. “配置 Web>重定向 URI”中,添加 <https://localhost>。 选择配置

    显示如何添加重定向 URI 的屏幕截图。

  7. 返回到 “身份验证>添加平台”,然后选择“ 移动和桌面应用程序”。

    显示如何添加移动应用的屏幕截图。

  8. “配置 Web>重定向 URI”中,添加 arcgis-pro://auth。 选择配置

    显示如何配置桌面设备的屏幕截图。

  9. “隐式授予”和“混合流”下,选中 ID 令牌(用于隐式和混合流)的复选框。 选择“保存”

    显示如何为 ArcGIS 应用身份验证启用 ID 令牌的屏幕截图。

  10. 在左侧菜单中选择 API 权限 。 为以下内容添加并授予管理员同意:

    • Azure 存储>user_impersonation
    • Microsoft Graph>User.Read (默认值)

    显示如何添加 API 权限的屏幕截图。

  11. 添加权限后,选择“ 授予默认目录的管理员许可”。

    显示如何授予管理员同意的屏幕截图。

  12. 在左侧菜单中,选择“ 公开 API>添加”。 在 “编辑应用程序 ID URI ”下,在 应用程序 ID URI 中添加应用的 URI。

    显示如何添加应用程序 ID URI 的屏幕截图。

  13. 选择 “添加范围 ”并添加以下信息:

    • user_authentication (显示名称: ArcGISPro-API-User-Auth

      显示如何添加用户身份验证范围的屏幕截图。

    • user_impersonation (显示名称: ArcGISPro-API-Impersonation

      显示如何添加用户模拟范围的屏幕截图。

  14. 选择添加客户端应用程序。 选择并记下客户端 ID。 需要使用客户端 ID 在 ArcGIS Pro 中设置 身份验证连接

    显示如何添加客户端应用的屏幕截图。

为 ArcGIS Pro 注册桌面客户端应用程序

注册第一个应用程序后,注册第二个应用程序(具有不同名称)。 第二个应用表示 ArcGIS Pro Desktop 并配置其 API 权限。 确保新应用可以访问由第一个应用程序公开的 Web API。

  1. 使用以下建议名称之一为 ArcGIS Pro 桌面客户端创建第二个应用注册: ArcGISPro-GeoCatalog-DesktopClientGeoCatalog-ArcGIS。 通过选择 “单租户”设置帐户类型。

    显示如何注册名为 arcgisprodesktopclient 的第二个应用的屏幕截图。

    显示如何注册名为 GeoCatalog ArcGIS 的新应用的屏幕截图。

  2. 配置桌面客户端应用。 在此示例中,我们使用名称 GeoCatalog-ArcGIS。 重复第一个应用注册中的步骤:

    • 对于 “添加平台”,请选择 “Web”。
    • 对于 重定向 URI,请添加 <https://localhost>
    • 对于 “添加平台”,请选择“ 移动”和“桌面应用程序”。
    • 对于 重定向 URI,请添加 arcgis-pro://auth
    • 在“隐式授权和混合流”下,选择“ID 令牌(用于隐式流和混合流)”。 选择“保存”
  3. 添加对 Web API 应用的访问权限:

    • “API 权限 ”选项卡上,选择“ 添加权限”。

    • 转到 我的组织使用的 API 选项卡并搜索之前创建的 Web API 应用 (例如 ArcGIS Pro)。

    • 选择应用名称以打开 “请求 API 权限 ”屏幕。

      显示如何请求 API 权限的屏幕截图。

    • 选择 user_authenticationuser_impersonation,即在第一个应用中定义的委派权限。

    • 选择“添加权限”。

      显示如何为 ArcGIS Pro 添加 API 权限的屏幕截图。

  4. 添加以下委派权限:

    • Azure 存储>user_impersonation
    • Azure Orbital Spatio>user_impersonation
    • Microsoft Graph>User.Read (默认启用)
    • 添加权限
    • 授予管理员同意

    显示请求 API 权限屏幕上的应用选择的屏幕截图。

    显示授予管理员同意的屏幕截图。

配置 ArcGIS Pro(桌面版)以访问 Microsoft 行星计算机 Pro 的 GeoCatalog

本部分概述如何在 ArcGIS Pro 桌面应用程序中配置身份验证和数据访问。 使用 OAuth 2.0 与 Microsoft Entra ID 集成,并访问 Microsoft Planetary Computer Pro GeoCatalog。 本部分包括添加身份验证连接和创建存储和 STAC 数据连接的步骤。

添加身份验证连接

  1. 通过以下方式之一转到 ArcGIS Pro 设置 页:

    • 从打开的项目中,选择功能区上的 “项目 ”选项卡。
    • 从起始页中,选择 “设置” 选项卡。
  2. 在左侧菜单中,选择“ 选项”。

  3. 转到 “选项>应用程序>身份验证”。

  4. 选择“添加连接”。

  5. “连接名称” 字段中输入一个值。

  6. 对于“类型”,请选择“Microsoft Entra ID”

  7. Entra 域客户端 ID 字段中输入值。

    • 可以在 Azure 门户中的 Microsoft Entra ID 中找到 Microsoft Entra ID 域(也称为主域)。
    • 对于 客户端 ID,请输入在 “添加客户端应用程序 ”步骤中设置的客户端 ID。
  8. “作用域” 字段中添加以下值:

    • https://storage.azure.com/.default
    • https://geocatalog.spatio.azure.com/.default

    显示如何添加连接的屏幕截图。

  9. 选择“确定”

  10. 通过 “身份验证 ”对话框登录并完成提示。

    显示如何使用身份验证对话框登录的屏幕截图。

Tip

有关详细信息,请参阅文档: 从 ArcGIS Pro 连接到身份验证提供程序

准备和记录 GeoCatalog 信息

GeoCatalog URI、集合名称、API 令牌终结点

  1. 在 Azure 订阅中创建Microsoft行星计算机 Pro GeoCatalog(例如 arcgisprogeocatalog),并将其定位到相应的资源组中。

    显示如何查找 GeoCatalog 的屏幕截图。

  2. 选择您创建的 GeoCatalog。

  3. 复制其 GeoCatalog URI 的值。 例如,https://arcgisprogeocatalog.<unique-identity>.<cloud-region>.geocatalog.spatio.azure.com

    显示如何检索 GeoCatalog URI 的屏幕截图。

  4. 在浏览器中粘贴 GeoCatalog URI 的链接,然后选择“ 集合 ”按钮。

    显示Microsoft行星计算机专业版的 Web 界面的屏幕截图。

  5. 记录 集合名称中的值。 例如,sentinel-2-l2a-tutorial-1000

  6. 使用以下模式构建令牌 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 项。

使用集合缩略图识别存储帐户

  1. 从特定的 “集合 ”页中,选择 “集合名称”的值。

    显示如何选择集合名称的屏幕截图。

  2. 选择 “编辑集合 ”按钮。

    显示如何编辑 GeoCatalog 集合的屏幕截图。

  3. 在生成的 JSON 显示中,找到密钥 title:assets:thumbnail:href 并复制相应的值。 例如:

    https://<unique-storage>.blob.core.windows.net/sentinel-2-l2a-tutorial-1000-<unique-id>/collection-assets/thumbnail/lulc.png
    
  4. “帐户名 ”和 “容器名称”下记录值。 例如:

    • (存储帐户) 帐户名称<unique-storage>
    • 容器名称sentinel-2-l2a-tutorial-1000-<unique-id>

    显示集合 JSON 的屏幕截图。

使用 STAC 项发现存储帐户

  1. 从特定的“集合”页中,选择“STAC 项”

    显示如何选择 STAC 项的屏幕截图。

  2. 选中其中一个列出的 STAC 项旁边的复选框。

    显示如何选择 STAC 项框的屏幕截图。

  3. 滚动到 STAC 项 右侧面板底部,然后选择用于检索 STAC 项 JSON 的链接。

    显示如何选择 STAC 项 JSON 链接的屏幕截图。

  4. 在 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",
         }
     }
    
  5. 记录帐户名称和容器名称的值。 例如:

    • (存储帐户) 帐户名称<unique-storage>
    • 容器名称naip-sample-datasets-<unique-id>

设置与 Azure Blob 存储的连接

  1. 在 ArcGIS Pro 中,打开 “创建云存储连接文件 ”地理处理工具以创建新的 ACS 连接文件。 可以在 “分析 ”选项卡上的主功能区中访问此工具。选择 “工具”,然后键入工具名称搜索该工具。

  2. 为 ACS 文件指定 连接文件位置 的值。

  3. 提供 连接文件的名称。 例如, geocatalog_connection.acs

  4. 选择 “服务提供商>Azure”。

  5. 对于 身份验证,请选择前面使用的认证配置文件的名称。

  6. 对于访问密钥 ID(帐户名称),请使用前面记录的“帐户名称”值: <unique-storage>

  7. 对于 存储桶(容器)名称 ,请使用前面记录的 容器名称 值: sentinel-2-l2a-tutorial-1000-<unique-id>

  8. 不要为 Folder 指定值。

  9. 在提供程序选项中添加 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
    
  10. 添加提供程序选项ARC_TOKEN_OPTION_NAME并将值设置为AZURE_STORAGE_SAS_TOKEN

    显示创建云存储连接文件示例的屏幕截图。

创建与Microsoft Planetary Computer Pro的STAC连接

Tip

请参阅 ArcGIS Pro 文档 “创建 STAC 连接”。

显示如何创建新的 STAC 连接的屏幕截图。

  1. STAC 连接中提供名称。 例如, GeoCatalog_Connection

  2. 对于“连接”,请使用格式 <GeoCatalog URI>/stac。 例如:

     https://arcgisprogeocatalog.<unique-identity>.<cloud-storage>.geocatalog.spatio.azure.com/stac
    
  3. 引用在上一步中创建的身份验证设置。

  4. 添加 自定义参数的值:

    • 名称api-version
    • 价值:2025-04-30-preview
  5. 将上一步中创建的 ACS 连接文件添加到 云存储连接 列表。 选择“确定”

    显示如何创建 STAC 连接的屏幕截图。

  6. 探索 STAC 连接。

    Tip

    详细了解 ArcGIS“探索 STAC”窗格

    显示“浏览 STAC”对话框的屏幕截图。

  7. 搜索、提取广泛的 STAC 元数据,以及查看和浏览图像。

  8. 将所选图像添加到 地图场景 函数。

    显示 STAC 数据窗口的屏幕截图。