【发布时间】:2020-07-29 20:32:39
【问题描述】:
我试图只允许在通过 aws 物联网核心中的 mqtt 订阅和发布期间使用在 aws 内联物联网策略中指定的那些主题。但它似乎也允许其他主题。
例如,这不应该工作 mytopic/test/test-123/publish123 (但它的工作)因为 publish123 没有指定
以下是内联策略
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Connect"
],
"Resource": "arn:aws:iot:eu-central-1:123456789:client/${iot:Certificate.Subject.CommonName}"
},
{
"Effect": "Allow",
"Action": [
"iot:Subscribe"
],
"Resource": [
"arn:aws:iot:eu-central-1:123456789:topicfilter/mytopic/test/${iot:Certificate.Subject.CommonName}/subsricption",
"arn:aws:iot:eu-central-1:123456789:topicfilter/mytopic/test/+/+/+/subsricption"
]
},
{
"Effect": "Allow",
"Action": [
"iot:Receive"
],
"Resource": "arn:aws:iot:eu-central-1:123456789:topic/io/ksb/m2c/${iot:Certificate.Subject.CommonName}/*"
},
{
"Effect": "Allow",
"Action": [
"iot:Publish"
],
"Resource": [
"arn:aws:iot:eu-central-1:123456789:topic/mytopic/test/${iot:Certificate.Subject.CommonName}/publish1",
"arn:aws:iot:eu-central-1:123456789:topic/mytopic/test/${iot:Certificate.Subject.CommonName}/publish2",
"arn:aws:iot:eu-central-1:123456789:topic/mytopic/test/+/+/+/publish2",
"arn:aws:iot:eu-central-1:123456789:topic/mytopic/test/${iot:Certificate.Subject.CommonName}/subsricption",
"arn:aws:iot:eu-central-1:123456789:topic/mytopic/test/+/+/+/subsricption"
]
}
]
}
【问题讨论】:
-
您如何测试发布?有没有可能你的保单没有被使用?也许尝试将
iot:Publish上的Effect显式更改为Deny以确认。 -
@BenT 我正在使用 mosquitto mqtt 发布。通过替换拒绝它正在工作。但不是允许
-
@BenT 通过替换 Deny 现在它拒绝所有主题,似乎 * 正在工作而不是资源中的应用主题
-
您的证书的 Subject.CommonName 中是否有 *?
标签: amazon-web-services amazon-cloudformation iot aws-iot