本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
存取控制
授予 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-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的檔案。-
{ "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-namemy-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" } } -
請使用 attach-role-policy 命令將政策連接到您的角色:
aws iam attach-role-policy --role-namemy-iot-role--policy-arn "arn:aws:iam::123456789012:policy/my-iot-policy"
撤銷規則引擎存取權
若要立即撤銷規則引擎存取權,請執行下列動作:
-
從信任政策中移除 iot.amazonaws.com
-
依照步驟撤銷 IAM 角色工作階段
限制 HTTP 動作流量至規則引擎 IPv6 範圍
依來源地址限制傳入流量的端點必須允許 區域從下表的範圍。這適用於 HTTP 動作端點,這是您可以設定為只能透過 IPv6 連線的唯一目的地。對於其他動作,規則引擎會透過 IPv4 連線至雙堆疊目的地,因此沒有允許的範圍。
這些範圍僅適用於當規則引擎透過 IPv6 連線至您的端點時,即您的端點發佈 AAAA 記錄且沒有 A 記錄時。沒有同等的 IPv4 範圍,因此依來源地址限制規則引擎流量需要只能透過 IPv6 連線的端點。
每個範圍僅用於規則引擎動作,不會變更。其他區域的範圍會在可用時新增至此資料表。如需透過 IPv6 接收資料的步驟,請參閱 網路存取。
注意
此資料表中未列出的區域沒有規則引擎 IPv6 範圍。
| 區域 | IPv6 地址範圍 |
|---|---|
| us-east-1 | 2600:1f33:8000::/48 |
| us-east-2 | 2600:1f33:6000::/48 |
| us-west-1 | 2600:1f33:c000::/48 |
| us-west-2 | 2600:1f33:4000::/48 |
| ap-east-1 | 2406:da33:e000::/48 |
| ap-northeast-1 | 2406:da33:4000::/48 |
| ap-northeast-2 | 2406:da33:2000::/48 |
| ap-south-1 | 2406:da33:a000::/48 |
| ap-southeast-1 | 2406:da33:8000::/48 |
| ap-southeast-2 | 2406:da33:c000::/48 |
| ap-southeast-5 | 2406:da33:800::/48 |
| ca-central-1 | 2600:1f33:1000::/48 |
| eu-central-1 | 2a05:d033:4000::/48 |
| eu-north-1 | 2a05:d033:6000::/48 |
| eu-south-1 | 2a05:d033:a000::/48 |
| eu-south-2 | 2a05:d033:1000::/48 |
| eu-west-1 | 2a05:d033:8000::/48 |
| eu-west-2 | 2a05:d033:c000::/48 |
| eu-west-3 | 2a05:d033:2000::/48 |
| il-central-1 | 2a05:d033:5000::/48 |
| sa-east-1 | 2600:1f33:e000::/48 |
| us-gov-east-1 | 2600:1f33:5000::/48 |
| us-gov-west-1 | 2600:1f33:2000::/48 |
下列範例會將傳入流量限制在 us-east-1範圍。將其取代為您的 區域的範圍。
API Gateway 資源政策,允許規則引擎並拒絕其他項目:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/*" }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/*", "Condition": { "NotIpAddress": { "aws:SourceIp": ["2600:1f33:8000::/48"] } } } ] }
對於負載平衡器後方或 Amazon EC2 上的端點,將傳入規則新增至安全群組,允許連接埠 443 上來自您區域範圍的 TCP 流量。