

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

# クライアント証明書の登録
<a name="register-device-cert"></a>

クライアントと 間の通信を有効にする AWS IoT には、クライアント証明書を に登録する必要があります AWS IoT。各クライアント証明書を手動で登録することも、クライアントが AWS IoT 初めて に接続するときに自動的に登録するようにクライアント証明書を設定することもできます。

 クライアントとデバイスが最初に接続するときにクライアント証明書を登録する場合は、[CA 証明書の登録](manage-your-CA-certs.md#register-CA-cert) を使用するリージョンで AWS IoT を使用してクライアント証明書に署名する必要があります。Amazon ルート CA は自動的に に登録されます AWS IoT。

クライアント証明書は、 AWS アカウント および リージョンで共有できます。これらのトピックの手順は、クライアント証明書を使用する各アカウントおよびリージョンで実行する必要があります。あるアカウントまたはリージョンでのクライアント証明書の登録は、別のアカウントでは自動的に認識されません。

**注記**  
 AWS IoT への接続に Transport Layer Security (TLS) プロトコルを使用するクライアントは、TLS に対する [Server Name Indication (SNI) 拡張機能](https://tools.ietf.org/html/rfc3546#section-3.1)をサポートしている必要があります。詳細については、「[のトランスポートセキュリティ AWS IoT Core](transport-security.md)」を参照してください。

**Topics**
+ [クライアント証明書を手動で登録する](manual-cert-registration.md)
+ [クライアントがジャ AWS IoT just-in-time登録 (JITR) に接続するときにクライアント証明書を登録する](auto-register-device-cert.md)

# クライアント証明書を手動で登録する
<a name="manual-cert-registration"></a>

 AWS IoT コンソールと を使用して、クライアント証明書を手動で登録できます AWS CLI。

使用する登録手順は、証明書が AWS アカウントおよびリージョンによって共有されるかどうかによって異なります。あるアカウントまたはリージョンでのクライアント証明書の登録は、別のアカウントでは自動的に認識されません。

このトピックの手順は、クライアント証明書を使用する各アカウントおよびリージョンで実行する必要があります。クライアント証明書は、 AWS アカウントおよび リージョンで共有できます。

## 登録した CA によって署名したクライアント証明書を登録する (コンソール)
<a name="manual-cert-registration-console"></a>

**注記**  
この手順を実行する前に、クライアント証明書の .pem ファイルがあり、クライアント証明書が[登録 AWS IoT](manage-your-CA-certs.md#register-CA-cert)した CA によって署名されていることを確認してください。

**コンソール AWS IoT を使用して既存の証明書を に登録するには**

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

1. ナビゲーションペインの **[Manage]** (管理) セクションで、**[Security]** (セキュリティ)、**[Certificates]** (証明書) の順に選択します。

1. **[Certificates]** (証明書) ページの **[Certificates]** (証明書) ダイアログボックスで、**[Add certificate]** (証明書を追加)、**[Register certificates]** (証明書を登録) の順に選択します。

1. **[Register certificate]** (証明書を登録) ページの **[Certificates to upload]** (アップロードする証明書) ダイアログボックスで、次の操作を行います。
   + **[CA is registered with AWS IoT]** (CA が IoT に登録されています) を選択します。
   + **[Choose a CA certificate]** (CA 証明書を選択) から **[Certification authority]** (認証機関) を選択します。
     +  AWS IoTに登録されていない新しい**認証機関**を登録するには、**[Register a new CA]** (新しい CA を登録) を選択します。
     + 認証機関として **Amazon ルート認証機関**を使用する場合は、**[Choose a CA certificate]** (CA 証明書を選択) を空白のままにします。
   + アップロードして登録する証明書を最大 10 個選択します AWS IoT。
     + 「[AWS IoT クライアント証明書を作成する](device-certs-create.md)」と「[CA 証明書を使用してクライアント証明書を作成する](create-device-cert.md)」で作成した証明書ファイルを使用します。
   + **[Activate]** (有効化) または **[Deactivate]** (無効化) を選択します。**[Deactive]** (無効化) を選択すると、証明書の登録後に証明書を有効化する方法についての説明が [クライアント証明書を有効または無効する](activate-or-deactivate-device-cert.md) に表示されます。
   + [**登録**] を選択します。

**[Certificates]** (証明書) ページの **[Certificates]** (証明書) ダイアログボックスに、登録した証明書が表示されます。

## 登録していない CA によって署名したクライアント証明書を登録する (コンソール)
<a name="manual-cert-registration-console-noca"></a>

**注記**  
この手順を実行する前に、クライアント証明書の.pem ファイルがあることを確認してください。

**コンソール AWS IoT を使用して既存の証明書を に登録するには**

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

1. 左のナビゲーションペインで、[**安全性**] を選択し、[**証明書**] を選択してから [**作成**] を選択します。

1. **[Create a certificate]** (証明書を作成する) で、**[Use my certificate]** (お持ちの証明書を使用する) エントリを見つけて、**[Get started]** (今すぐ始める) を選択します。

1. **[Select a CA]** (CA の選択) で、**[Next]** (次へ) を選択します。

1.  **[Register existing device certificates]** (既存のデバイス証明書を登録する) で **[Select certificates]** (証明書の選択) を選択し、登録する証明書ファイルを最大 10 個選択します。

1.  ファイルダイアログボックスを閉じた後、クライアント証明書を登録するときにアクティブ化するか取り消すかどうかを選択します。

   登録時に証明書をアクティブ化しない場合、後で証明書をアクティブ化する方法については、「[クライアント証明書のアクティブ化 (コンソール)](activate-or-deactivate-device-cert.md#activate-device-cert-console)」で説明します。

   登録時に証明書が失効した場合、後でアクティブ化することはできません。

   登録する証明書ファイルを選択し、登録後に実行するアクションを選択したら、[**Register certificates(証明書の登録) **] を選択します。

正常に登録されたクライアント証明書が証明書の一覧に表示されます。

## 登録した CA によって署名したクライアント証明書を登録する (CLI)
<a name="manual-cert-registration-cli"></a>

**注記**  
この手順を実行する前に、認証局 (CA) .pem とクライアント証明書の.pem ファイルがあることを確認してください。クライアント証明書は、[登録 AWS IoT](manage-your-CA-certs.md#register-CA-cert)した認証機関 (CA) によって署名されている必要があります。

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-certificate.html) コマンドを使用して、クライアント証明書を登録します (アクティブ化しません)。

```
aws iot register-certificate \
    --certificate-pem file://device_cert_filename.pem \
    --ca-certificate-pem file://ca_cert_filename.pem
```

クライアント証明書は に登録されていますが AWS IoT、まだアクティブではありません。後で有効化する方法については、「[クライアント証明書のアクティブ化 (CLI)](activate-or-deactivate-device-cert.md#activate-device-cert-cli)」を参照してください。

このコマンドを使用して、クライアント証明書を登録するときにクライアント証明書をアクティブ化することもできます。

```
aws iot register-certificate \
    --set-as-active \
    --certificate-pem file://device_cert_filename.pem \
    --ca-certificate-pem file://ca_cert_filename.pem
```

証明書をアクティブ化して に接続できるようにする方法の詳細については AWS IoT、「」を参照してください。 [クライアント証明書を有効または無効する](activate-or-deactivate-device-cert.md)

## 登録していない CA によって署名したクライアント証明書を登録する (CLI)
<a name="manual-cert-registration-noca-cli"></a>

**注記**  
この手順を実行する前に、証明書の.pem ファイルがあることを確認してください。

[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-certificate-without-ca.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-certificate-without-ca.html) コマンドを使用して、クライアント証明書を登録します (アクティブ化しません)。

```
aws iot register-certificate-without-ca \
    --certificate-pem file://device_cert_filename.pem
```

クライアント証明書は に登録されていますが AWS IoT、まだアクティブではありません。後で有効化する方法については、「[クライアント証明書のアクティブ化 (CLI)](activate-or-deactivate-device-cert.md#activate-device-cert-cli)」を参照してください。

このコマンドを使用して、クライアント証明書を登録するときにクライアント証明書をアクティブ化することもできます。

```
aws iot register-certificate-without-ca \
    --status ACTIVE \
    --certificate-pem file://device_cert_filename.pem
```

証明書をアクティブ化して に接続できるようにする方法の詳細については AWS IoT、「」を参照してください[クライアント証明書を有効または無効する](activate-or-deactivate-device-cert.md)。

# クライアントがジャ 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/)を参照してください。