设备接入 IOTDA-设备策略使用说明:策略变量

时间:2024-01-17 17:47:23

策略变量

在策略中定义resource时,如果不知道对设备资源或条件键的精确值,可以使用策略变量作为占位符,进行发布/订阅主题筛选。策略变量在校验MQTT的主题时,会把变量变为接入设备对应的ID值,再进行匹配。

变量使用前缀“$”标记,后面跟一对大括号“{ }”,其中包含请求中值的变量名称。现如今支持的变量如下表,假设MQTT设备是在客户端ID为test_clientId,产品ID为test_productId,设备ID为test_deviceId。

表4 策略变量

策略变量

描述

MQTT中主题示例

适用于MQTT主题示例的策略示例

${devices.deviceId}

设备ID

test/test_deviceId/topic

test/${devices.deviceId}/topic

${devices.clientId}

客户端ID

test/test_clientId/topic

test/${devices.clientId}/topic

${devices.productId}

产品ID

test/test_productId/topic

test/${devices.productId}/topic

定义策略变量示例:

{
  "app_id": "jeQDJQZltU8iKgFFoW060F5SGZka",
  "policy_id": "5c90fa7d3c4e4405e8525079",
  "policy_name": "myPolicy",
  "statement": [
    {
      "effect": "ALLOW",
      "actions": [
        "iotda:devices:publish",
        "iotda:devices:subscribe"
      ],
      "resources": [
        "topic:test/${devices.deviceId}/topic"
      ]
    }
  ],
  "create_time": "20190303T081011Z",
  "update_time": "20190303T081011Z"
}

support.huaweicloud.com/usermanual-iothub/iot_01_1112.html