首页 > 解决方案 > 使用 Cognito 并为 AWS IOT 创建策略时,iot:ClientId 策略变量的值是多少?

问题描述

我正在尝试为 AWS IOT 创建动态策略。

我正在通过使用 MQTT Over the WebSocket Protocol 的开放物联网策略成功连接到物联网,如下所示: https ://docs.aws.amazon.com/iot/latest/developerguide/protocols.html

以下是策略变量: https ://docs.aws.amazon.com/iot/latest/developerguide/policy-variables.html

当建立连接时,IOT 策略中iot:ClientId的值是多少?请记住,我已使用 cognito 会话令牌等正确连接到客户端。或者,有没有办法可以实时测试这些策略以查看iot:ClientId的值是什么?

这或多或少是我创建客户的方式。

let client = new MqttClient(() => {
    const url = v4.createPresignedURL(
        'GET',
        AWS_IOT_ENDPOINT_HOST.toLowerCase(),
        '/mqtt',
        'iotdevicegateway',
        crypto.createHash('sha256').update('', 'utf8').digest('hex'),
        {
            'key': AWS_ACCESS_KEY,
            'secret': AWS_SECRET_ACCESS_KEY,
            'protocol': 'wss',
            'expires': 15
        }
    );

    return websocket(url, [ 'mqttv3.1' ]);
});

标签: javascriptnode.jsamazon-web-servicesmqttaws-iot

解决方案


iot:ClientId 的值是你在创建mqtt连接时指定的客户端Id。

https://docs.aws.amazon.com/iot/latest/developerguide/basic-policy-variables.html


推荐阅读