

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

# 授予 AWS IoT 規則所需的存取權
<a name="iot-create-role"></a>

使用 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](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 命令來建立用於指定 `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"
   	}
   }
   ```

1. 將下列 JSON 儲存至名為 `my-iot-policy.json` 的檔案。  
****  

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

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

   使用 [create-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html) 命令，在擔任角色時授予 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 規則](iot-create-rule.md)。

   [create-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy.html) 命令的輸出結果含有該政策的 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"
   	}
   }
   ```

1. 請使用 [attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html) 命令將政策連接到您的角色：

   ```
   aws iam attach-role-policy --role-name my-iot-role --policy-arn "arn:aws:iam::123456789012:policy/my-iot-policy"
   ```

## 撤銷規則引擎存取權
<a name="w2aac21c13b7"></a>

若要立即撤銷規則引擎存取權，請執行下列動作

1. 從[信任政策](https://docs.aws.amazon.com/iot/latest/developerguide/iot-create-role.html)中移除 iot.amazonaws.com 

1. 依照步驟[撤銷 iot 角色工作階段](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_revoke-sessions.html)