授與 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", "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,請參閱建立規則

    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"