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

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

使用 IAM 角色来控制每条规则可以访问的 Amazon 资源。在创建规则之前,您必须创建一个 IAM 角色,并对其应用允许访问所需 Amazon 资源的策略。实施规则时,Amazon IoT 将代入该角色。

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

    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 命令,指定 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 的文件中。

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

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

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

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

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

撤销规则引擎访问

要立即撤销规则引擎访问,请执行以下操作

  1. 信任策略中移除 iot.amazonaws.com

  2. 按照步骤撤销物联网角色会话