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

存储和使用自己的许可证密钥

Azure 用于农业的数据管理器支持一系列数据入口连接器,从而将分散的帐户集中在一起。 这些连接要求客户在“自带许可”(BYOL) 模型中填充其凭据,以便数据管理器可以代表客户检索数据。

注意

适用于农业的 Microsoft Azure 数据管理器目前为预览版。 有关 beta 版、预览版或尚未正式发布的功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

适用于农业的 Microsoft Azure 数据管理器要求注册,在预览期间仅提供给已获批准的客户和合作伙伴。 若要在预览期间请求访问适用于农业的 Microsoft 数据管理器,请使用此表单

先决条件

若要使用 BYOL,需要一个 Azure 订阅。 如果还没有订阅,请在开始前创建一个免费帐户

概述

在 BYOL 模型中,你负责为卫星和天气数据连接器提供自己的许可证。 在此模型中,你将凭据的机密部分存储在客户管理的 Azure 密钥保管库中。 机密的 URI 必须与 Azure 用于农业的数据管理器实例共享。 请为 Azure 用于农业的数据管理器实例提供机密读取权限,以便 API 可以无缝工作。 此过程是对每个连接器的一次性设置。 然后,我们的数据管理器会将客户密钥保管库中的机密作为 API 调用的一部分进行引用和读取,而不会泄露机密。

显示凭据创建和共享的流程图。 显示凭据共享流的屏幕截图。

客户可以选择替代用于数据平面请求的凭据,只需在数据平面 API 请求中提供凭据即可。

设置连接器的步骤序列

步骤 1:创建或使用现有密钥保管库

客户可以创建密钥保管库或使用现有的密钥保管库来共享卫星 (Sentinel Hub) 和天气 (IBM Weather) 许可证凭据。 客户创建 Azure 密钥保管库或重复使用现有的密钥保管库。

启用以下属性:

显示密钥保管库属性的屏幕截图。

用于农业的数据管理器是 Microsoft 的受信任服务,除了公开可用的密钥保管库外,还支持专用网络密钥保管库。 如果将密钥保管库放在 VNET 后面,则需要选择 “Allow trusted Microsoft services to bypass this firewall."

显示密钥保管库访问的屏幕截图。

步骤 2:在 Azure 密钥保管库中存储机密

若要共享卫星或天气服务凭据,请将凭据的机密部分存储在密钥保管库中,例如 ClientSecret(对于 SatelliteSentinelHub)和 APIKey(对于 WeatherIBM)。 客户可以控制机密名称和轮换。

请参阅此指南来在保管库中存储和检索机密。

显示密钥值的存储的屏幕截图。

步骤 3:启用系统标识

作为客户,你必须为用于农业的数据管理器实例启用系统标识。 此标识用于为 Azure 用于农业的数据管理器实例提供机密读取权限。

请按照以下方法之一进行启用:

  1. 通过 Azure 门户 UI

    显示使用 UI 启用密钥的屏幕截图。

  2. 通过 Azure CLI

    az rest --method patch --url /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AgFoodPlatform/farmBeats/{ADMA_instance_name}?api-version=2023-06-01-preview --body "{'identity': {'type': 'SystemAssigned'}}"
    

步骤 4:访问策略

在密钥保管库中为用于农业的数据管理器实例添加访问策略。

  1. 转到密钥保管库中的“访问策略”选项卡。

    显示选择访问策略的屏幕截图。

  2. 选择机密 GET 和 LIST 权限。

    显示选择权限的屏幕截图。

  3. 选择下一个选项卡,然后选择用于农业的数据管理器实例的名称,然后选择“查看 + 创建”选项卡以创建访问策略。

    显示选择“查看 + 创建”选项卡的屏幕截图。

步骤 5:调用控制平面 API 调用

使用 API 调用指定连接器凭据。 创建机密后,可以找到密钥保管库 URI/密钥名称/密钥版本,如下图所示。

显示在哪里可以看到密钥名称和密钥版本的屏幕截图。

在调用上述 API 时,应对连接器使用以下值:

场景 DataConnectorName 凭据
对于 Satellite SentinelHub 连接器 SatelliteSentinelHub OAuthClientCredentials
对于 Weather IBM 连接器 WeatherIBM ApiKeyAuthCredentials

替代连接器详细信息

在数据平面 API 中,客户可以选择替代需要用于该请求的连接器详细信息。

客户可以参考 API 版本 2023-06-01-preview 文档,其中卫星和天气的数据平面 API 会在请求正文中获取凭据。

Azure 用于农业的数据管理器如何访问机密

以下流显示了 Azure 用于农业的数据管理器如何访问机密。 显示数据管理器如何访问凭据的屏幕截图。

如果禁用并重新启用系统标识,则必须删除密钥保管库中的访问策略,然后重新添加。

结束语

可以将机密存储在 Azure Key Vault 中,启用系统标识并提供对数据管理器的读取访问权限,从而安全地使用许可证密钥。 随我们的数据管理器提供的 ISV 解决方案也使用这些凭据。

你可以使用我们的数据平面 API 并引用密钥保管库中的许可证密钥。 也可以选择在我们的数据平面 API 调用中动态替代默认许可证凭据。 我们的数据管理器会执行基本验证,包括检查它是否可以访问凭据对象中指定的机密。

后续步骤

  • 此处测试我们的 API。