View a markdown version of this page

存取控制 - 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,請參閱 建立 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"

撤銷規則引擎存取權

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

  1. 從信任政策中移除 iot.amazonaws.com

  2. 依照步驟撤銷 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 流量。