AWS - 尝试创建策略 - 资源字段无效

时间:2017-04-12 20:47:22

标签: swift amazon-web-services

我正在尝试使用AWS创建一个简单的策略。我正在为他们的sdk做AWS IoT教程,并明确表示要创建一个允许未经授权的用户访问该服务的策略:

我创建了一个池,将id添加到我的constants.swift文件中,然后尝试使用我的池ARN创建一个策略,我得到错误说资源无效:

然后我尝试进入我的Iot测试控制台并注册了一个资源标签工作的“东西”并获得了一个arn,但这不是教程告诉我要做的。

有人可以澄清如何获得此凭证吗?

谢谢!

E:我要做的就是连接到我的AWS IoT控制台。很简单的东西。似乎唯一要做的就是“确保附加到未经身份验证的角色的策略具有访问所需AWS IoT API的权限”

E:这是我输入的ARN

你们中的任何人都知道怎么做吗?谢谢!

2 个答案:

答案 0 :(得分:1)

以下是来自AWS IoT documentation的示例政策,该政策允许未经身份验证的Amazon 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": ["*"]
    }]
}
  

要允许未经身份验证的Amazon Cognito身份通过HTTP在您帐户中的topic1上发布MQTT消息,请将以下策略附加到您的Amazon Cognito身份池角色:

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

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

答案 1 :(得分:0)

注意: 对于 S3 策略示例,正确的 Amazon 资源名称 (ARN),您可以将其替换为您的域名

<div class='parent'>
  <div class='title'> Some title </div>
  <div class='element'> Element 1</div>
  <div class='element'> Element 2</div>
  <div class='element'> Element 3</div>
</div>