首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AWS IoT策略的通配符与iot的作业资源:发布

如何使用AWS IoT策略的通配符与iot的作业资源:发布
EN

Stack Overflow用户
提问于 2019-04-01 05:53:46
回答 1查看 695关注 0票数 0

我如何允许所有的作业,而不是特定的作业名称,“物联网:发布”从我的设备?

我不知道允许通配符+*的作业更新主题为“物联网:发布”。

但是我可以用它写“物联网:订阅”和“物联网:接收”。

AWS IoT策略:

“物联网:出版”

代码语言:javascript
复制
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": [
        "arn:aws:iot:xxx:xxx:topic/$aws/things/${iot:ClientId}/jobs/start-next",
        "arn:aws:iot:xxx:xxx:topic/$aws/things/${iot:ClientId}/jobs/ota-20190401/update"  <- (A)allow publishing
        "arn:aws:iot:xxx:xxx:topic/$aws/things/${iot:ClientId}/jobs/+/update"  <- (B)not allow publishing
      ]
    }
  ]
}

“物联网:订阅”

代码语言:javascript
复制
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": [
        "arn:aws:iot:xxx:xxx:topicfilter/$aws/things/${iot:ClientId}/jobs/notify-next",
        "arn:aws:iot:xxx:xxx:topicfilter/$aws/things/${iot:ClientId}/jobs/start-next/accepted",
        "arn:aws:iot:xxx:xxx:topicfilter/$aws/things/${iot:ClientId}/jobs/start-next/rejected",
        "arn:aws:iot:xxx:xxx:topicfilter/$aws/things/${iot:ClientId}/jobs/+/update/accepted",  <- allow subscribing
        "arn:aws:iot:xxx:xxx:topicfilter/$aws/things/${iot:ClientId}/jobs/+/update/rejected"  <- allow subscribing
      ]
    }
  ]
}

我在我的设备上安装了AWSIoTPythonSDK.exception.AWSIoTExceptions.publishTimeoutException以防(B)策略的影响。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-01 16:41:31

根据https://docs.aws.amazon.com/iot/latest/developerguide/pub-sub-policy.html的说法,'+‘或'#’被视为一个字面字符。您可以使用“*”作为通配符,但请注意,“*”将匹配主题中的任何字符(字母、数字、斜杠等)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55448811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档