翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアントが登録に接続するときにクライアント証明書 AWS IoT just-in-time を登録する (JITR)
CA 証明書を設定して、クライアントが初めて接続したときに AWS IoT に自動的に登録するために署名したクライアント証明書を有効にできます AWS IoT。
クライアントが に AWS IoT 初めて接続するときにクライアント証明書を登録するには、CA 証明書の自動登録を有効にし、必要な証明書を提供するようにクライアントによる最初の接続を設定する必要があります。
自動登録をサポートするための CA 証明書の設定 (コンソール)
AWS IoT コンソールを使用してクライアント証明書の自動登録をサポートするように CA 証明書を設定するには
-
AWS マネジメントコンソールにサインインし、AWS IoT コンソール
を開きます。 -
左側のナビゲーションペインで、Secure を選択し、 を選択しますCAs。
-
認証局のリストで、自動登録を有効にする認証局を探し、省略記号アイコンを使用してオプションメニューを開きます。
-
オプションメニューで、[自動登録を有効にする] を選択します。
注記
自動登録ステータスは、認証局の一覧に表示されません。認証局の自動登録ステータスを表示するには、認証局の [詳細] ページを開く必要があります。
自動登録をサポートするように 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_cert_filename.pem
\ --verification-cert file://verification_cert_filename.pem
CA 証明書のステータスを表示するには、describe-ca-certificate
自動登録のためのクライアントによる最初の接続の設定します
クライアントが AWS IoT 初めて に接続しようとする場合、Transport Layer Security (TLS) ハンドシェイク中に CA 証明書によって署名されたクライアント証明書がクライアントに存在する必要があります。
クライアントが に接続するときは AWS IoT、「クライアント証明書の作成」または「独自のクライアント証明書の作成」で作成した AWS IoTクライアント証明書を使用します。 は、CA 証明書を登録済みの CA 証明書として AWS IoT 認識し、クライアント証明書を登録して、そのステータスを に設定しますPENDING_ACTIVATION
。 https://docs.aws.amazon.com/iot/latest/developerguide/device-certs-your-own.htmlこれは、クライアント証明書が自動的に登録され、アクティベーションの待機中という事です。クライアント証明書が ACTIVE
状態になると、 AWS IoTへの接続に使用できるようになります。クライアント証明書の有効化については、「クライアント証明書を有効または無効する」を参照してください。
注記
登録 (JITR) 機能を使用して AWS IoT Core just-in-timeデバイスをプロビジョニングできます。デバイスの最初の接続で信頼チェーン全体を送信する必要はありません AWS IoT Core。CA 証明書の提示はオプションですが、デバイスは接続時に Server Name Indication (SNI)
が証明書 AWS IoT を自動的に登録するか、クライアントが PENDING_ACTIVATION
ステータスの証明書を提示すると、 は次のMQTTトピックにメッセージ AWS IoT を発行します。
$aws/events/certificates/registered/
caCertificateId
ここで、
は、クライアント証明書を発行した CA 認定の ID です。caCertificateId
このトピックに発行されたメッセージには、以下の構造があります。
{ "certificateId": "
certificateId
", "caCertificateId": "caCertificateId
", "timestamp":timestamp
, "certificateStatus": "PENDING_ACTIVATION", "awsAccountId": "awsAccountId
", "certificateRegistrationTimestamp": "certificateRegistrationTimestamp
" }
このトピックをリッスンし、いくつかのアクションを実行するルールを作成できます。クライアント証明書が証明書失効リスト (CRL) にないことを確認し、証明書をアクティブ化し、ポリシーを作成して証明書にアタッチする Lambda ルールを作成することをお勧めします。ポリシーによって、クライアントがアクセスできるリソースが決まります。作成するポリシーで接続デバイスからのクライアント ID が必要な場合は、ルールの clientid() 関数を使用してクライアント ID を取得できます。ルール定義の例は次のようになります。
SELECT *, clientid() as clientid from $aws/events/certificates/registered/caCertificateId
この例では、ルールは JITRトピックをサブスクライブ$aws/events/certificates/registered/
し、clientid() 関数を使用してクライアント ID を取得します。次に、ルールはクライアント ID をJITRペイロードに追加します。ルールの clientid() 関数の詳細については、「clientid()」を参照してください。caCertificateID
$aws/events/certificates/registered/
トピックをリッスンしてこれらのアクションを実行する Lambda ルールを作成する方法の詳細については、just-in-time 「 でのクライアント証明書の登録 AWS IoTcaCertificateID
クライアント証明書の自動登録中にエラーまたは例外が発生した場合、 はイベントまたはメッセージを CloudWatch Logs のログ AWS IoT に送信します。アカウントのログの設定の詳細については、Amazon の CloudWatch ドキュメントを参照してください。