翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
トンネルへのアクセスの制御
セキュアトンネリングは、IAM アクセス許可ポリシーで使用するために、サービス固有のアクション、リソース、および条件コンテキストキーを提供します。
トンネルアクセスの前提条件
トンネルアクセスポリシー
セキュアトンネリング API を使用する権限を認証するには、次のポリシーを使用する必要があります。AWS IoT のセキュリティについては、「の ID とアクセスの管理 AWS IoT」を参照してください。
iot:OpenTunnel ポリシーアクションは、 OpenTunnel を呼び出すためのプリンシパルアクセス許可を付与します。
IAM ポリシーステートメントの Resource 要素で以下を実行します。
-
ワイルドカードトンネル ARN を指定します。
arn:aws:iot:aws-region:aws-account-id:tunnel/* -
特定の IoT のモノの
OpenTunnel権限を管理するためのモノの ARN を指定します。arn:aws:iot:aws-region:aws-account-id:thing/thing-name
たとえば、次のポリシーステートメントでは、TestDevice という IoT モノへのトンネルを開くことができます。
{ "Effect": "Allow", "Action": "iot:OpenTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*", "arn:aws:iot:aws-region:aws-account-id:thing/TestDevice" ] }
iot:OpenTunnel ポリシーアクションは、次の条件キーをサポートします。
-
iot:ThingGroupArn -
iot:TunnelDestinationService -
aws:RequestTag/tag-key -
aws:SecureTransport -
aws:TagKeys
以下のポリシーステートメントでは、モノが TestGroup で始まる名前のモノのグループに属し、そのトンネルの設定済み送信先サービスが SSH である場合、モノにトンネルを開くことができます。
{ "Effect": "Allow", "Action": "iot:OpenTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "ForAnyValue:StringLike": { "iot:ThingGroupArn": [ "arn:aws:iot:aws-region:aws-account-id:thinggroup/TestGroup*" ] }, "ForAllValues:StringEquals": { "iot:TunnelDestinationService": [ "SSH" ] } } }
また、リソースタグを使用して、トンネルを開くアクセス許可を制御することもできます。たとえば、次のポリシーステートメントでは、タグキー Owner が Admin の値で存在し、他にタグが指定されていない場合に、トンネルを開くことができます。タグの使用に関する一般情報については、「AWS IoT リソースのタグ付け」を参照してください。
{ "Effect": "Allow", "Action": "iot:OpenTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "StringEquals": { "aws:RequestTag/Owner": "Admin" }, "ForAllValues:StringEquals": { "aws:TagKeys": "Owner" } } }
iot:RotateTunnelAccessToken ポリシーアクションは、RotateTunnelAccessToken を呼び出すためのプリンシパルアクセス許可を付与します。
IAM ポリシーステートメントの Resource 要素で以下を実行します。
-
完全修飾トンネル ARN を指定します。
arn:aws:iot:aws-region:aws-account-id:tunnel/tunnel-idまた、次のワイルドカードトンネル ARN を使用することもできます。
arn:aws:iot:aws-region:aws-account-id:tunnel/* -
特定の IoT のモノの
RotateTunnelAccessToken権限を管理するためのモノの ARN を指定します。arn:aws:iot:aws-region:aws-account-id:thing/thing-name
たとえば、次のポリシーステートメントでは、トンネルの送信元アクセストークンまたはクライアントの宛先アクセストークンを、TestDevice という IoT のモノに対してローテーションできます。
{ "Effect": "Allow", "Action": "iot:RotateTunnelAccessToken", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*", "arn:aws:iot:aws-region:aws-account-id:thing/TestDevice" ] }
iot:RotateTunnelAccessToken ポリシーアクションは、次の条件キーをサポートします。
-
iot:ThingGroupArn -
iot:TunnelDestinationService -
iot:ClientMode -
aws:SecureTransport
以下のポリシーステートメントでは、モノが TestGroup で始まる名前のモノのグループに属し、そのトンネルの設定済み宛先サービスが SSH で、クライアントが DESTINATION モードである場合、モノに対する宛先アクセストークンをローテーションすることができます。
{ "Effect": "Allow", "Action": "iot:RotateTunnelAccessToken", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "ForAnyValue:StringLike": { "iot:ThingGroupArn": [ "arn:aws:iot:aws-region:aws-account-id:thinggroup/TestGroup*" ] }, "ForAllValues:StringEquals": { "iot:TunnelDestinationService": [ "SSH" ], "iot:ClientMode": "DESTINATION" } } }
iot:DescribeTunnel ポリシーアクションは、DescribeTunnel を呼び出すためのプリンシパルアクセス許可を付与します。
IAM ポリシーステートメントの Resource 要素で、完全修飾 ARN を指定します。
arn:aws:iot:aws-region:
aws-account-id:tunnel/tunnel-id
また、次のワイルドカード ARN を使用することもできます。
arn:aws:iot:aws-region:aws-account-id:tunnel/*
iot:DescribeTunnel ポリシーアクションは、次の条件キーをサポートします。
-
aws:ResourceTag/tag-key -
aws:SecureTransport
次のポリシーステートメントでは、要求されたトンネルに DescribeTunnel の値が Owner のキーでタグ付けされている場合に Admin を呼び出すことができます。
{ "Effect": "Allow", "Action": "iot:DescribeTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "Admin" } } }
iot:ListTunnels ポリシーアクションは、ListTunnels を呼び出すプリンシパルアクセス許可を付与します。
IAM ポリシーステートメントの Resource 要素で以下を実行します。
-
ワイルドカードトンネル ARN を指定します。
arn:aws:iot:aws-region:aws-account-id:tunnel/* -
特定の IoT のモノの
ListTunnels権限を管理するためのモノの ARN を指定します。arn:aws:iot:aws-region:aws-account-id:thing/thing-name
iot:ListTunnels ポリシーアクションは、条件キー aws:SecureTransport をサポートします。
以下のポリシーステートメントでは、TestDevice という名前のモノのトンネルを一覧表示することができます。
{ "Effect": "Allow", "Action": "iot:ListTunnels", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*", "arn:aws:iot:aws-region:aws-account-id:thing/TestDevice" ] }
iot:ListTagsForResource ポリシーアクションは、ListTagsForResource を呼び出すためのプリンシパルアクセス許可を付与します。
IAM ポリシーステートメントの Resource 要素で、完全修飾 ARN を指定します。
arn:aws:iot:aws-region:
aws-account-id:tunnel/tunnel-id
また、次のワイルドカードトンネル ARN を使用することもできます。
arn:aws:iot:aws-region:aws-account-id:tunnel/*
iot:ListTagsForResource ポリシーアクションは、条件キー aws:SecureTransport をサポートします。
iot:CloseTunnel ポリシーアクションは、CloseTunnel を呼び出すプリンシパルアクセス許可を付与します。
IAM ポリシーステートメントの Resource 要素で、完全修飾 ARN を指定します。
arn:aws:iot:aws-region:
aws-account-id:tunnel/tunnel-id
また、次のワイルドカードトンネル ARN を使用することもできます。
arn:aws:iot:aws-region:aws-account-id:tunnel/*
iot:CloseTunnel ポリシーアクションは、次の条件キーをサポートします。
-
iot:Delete -
aws:ResourceTag/tag-key -
aws:SecureTransport
次のポリシーステートメントでは、リクエストの Delete パラメータが false で、リクエストされたトンネルに値が QATeam のキー Owner でタグ付けされている場合に、CloseTunnel を呼び出すことができます。
{ "Effect": "Allow", "Action": "iot:CloseTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "Bool": { "iot:Delete": "false" }, "StringEquals": { "aws:ResourceTag/Owner": "QATeam" } } }
iot:TagResource ポリシーアクションは、TagResource を呼び出すためのプリンシパルアクセス許可を付与します。
IAM ポリシーステートメントの Resource 要素で、完全修飾 ARN を指定します。
arn:aws:iot:aws-region:
aws-account-id:tunnel/tunnel-id
また、次のワイルドカードトンネル ARN を使用することもできます。
arn:aws:iot:aws-region:aws-account-id:tunnel/*
iot:TagResource ポリシーアクションは、条件キー aws:SecureTransport をサポートします。
iot:UntagResource ポリシーアクションは、UntagResource を呼び出すためのプリンシパルアクセス許可を付与します。
IAM ポリシーステートメントの Resource 要素で、完全修飾 ARN を指定します。
arn:aws:iot:aws-region:
aws-account-id:tunnel/tunnel-id
また、次のワイルドカードトンネル ARN を使用することもできます。
arn:aws:iot:aws-region:aws-account-id:tunnel/*
iot:UntagResource ポリシーアクションは、条件キー aws:SecureTransport をサポートします。