翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
モノのポリシー変数
モノのポリシー変数を使用すると、モノの名前、モノのタイプ、モノの属性値などのモノのプロパティに基づいてアクセス許可を付与または拒否する AWS IoT Core ポリシーを記述できます。モノのポリシー変数を使用して、同じポリシーを適用して多くの AWS IoT Core デバイスを制御できます。デバイスのプロビジョニングの詳細については、「デバイスプロビジョニング」を参照してください。モノの名前は、モノが に接続したときに送信されるMQTTConnect
メッセージ内のクライアント ID から取得されます AWS IoT Core。
AWS IoT Core ポリシーで Thing ポリシー変数を使用する場合は、次の点に注意してください。
-
を使用してAttachThingPrincipalAPI、証明書またはプリンシパル (認証された Amazon Cognito ID) をモノにアタッチします。
-
モノの名前をモノのポリシー変数に置き換える場合、MQTT接続メッセージまたはTLS接続
clientId
の の値はモノの名前と完全に一致する必要があります。
以下のモノのポリシー変数が利用可能です。
-
iot:Connection.Thing.ThingName
これにより、ポリシーが評価されている AWS IoT Core レジストリ内のモノの名前に解決されます。 は、デバイスが認証時に提示する証明書 AWS IoT Core を使用して、接続の検証に使用するモノを決定します。このポリシー変数は、デバイスがMQTTMQTT WebSocket プロトコルを介して接続する場合にのみ使用できます。
-
iot:Connection.Thing.ThingTypeName
これは、ポリシーが評価されているモノと関連付けられるモノのタイプに解決されます。MQTT/WebSocket 接続のクライアント ID はモノの名前と同じである必要があります。このポリシー変数は、MQTTMQTTプロトコルを介して WebSocket接続する場合にのみ使用できます。
-
iot:Connection.Thing.Attributes[
attributeName
]これは、ポリシーが評価されているモノと関連付けられる指定した属性値に解決されます。モノには最大 50 個の属性を指定できます。各属性はポリシー変数として使用できます。
iot:Connection.Thing.Attributes[
ここで、attributeName
]attributeName
は属性の名前です。MQTT/WebSocket connection のクライアント ID はモノの名前と同じである必要があります。このポリシー変数は、MQTTMQTT WebSocket プロトコル経由で接続する場合にのみ使用できます。 -
iot:Connection.Thing.IsAttached
iot:Connection.Thing.IsAttached: ["true"]
は、 に登録 AWS IoT され、プリンシパルにアタッチされているデバイスのみがポリシー内のアクセス許可にアクセスできるように強制します。この変数を使用すると、レジストリ内の AWS IoT Core IoT モノにアタッチされていない証明書がデバイスに提示 AWS IoT Core された場合に、デバイスが に接続できないようにできます。この変数には値があるか、true
を使用して、レジストリ内の証明書または Amazon Cognito ID にアタッチされているfalse
ことを示しますAttachThingPrincipalAPI。モノの名前はクライアント ID として使用されます。