授予 AWS IoT 规则所需的访问权限 - AWS IoT Core

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

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

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

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

    { "Version":"2012-10-17", "Statement":[{ "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" }] }

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

    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 是一个示例策略文档,用于向 AWS IoT 管理员授予对 DynamoDB 的访问权限。

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

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

    有关如何在的策略 AWS 服务 中授予访问权限的更多信息 AWS IoT,请参阅创建 AWS 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"