「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
クライアントが AWS IoT に接続するときにクライアント証明書を登録する (ジャストインタイム登録)
CA 証明書を構成して、クライアントが初めて AWS IoT に接続したときに、署名したクライアント証明書が AWS IoT に自動的に登録されるようにできます。
クライアントが AWS IoT に初めて接続するときにクライアント証明書を登録するには、CA 証明書の自動登録を有効にし、必要な証明書を提供するようにクライアントによる最初の接続を構成する必要があります。
自動登録をサポートするための CA 証明書の設定 (コンソール)
AWS IoT コンソールを使用してクライアント証明書の自動登録をサポートするように CA 証明書を設定するには
-
AWS マネジメントコンソールにサインインし、AWS IoT コンソール
を開きます。 -
左のナビゲーションペインで、[安全性]、[CAs] の順に選択します。
-
認証局のリストで、自動登録を有効にする認証局を探し、省略記号アイコンを使用してオプションメニューを開きます。
-
オプションメニューで、[ Enable auto-registration.
自動登録ステータスは、認証局の一覧に表示されません。認証局の自動登録ステータスを表示するには、認証局の [詳細] ページを開く必要があります。
自動登録をサポートするための CA 証明書の設定 (CLI)
すでに CA 証明書を AWS IoT に登録している場合は、update-ca-certificateautoRegistrationStatus
を ENABLE
に設定します。
aws iot update-ca-certificate \ --certificate-id
caCertificateId
\ --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
ここで、
は、クライアント証明書を発行した CA 認定の ID です。
caCertificateId
このトピックにパブリッシュされたメッセージには、以下の構造があります。
{ "certificateId": "
certificateId
", "caCertificateId": "caCertificateId
", "timestamp":timestamp
, "certificateStatus": "PENDING_ACTIVATION", "awsAccountId": "awsAccountId
", "certificateRegistrationTimestamp": "certificateRegistrationTimestamp
" }
このトピックをリッスンし、いくつかのアクションを実行するルールを作成できます。クライアント証明書が証明書失効リスト (CRL) に含まれていないことを確認し、証明書を有効にし、ポリシーを作成して、証明書にアタッチする、Lambda
ルールを作成することをお勧めします。ポリシーによって、クライアントがアクセスできるリソースが決まります。トピックでリッスンしてこれらのアクションを実行する Lambda
ルールの作成方法の詳細については、「$aws/events/certificates/registered/
Just-in-Time Registration of Client Certificates on AWS 」を参照してください。IoTcaCertificateID
エラーや例外がクライアント証明書の自動登録中に発生した場合、AWS IoT はイベントまたはメッセージを CloudWatch Logs のログに送信します。アカウントのログ設定の詳細については、「Amazon CloudWatch のドキュメント」を参照してください。