AWS IoT MQTT カスタム認証

· コンポーネント

sgcWebSockets 4.4.3 から、Amazon AWS IoT MQTT コンポーネントがカスタム認証をサポートしました。これにより、以下のすべての MQTT プロトコルに対応しています。

  1. WebSocket 上の MQTT
  2. TCP 上の MQTT
  3. X.509 証明書認証
  4. Signature V4 認証
  5. カスタム認証

サポートされているプロトコル 

 次の表は、AWS IoT デバイスエンドポイントがサポートするプロトコルと、使用する認証方式およびポートの一覧です。

カスタム認証 

AWS IoT Core では、カスタムオーソライザーを定義して、クライアントの認証と認可を独自に管理できます。これは、AWS IoT Core がネイティブにサポートしている以外の認証メカニズムを使用する必要がある場合に有効です。たとえば、既存のフィールドデバイスを AWS IoT Core に移行する際に、カスタムのベアラートークンや MQTT のユーザー名とパスワードで認証している場合、新しい ID をプロビジョニングすることなく移行できます。カスタム認証は、AWS IoT Core がサポートするすべての通信プロトコルで使用できます。

例: MQTT のユーザー名とパスワードで認証する場合

oIoT := TsgcIoTAmazon_MQTT_Client.Create(nil);
oIoT.MQTTAuthentication.Enabled := True;
oIoT.MQTTAuthentication.Username := 'user';
oIoT.MQTTAuthentication.Password := 'password';
oIoT.CustomAuthentication.Enabled := True;
oIoT.CustomAuthentication.WebSockets := True;
oIoT.CustomAuthentication.Parameters := '/mqtt';
oIoT.Active := True; 

例: ベアラートークンを送信する場合

oIoT := TsgcIoTAmazon_MQTT_Client.Create(nil);
oIoT.CustomAuthentication.Enabled := True;
oIoT.CustomAuthentication.WebSockets := True;
oIoT.CustomAuthentication.Parameters := '/mqtt';
oIoT.CustomAuthentication.Headers.Text := 'Authorization: Bearer AbCdEf123456';
oIoT.Active := True; 

Delphi Amazon AWS IoT Client Component

Amazon AWS IoT MQTT クライアント。ドキュメントの確認、サンプルのダウンロードなど。 https://www.esegece.com/products/websockets/iot/aws-iot