我正在尝试找到一个有效的AWS IoT策略,该策略允许发布/订阅我的一些IoT设备,但不是全部。
React Web应用程序使用该策略来简化我们的IoT软件的开发。因此,我指定了一些名称为“ LocalTest_”和特定属性`return render(request,'basic_app/registration.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})`
的物联网设备。我计划将Web应用程序的访问仅限于那些设备。我已经尝试了以下策略:
testing
条件也不同
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowConnectToAll",
"Effect": "Allow",
"Action": "iot:Connect",
"Resource": "*"
},
{
"Sid": "AllowPublishAndReceiveOfLocalTestDevices",
"Effect": "Allow",
"Action": [
"iot:Receive",
"iot:Publish"
],
"Resource": "arn:aws:iot:eu-central-1:<id>:topic/$aws/things/*",
"Condition": {
"StringLike": {
"${iot:Connection.Thing.Attributes['testing']}": "true"
}
}
},
{
"Sid": "AllowSubscribeOfLocalTestDevices",
"Effect": "Allow",
"Action": "iot:Subscribe",
"Resource": "arn:aws:iot:eu-central-1:<id>:topicfilter/*"
}
]
}
和不同的通配符定义
"Condition": {
"StringLike": {
"${iot:Connection.Thing.ThingName}": "LocalTest_*"
}
}
由于我到目前为止没有找到可行的解决方案,因此我希望有一些更好的想法或经验。
最好,丹尼尔