使用Cognito并为AWS IOT创建策略时,iot:ClientId策略变量的值是什么?

时间:2018-10-12 17:04:36

标签: javascript node.js amazon-web-services mqtt aws-iot

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

我正在使用开放的物联网策略成功连接到物联网 通过WebSocket协议的MQTT 如此处所示: 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' ]);
});

1 个答案:

答案 0 :(得分:1)

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

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