クライアントが AWS IoT に接続するときにクライアント証明書を登録する (ジャストインタイム登録) - AWS(AWS) IoT コア

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

クライアントが AWS IoT に接続するときにクライアント証明書を登録する (ジャストインタイム登録)

CA 証明書を構成して、クライアントが初めて AWS IoT に接続したときに、署名したクライアント証明書が AWS IoT に自動的に登録されるようにできます。

クライアントが AWS IoT に初めて接続するときにクライアント証明書を登録するには、CA 証明書の自動登録を有効にし、必要な証明書を提供するようにクライアントによる最初の接続を構成する必要があります。

自動登録をサポートするための CA 証明書の設定 (コンソール)

AWS IoT コンソールを使用してクライアント証明書の自動登録をサポートするように CA 証明書を設定するには

  1. AWS マネジメントコンソールにサインインし、AWS IoT コンソールを開きます。

  2. 左のナビゲーションペインで、[安全性]、[CA] の順に選択します。

  3. 認証局のリストで、自動登録を有効にする認証局を探し、省略記号アイコンを使用してオプションメニューを開きます。

  4. オプションメニューで、Enable auto-registration.

注記

自動登録ステータスは、認証局の一覧に表示されません。認証局の自動登録ステータスを表示するには、認証局の [詳細] ページを開く必要があります。

自動登録をサポートするための CA 証明書の設定 (CLI)

すでに CA 証明書を AWS IoT に登録している場合は、update-ca-certificate コマンドを使用して CA 証明書の autoRegistrationStatusENABLE に設定します。

aws iot update-ca-certificate \ --certificate-idcaCertificateId \ --new-auto-registration-status ENABLE

CA 証明書を登録するときに autoRegistrationStatus を有効にする場合は、register-ca-certificate コマンドを使用します。

aws iot register-ca-certificate \ --allow-auto-registration \ --ca-certificate file://root_CA_pem_filename \ --verification-cert file://verification_cert_pem_filename

CA 証明書のステータスを表示するには、describe-ca-certificate コマンドを使用します。

自動登録のためのクライアントによる最初の接続の設定

クライアントは、TLS ハンドシェイクの一部として AWS IoT への初回接続を試みるときに、登録された CA 証明書と CA 証明書によって署名されたクライアント証明書の両方を含むファイルを提示する必要があります。次のようなコマンドを使用して、2 つのファイルを結合できます。

cat device_cert_filename ca_certificate_pem_filename > combined_filename

クライアントが AWS IoT、combined_filename ファイルを証明書ファイルとして指定します。 AWS IoT CA証明書を登録済みのCA証明書として認識し、クライアント証明書を登録し、そのステータスを PENDING_ACTIVATION. これは、クライアント証明書が自動的に登録され、アクティブ化を待っていることを意味します。クライアント証明書が ACTIVE 状態になると、AWS IoT への接続に使用できるようになります。

AWS IoT の証明書の自動登録時、またはクライアントが PENDING_ACTIVATION 状態の証明書を提示する時に、AWS IoT は以下の MQTT トピックにメッセージをパブリッシュします。

$aws/events/certificates/registered/caCertificateId

ここで、caCertificateId は、クライアント証明書を発行した CA 認定の ID です。

このトピックにパブリッシュされたメッセージには、以下の構造があります。

{ "certificateId": "certificateId", "caCertificateId": "caCertificateId", "timestamp": timestamp, "certificateStatus": "PENDING_ACTIVATION", "awsAccountId": "awsAccountId", "certificateRegistrationTimestamp": "certificateRegistrationTimestamp" }

このトピックをリッスンし、いくつかのアクションを実行するルールを作成できます。クライアント証明書が証明書失効リスト (CRL) に含まれていないことを確認し、証明書を有効にし、ポリシーを作成して、証明書にアタッチする、Lambda ルールを作成することをお勧めします。ポリシーによって、クライアントがアクセスできるリソースが決まります。作成方法についての詳細は、 Lambda リスンするルール $aws/events/certificates/registered/caCertificateID これらのアクションを実行します。 AWSでのクライアント証明書のジャストインタイム登録 IoT.

エラーや例外がクライアント証明書の自動登録中に発生した場合、AWS IoT はイベントまたはメッセージを CloudWatch Logs のログに送信します。アカウントのログ設定の詳細については、「Amazon CloudWatch のドキュメント」を参照してください。