授予 AWS IoT 規則所需的存取權 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

授予 AWS IoT 規則所需的存取權

使用 IAM 角色來控制每個規則可存取 AWS 的資源。建立規則之前,您必須使用允許存取所需 AWS resources 的政策來建立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", "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

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

    JSON 這是授予 AWS IoT 管理員 DynamoDB 存取權的政策文件範例。

    使用 create-policy 命令,在擔任 角色時授予對 AWS 資源的 AWS IoT 存取權,並在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"