View a markdown version of this page

アクセスコントロール - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アクセスコントロール

必要なアクセスを AWS IoT ルールに付与する

IAM ロールを使用して、各ルールがアクセスできる AWS リソースを制御します。ルールを作成する前に、必要な AWS リソースへのアクセスを許可するポリシーを持つ IAM ロールを作成する必要があります。 は、ルールを実装するときにこのロールを AWS IoT 引き受けます。

以下の手順を実行して、必要なアクセス () を AWS IoT ルールに付与する IAM ロールと 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 は、DynamoDB への AWS IoT 管理者アクセスを許可するポリシードキュメントの例です。

    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 ロールセッションを取り消す

ルールエンジン IPv6 範囲への HTTP アクショントラフィックの制限

送信元アドレスによってインバウンドトラフィックを制限するエンドポイントでは、次の表のリージョンの範囲を許可する必要があります。これは、IPv6 経由でのみ到達できるように設定できる唯一の送信先である HTTP アクションエンドポイントに適用されます。その他のアクションの場合、ルールエンジンは 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 トラフィックを許可するインバウンドルールをセキュリティグループに追加します。