本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
授與 AWS IoT 規則所需的存取權
使用 IAM 角色來控制每個規則可存取的 AWS 資源。在建立規則之前,您必須建立具有允許存取所需 AWS 資源的政策的 IAM 角色。 AWS IoT 在實作規則時會擔任此角色。
完成以下步驟來建立 IAM 角色和 AWS IoT 政策,以授與 AWS IoT 規則所需的存取權限 (AWS CLI)。
-
將下列信任原則文件儲存至名為的檔案,該文件會授與擔任角色的 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
" } } -
將下列 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" } } -
使用命attach-role-policy令將原則附加至您的角色:
aws iam attach-role-policy --role-name
my-iot-role
--policy-arn "arn:aws:iam::123456789012:policy/my-iot-policy
"