授予 Amazon IoT 规则所需的访问权限 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

授予 Amazon IoT 规则所需的访问权限

使用IAM角色来控制每条规则有权访问的 Amazon 资源。在创建规则之前,必须使用允许访问所需 Amazon 资源的策略创建一个IAM角色。 Amazon IoT 在实施规则时扮演这个角色。

完成以下步骤以创建向 Amazon IoT 规则授予其所需访问权限的IAM角色和 Amazon IoT 策略 (Amazon CLI)。
  1. 将以下信任策略文档(该文档授予代入该角色的 Amazon IoT 权限)保存到名为的文件中iot-role-trust.json

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:iot:us-east-1:123456789012:rule/rulename" } } } ] }

    使用 create- role 命令创建一个指定IAM文件的角色:iot-role-trust.json

    aws iam create-role --role-name my-iot-role --assume-role-policy-document file://iot-role-trust.json

    此命令的输出如下所示:

    { "Role": { "AssumeRolePolicyDocument": "url-encoded-json", "RoleId": "AKIAIOSFODNN7EXAMPLE", "CreateDate": "2015-09-30T18:43:32.821Z", "RoleName": "my-iot-role", "Path": "/", "Arn": "arn:aws:iam::123456789012:role/my-iot-role" } }
  2. 将以下内容保存JSON到名为的文件中my-iot-policy.json

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "*" } ] }

    JSON这是一个向 Amazon IoT 管理员授予对 DynamoDB 的访问权限的示例策略文档。

    在担任角色后,使用 create- p Amazon IoT olicy 命令授予对 Amazon 资源的访问权限,并传入my-iot-policy.json文件:

    aws iam create-policy --policy-name my-iot-policy --policy-document file://my-iot-policy.json

    有关如何在的策略 Amazon Web Services 服务 中授予访问权限的更多信息 Amazon IoT,请参阅创建 Amazon IoT 规则

    create-policy 命令的输出包含策略ARN的。将策略附加到角色。

    { "Policy": { "PolicyName": "my-iot-policy", "CreateDate": "2015-09-30T19:31:18.620Z", "AttachmentCount": 0, "IsAttachable": true, "PolicyId": "ZXR6A36LTYANPAI7NJ5UV", "DefaultVersionId": "v1", "Path": "/", "Arn": "arn:aws:iam::123456789012:policy/my-iot-policy", "UpdateDate": "2015-09-30T19:31:18.620Z" } }
  3. 使用attach-role-policy命令将您的策略附加到您的角色:

    aws iam attach-role-policy --role-name my-iot-role --policy-arn "arn:aws:iam::123456789012:policy/my-iot-policy"