

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# クライアントがジャ AWS IoT just-in-time登録 (JITR) に接続するときにクライアント証明書を登録する
<a name="auto-register-device-cert"></a>

CA 証明書を設定して、クライアントが初めて接続したときに AWS IoT に自動的に登録するために署名したクライアント証明書を有効にすることができます AWS IoT。

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

## 自動登録をサポートするための CA 証明書の設定 (コンソール)
<a name="enable-auto-registration-console"></a>

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

1.  AWS マネジメントコンソールにサインインし、[AWS IoT コンソール](https://console.aws.amazon.com/iot/home)を開きます。

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

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

1. オプションメニューで、[**自動登録を有効にする**] を選択します。

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

## 自動登録をサポートするための CA 証明書の設定 (CLI)
<a name="enable-auto-registration-cli"></a>

CA 証明書を に登録済みの場合は AWS IoT、 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html) コマンドを使用して CA 証明書`autoRegistrationStatus`の を に設定します`ENABLE`。

```
aws iot update-ca-certificate \
--certificate-id caCertificateId \
--new-auto-registration-status ENABLE
```

CA 証明書を登録するときに `autoRegistrationStatus` を有効にする場合は、[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html) コマンドを使用します。

```
aws iot register-ca-certificate \
--allow-auto-registration  \
--ca-certificate file://root_CA_cert_filename.pem \
--verification-cert file://verification_cert_filename.pem
```

CA 証明書のステータスを表示するには、[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) コマンドを使用します。

## 自動登録のためのクライアントによる最初の接続の設定します
<a name="configure-auto-reg-first-connect"></a>

クライアントが AWS IoT 初めて に接続しようとする場合、Transport Layer Security (TLS) ハンドシェイク中に CA 証明書によって署名されたクライアント証明書がクライアントに存在する必要があります。

クライアントが に接続するときは AWS IoT、「クライアント証明書[の作成」または「独自のクライアント証明書の作成」で作成した AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/device-certs-create.html)クライアント証明書を使用します。 は CA 証明書を登録済み CA 証明書として AWS IoT 認識し、クライアント証明書を登録して、そのステータスを に設定します`PENDING_ACTIVATION`。 [https://docs.aws.amazon.com/iot/latest/developerguide/device-certs-your-own.html](https://docs.aws.amazon.com/iot/latest/developerguide/device-certs-your-own.html)これは、クライアント証明書が自動的に登録され、アクティベーションの待機中という事です。クライアント証明書が `ACTIVE` 状態になると、 AWS IoTへの接続に使用できるようになります。クライアント証明書の有効化については、「[クライアント証明書を有効または無効する](activate-or-deactivate-device-cert.md)」を参照してください。

**注記**  
ジャ AWS IoT Core just-in-time登録 (JITR) 機能を使用してデバイスをプロビジョニングできます。デバイスの最初の接続で信頼チェーン全体を送信する必要はありません AWS IoT Core。CA 証明書の提示はオプションですが、[[Server Name Indication (SNI)](https://datatracker.ietf.org/doc/html/rfc3546#section-3.1)](サーバーネームインディケーション (SNI)) エクステンションを接続する時にそれらを送信するために、そのデバイスが必要です。

が証明書 AWS IoT を自動的に登録するか、クライアントが証明書を `PENDING_ACTIVATION`ステータスで提示すると、 は次の MQTT トピックにメッセージ AWS IoT を発行します。

`$aws/events/certificates/registered/caCertificateId`

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

このトピックに発行されたメッセージには、以下の構造があります。

```
{
        "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/caCertificateID` をサブスクライブし、clientid() 関数を使用してクライアント ID を取得します。次に、ルールは JITR ペイロードにクライアント ID を追加します。ルールの clientid() 関数の詳細については、「[clientid()](https://docs.aws.amazon.com//iot/latest/developerguide/iot-sql-functions.html#iot-sql-function-clientid)」を参照してください。

`$aws/events/certificates/registered/caCertificateID` トピックでリッスンして該当アクションを実行する Lambda ルールの作成方法については、「[Just-in-Time Registration of Client Certificates on AWS IoT](https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/)」を参照してください。

クライアント証明書の自動登録中にエラーまたは例外が発生した場合、 はイベントまたはメッセージを CloudWatch Logs のログ AWS IoT に送信します。アカウントのログ設定の詳細については、[Amazon CloudWatch のドキュメント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/)を参照してください。