モノのポリシー変数 - AWS IoT

モノのポリシー変数

モノのポリシー変数では、モノ名、モノのタイプ、モノの属性値のようなモノのプロパティに基づいてアクセス許可を付与または拒否する AWS IoT Core ポリシーを書き込むことができます。モノのポリシー変数を使用し、同じポリシーを適用して多くの AWS IoT Core デバイスを制御できます。デバイスのプロビジョニングの詳細については、「デバイスプロビジョニング」を参照してください。モノ名は、モノが AWS IoT Core に接続されるときに送信される MQTT Connect メッセージのクライアント ID から取得されます。

AWS IoT Core ポリシーで Thing ポリシー変数を使用する場合は、次の点に注意してください。

  • AttachThingPrincipal」 API を使用して、証明書やプリンシパル (認証済みの Amazon Cognito ID) をモノにアタッチします。

  • モノの名前を Thing ポリシー変数に置き換える場合、MQTT 接続メッセージまたは TLS 接続の clientId の値がモノの名前と完全に一致している必要があります。

以下のモノのポリシー変数が利用可能です。

  • iot:Connection.Thing.ThingName

    AWS IoT Core レジストリのモノの名前に解決されます。これに対してポリシーが評価されます。AWS IoT Core はデバイスを認証する際に提示されるデバイス証明書を使用して、接続の検証に使用するモノを決定します。このポリシー変数は、デバイスが MQTT または MQTT over WebSocket プロトコルに接続するときにのみ使用できます。

  • iot:Connection.Thing.ThingTypeName

    これは、ポリシーが評価されているモノと関連付けられるモノのタイプに解決されます。モノ名は、MQTT/WebSocket 接続のクライアント ID に設定されます。モノのタイプ名は、DescribeThing API を呼び出して取得されます。このポリシー変数は、MQTT または MQTT over WebSocket プロトコルに接続するときにのみ使用できます。

  • iot:Connection.Thing.Attributes[attributeName]

    これは、ポリシーが評価されているモノと関連付けられる指定した属性値に解決されます。モノには最大 50 個の属性を指定できます。各属性はポリシー変数として使用できます。iot:Connection.Thing.Attributes[attributeName] attributeName は属性の名前です。モノ名は、MQTT/WebSocket 接続のクライアント ID に設定されます。このポリシー変数は、MQTT または MQTT over WebSocket プロトコルに接続するときにのみ使用できます。

  • iot:Connection.Thing.IsAttached

    証明書またはポリシーが評価される Amazon Cognito ID が IoT のモノにアタッチされている場合に、true に解決されます。この変数を使用して、AWS IoT Core レジストリの IoT のモノにアタッチされていない証明書が提示された場合に、デバイスが AWS IoT Core に接続することを防止できます。