我正在尝试为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' ]);
});
答案 0 :(得分:1)
iot:ClientId的值是您在创建mqtt连接时指定的客户端ID。
https://docs.aws.amazon.com/iot/latest/developerguide/basic-policy-variables.html