2017-04-12 62 views
0

我想使用AWS创建一个简单的策略。我正在为他们的sdk做AWS IoT教程,并且它清楚地表明创建策略以允许未经授权的用户访问该服务:AWS - 试图创建一个策略 - 资源字段无效

我创建了一个池,将该ID添加到我的constants.swift文件中,并且然后尝试创建一个与我的池ARN的政策,我得到错误说资源无效:

然后我试着去我的IOT测试控制台,但这不是教程告诉我要做的事情。

任何人都可以澄清如何获得此凭据?

谢谢!

E:我想要做的就是连接到我的AWS IoT控制台。非常简单的东西。这似乎是唯一剩下要做的就是“确保连接到未认证的作用,政策有权限访问所需的AWS物联网的API”

E:这是我进入

是否有任何的ARN你知道该怎么做?谢谢!

+0

你能告诉我们你输入的ARN吗? –

+0

@JohnRotenstein我发布了我输入的ARN图像。它来自我的泳池ARN – Ryan

+0

为什么您将Cognito ARN输入物联网政策。有一些文件建议你这样做吗?通常,ARN与您为其创建策略的服务相关(例如,对于S3,请参阅S3存储桶)。 –

回答

1

下面是从AWS IoT documentation样本策略,允许未经认证的亚马逊Cognito身份对任何话题发表了HTTP消息:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
      "iot:Connect", 
      "iot:Publish", 
      "iot:Subscribe", 
      "iot:Receive", 
      "iot:GetThingShadow", 
      "iot:UpdateThingShadow", 
      "iot:DeleteThingShadow​" 
     ], 
     "Resource": ["*"] 
    }] 
} 

允许未经授权的亚马逊Cognito身份上TOPIC1通过HTTP发布MQTT消息在您的帐户,请将以下政策到您的Amazon Cognito身份池的作用:

{ 
    "Version": "2012-10-17", 
    "Statement": [{ 
     "Effect": "Allow", 
     "Action": ["iot:Publish"], 
     "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/topic1"] 
    }] 
} 

您似乎可以将这些策略附加到用于向未经身份验证的用户授予权限的角色。

+0

非常感谢你,这是它!谢谢 – Ryan