向 AWS IoT 规则授予所需的访问权限
使用 IAM 角色来控制每条规则可以访问的 AWS 资源。在创建规则之前,您必须创建一个 IAM 角色,并对其应用允许访问所需 AWS 资源的策略。实施规则时,AWS IoT 将代入该角色。
完成以下步骤,以创建用于向 AWS IoT 规则授予它所需访问权限的 IAM 角色和 AWS IoT 策略 (AWS CLI)。
-
将以下信任策略文档(用于授予 AWS IoT 代入此角色的权限)保存到名为
iot-role-trust.json的文件。使用 create-role 命令,指定
iot-role-trust.json文件,创建 IAM 角色:aws iam create-role --role-namemy-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" } } -
将以下 JSON 保存到名为
my-iot-policy.json的文件中。该 JSON 是授予 AWS IoT 管理员对 DynamoDB 的访问权限的示例策略文档。
使用 create-policy 命令授予 AWS IoT 在代入该角色后访问您的 AWS 资源的权限,并传入
my-iot-policy.json文件:aws iam create-policy --policy-namemy-iot-policy--policy-document file://my-iot-policy.json有关如何在 AWS IoT 的策略中授予对 AWS 服务 的访问权限的更多信息,请参阅 创建 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" } } -
使用 attach-role-policy 命令将您的策略附加到角色:
aws iam attach-role-policy --role-namemy-iot-role--policy-arn "arn:aws:iam::123456789012:policy/my-iot-policy"
撤销规则引擎访问
要立即撤销规则引擎访问,请执行以下操作