Amazon web services iot:Certificate.Subject.SerialNumber用于限制卷影访问

Amazon web services iot:Certificate.Subject.SerialNumber用于限制卷影访问,amazon-web-services,certificate,iot,shadow,Amazon Web Services,Certificate,Iot,Shadow,在策略中使用${iot:Certificate.Subject.SerialNumber}来限制使用指定证书对设备的影子访问时遇到困难 我有一份由aws iot颁发的证书,其序列号为十六进制:00 FC 63 F4 3D D8 8D 92 B1 19 5E 3C 6B D4 1B 99 1E 60 7C 86 34 如果将其转换为十进制字符串,则得到:1440894724465102159684825527826579699971598878260 我已将此证书附在一个名为: Scoot-144

在策略中使用${iot:Certificate.Subject.SerialNumber}来限制使用指定证书对设备的影子访问时遇到困难

我有一份由aws iot颁发的证书,其序列号为十六进制:00 FC 63 F4 3D D8 8D 92 B1 19 5E 3C 6B D4 1B 99 1E 60 7C 86 34

如果将其转换为十进制字符串,则得到:1440894724465102159684825527826579699971598878260

我已将此证书附在一个名为: Scoot-1440894724465102159684825527826579699971598878260

我的政策是:

{
“版本”:“2012-10-17”,
“声明”:[
{
“效果”:“允许”,
“行动”:“物联网:连接”,
“资源”:“arn:aws:iot:eu-central-1:XXXXXXXXX:client/*”
},
{
“效果”:“允许”,
“行动”:[
“物联网:发布”,
“物联网:订阅”,
“物联网:接收”
],
“资源”:[
“arn:aws:iot:eu-central-1:xxxxxxxxx:topic/$aws/things/Scoot-${iot:Certificate.Subject.SerialNumber}/*”,
“arn:aws:iot:eu-central-1:XXXXXXXXX:topicfilter/$aws/things/Scoot-${iot:Certificate.Subject.SerialNumber}/*”
]
}
]
}

设备无法将消息发布到卷影主题

我做错了什么?

我知道了。 AWS颁发的证书在主题中没有SerialNumber属性

它们本身就是一种属性

我应该使用${iot:Certificate.SerialNumber}
而不是${iot:Certificate.Subject.SerialNumber}

它现在可以工作了,我的设备不能再互相访问了