ApsaraMQ for MQTT では、X.509 証明書を使用した相互認証が可能です。サーバー証明書とデバイス証明書を使用して ApsaraMQ for MQTT ブローカーとクライアントを認証します。これにより、ブローカーとクライアント間の安全で信頼性の高い通信が保証されます。このトピックでは、ApsaraMQ for MQTT クライアントで証明書ベースの認証を実装する方法について説明します。
制限事項
片方向認証:すべてのインスタンスタイプでサポートされています。
相互認証:エンタープライズプラチナエディションのインスタンスでのみサポートされています。
片方向認証
クライアントでのブローカー認証
ApsaraMQ for MQTT クライアントは、サーバー証明書を使用して ApsaraMQ for MQTT ブローカーを認証します。クライアントがブローカーへの接続リクエストを開始すると、ハンドシェイク中に検証のためにサーバー証明書が自動的にクライアントに発行されます。クライアントは、サーバー証明書の検証に合格した場合にのみブローカーに接続できます。
操作手順
エンタープライズプラチナエディション インスタンスを使用している場合、インスタンスの認証モードを一方向認証に切り替えた後にのみ、以下の操作を実行できます。 その他のタイプのインスタンスでは、一方向認証が自動的にサポートされます。
ApsaraMQ for MQTT コンソールにログインします。左側のナビゲーションウィンドウで、インスタンスリスト をクリックします。
上部のナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。[インスタンス] ページで、インスタンス名をクリックして インスタンスの詳細 ページに移動します。
左側のナビゲーションウィンドウで、 を選択します。
表示されたページで 単方向認証 をクリックします。表示されたメッセージで、メッセージを読み、OK をクリックします。その後、ブローカーが再起動するまで待ちます。
サーバー証明書の検証
次の表は、サーバー証明書の検証に使用されるサンプルコードのダウンロードリンクを示しています。
プログラミング言語 | ダウンロードリンク |
Java | |
Python | |
C | |
.NET | |
JavaScript | |
iOS |
相互認証
クライアントでのブローカー認証
ApsaraMQ for MQTT クライアントは、サーバー証明書を使用して ApsaraMQ for MQTT ブローカーを認証します。クライアントは、サーバー証明書の検証に合格した場合にのみブローカーに接続できます。サーバー証明書を使用するには、証明書を購入または発行し、その証明書を Certificate Management Service でホストしてから、ApsaraMQ for MQTT インスタンスを再起動して証明書を有効にする必要があります。
ブローカーでのクライアント認証
ApsaraMQ for MQTT ブローカーは、デバイス証明書を使用して ApsaraMQ for MQTT クライアントを認証します。クライアントがブローカーへの接続リクエストを開始すると、クライアントは TLS 1.2 に基づいてブローカーと対話します。対話プロセス中に、クライアントはデバイス証明書をブローカーに渡し、ブローカーはクライアントがブローカーに登録した認証局 (CA) 証明書に基づいてデバイス証明書を検証します。クライアントは、デバイス証明書の検証に合格した場合にのみブローカーに接続できます。
操作手順
エンタープライズプラチナエディションインスタンスを使用する場合にのみ、以下の操作を実行できます。
CA 証明書を取得し、ApsaraMQ for MQTT ブローカーに登録します。詳細については、「CA 証明書の管理」をご参照ください。
CA から CA 証明書を申請できます。CA 証明書を作成することもできます。CA 証明書を使用して、デバイス証明書、サーバー証明書、および検証証明書を発行できます。
CA 証明書は、ApsaraMQ for MQTT ブローカーに登録した後にのみ使用できます。
サーバー証明書を発行し、Certificate Management Service でホストしてから、ApsaraMQ for MQTT を再起動して証明書を有効にします。詳細については、「サーバー証明書の管理」をご参照ください。
デバイス証明書を発行します。デバイス証明書は CA 証明書を使用して発行されます。各デバイス証明書がグローバルに一意であることを確認してください。詳細については、「CA 証明書を使用してデバイス証明書を発行する」をご参照ください。
デバイス証明書は、ApsaraMQ for MQTT ブローカーに登録した後にのみ使用できます。
クライアントを初めてブローカーに接続するときは、デバイス証明書をブローカーに登録する必要があります。この場合、ブローカーは自動的にデバイス証明書を対応する CA 証明書と照合し、デバイス証明書をブローカーに登録します。その後の接続リクエストでは、ブローカーは CA 証明書を照合する必要なくデバイス証明書を検証します。
デバイス証明書の検証
次の表は、デバイス証明書の検証に使用されるサンプルコードのダウンロードリンクを示しています。
プログラミング言語 | ダウンロードリンク |
Java | |
Python | |
C | |
.NET | |
JavaScript | |
iOS |
関連操作
API 操作
CA 証明書の管理
デバイス証明書の管理
コンソール
購入または発行したサーバー証明書を Certificate Management Service でホストし、その証明書を使用して ApsaraMQ for MQTT コンソールで ApsaraMQ for MQTT インスタンスを初期化できます。詳細については、「サーバー証明書の管理」をご参照ください。
ApsaraMQ for MQTT コンソールで、CA 証明書の登録、CA 証明書のステータス変更、CA 証明書の削除ができます。詳細については、「CA 証明書の管理」をご参照ください。
ApsaraMQ for MQTT コンソールで、デバイス証明書のクエリ、デバイス証明書のステータス変更、デバイス証明書の削除ができます。詳細については、「デバイス証明書の管理」をご参照ください。