首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊网络服务IoT通用策略与用户策略

亚马逊网络服务IoT通用策略与用户策略
EN

Stack Overflow用户
提问于 2017-09-19 03:44:37
回答 2查看 461关注 0票数 4

我想知道是否有人有关于处理策略的亚马逊网络服务IoT的最佳实践的想法,例如,我们可能有两种不同的情况:

案例1:调用一个动态创建策略的lambda( identity -id as param),然后将该策略附加到标识id。策略将包含硬编码的事物名称,例如:

代码语言:javascript
复制
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "arn:aws:iot:us-west-2:XXXX:client/hardcodedClient1"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:Publish",
        "iot:Subscribe",
        "iot:Receive"
      ],
      "Resource": [
        "arn:aws:iot:us-west-2:XXXX:topic/$aws/things/THINGNAME1/*",
        "arn:aws:iot:us-west-2:XXXX:topicfilter/$aws/things/THINGNAME1/*"
      ]
    }
  ]
}

案例2:通过使用诸如${iot:ClientId}${iot:ThingName}等策略变量,我们可以将单个策略附加到所有congito-identity-users;

代码语言:javascript
复制
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "arn:aws:iot:us-west-2:XXXX:client/${iot:ClientId}"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:Publish",
        "iot:Subscribe",
        "iot:Receive"
      ],
      "Resource": [
        "arn:aws:iot:us-west-2:XXXX:topic/$aws/things/${iot:Connection.Thing.ThingName}/*",
        "arn:aws:iot:us-west-2:XXXX:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/*"
      ]
    }
  ]
}

所以,问题是。那么,哪一种是最佳实践,而且它们都是安全的,因为Cognito用户只能与他自己的设备交互?

EN

回答 2

Stack Overflow用户

发布于 2017-09-22 11:29:23

案例2使用策略变量是推荐的方法。

它减少了要处理的策略的数量,并保持了它们的意义和可重用性。好的一面是,通过不使用lambda并每次都创建策略,它将节省一些额外的金钱和时间!

就安全性而言,它与策略中的策略变量无关,它最终是操作策略允许或拒绝的内容,因为策略变量会根据谁正在尝试执行操作而动态解析,然后它与您的硬编码策略相同。

票数 0
EN

Stack Overflow用户

发布于 2018-12-07 20:27:43

第二种情况更好。您还可以使用带有适当IAM策略的Cognito Federated Pool实现身份验证机制,并以适当的权限在IoT策略中使用${cognito-identity.amazonaws.com:sub}变量(只需记住将此策略附加到您的Cognito identityId)。

如果您客户端从浏览器连接,最好不要使用iot:ClientId,因为clientId必须是唯一的,这样用户将无法打开多个浏览器选项卡。

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

https://stackoverflow.com/questions/46287046

复制
相关文章

相似问题

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