

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

# MQTT ブローカーを使用してクライアントデバイスを AWS IoT Greengrass Core デバイスに接続する
<a name="connecting-to-mqtt"></a>

 AWS IoT Greengrass Core デバイスで MQTT ブローカーを使用する場合、デバイスはデバイス固有の*コアデバイス認証局 (CA)* を使用して、クライアントとの相互 TLS 接続を行うためにブローカーに証明書を発行します。

AWS IoT Greengrass はコアデバイス CA を自動生成するか、独自の CA を指定できます。コアデバイス CA は、[クライアントデバイス認証](client-device-auth-component.md)コンポーネントが接続され AWS IoT Greengrass ているときに に登録されます。自動生成されたコアデバイス CA は永続的であり、クライアントデバイス認証コンポーネントが設定されている限り、デバイスは同じ CA を使用し続けます。

MQTT ブローカーが起動すると、証明書をリクエストします。クライアントデバイス認証コンポーネントは、コアデバイス CA を使用して X.509 証明書を発行します。証明書は、ブローカーの起動時、証明書の失効時、または IP アドレスなどの接続に関する情報の変更時にローテーションされます。詳細については、「[ローカル MQTT ブローカー上での証明書ローテーション](device-auth.md#mqtt-certificate-expiration)」を参照してください。

クライアントを MQTT ブローカーに接続するには、次が必要です。
+ クライアントデバイスには AWS IoT Greengrass Core デバイス CA が必要です。この CA は、クラウド検出を通じて、または手動で CA を提供することによって取得できます。詳細については、「[独自の認証機関の使用](#use-your-own-CA)」を参照してください。
+ コアデバイスの完全修飾ドメイン名 (FQDN) または IP アドレスは、コアデバイス CA によって発行されたブローカー証明書に存在する必要があります。[IP ディテクター](ip-detector-component.md) コンポーネントを使用するか、または IP アドレスを手動で設定することで、これを確実に実現できます。詳細については、「[コアデバイスのエンドポイントを管理](manage-core-device-endpoints.md)」を参照してください。
+ クライアントデバイス認証コンポーネントは、Greengrass コアデバイスに接続するための許可をクライアントデバイスに付与する必要があります。詳細については、「[クライアントデバイス認証](client-device-auth-component.md)」を参照してください。

## 独自の認証機関の使用
<a name="use-your-own-CA"></a>

クライアントデバイスがクラウドにアクセスしてコアデバイスを検出できない場合は、コアデバイス認証機関 (CA) を指定できます。Greengrass コアデバイスは、コアデバイス CA を使用して MQTT ブローカーの証明書を発行します。コアデバイスを設定してクライアントデバイスに CA をプロビジョニングすると、クライアントデバイスは、コアデバイス CA (独自に提供された CA または自動生成された CA) を使用してエンドポイントに接続し、TLS ハンドシェイクを検証できます。

コアデバイス CA を使用するように [クライアントデバイス認証](client-device-auth-component.md) コンポーネントを設定するには、コンポーネントをデプロイするときに `certificateAuthority` 設定パラメータを設定します。設定時には次の詳細情報を入力する必要があります。
+ コアデバイス CA 証明書の場所。
+ コアデバイス CA 証明書のプライベートキー。
+ (オプション) ルート証明書への証明書チェーン (コアデバイス CA が中間 CA の場合)。

コアデバイス CA を指定すると、 は CA をクラウド AWS IoT Greengrass に登録します。

証明書は、ハードウェアセキュリティモジュールまたはファイルシステムに保存できます。次の例は、HSM/TPM を使用して格納された中間 CA の `certificateAuthority` 設定を示しています。証明書チェーンはディスクにのみ保存できることに注意してください。

```
  "certificateAuthority": {
      "certificateUri": "pkcs11:object=CustomerIntermediateCA;type=cert",
      "privateKeyUri": "pkcs11:object=CustomerIntermediateCA;type=private"
      "certificateChainUri": "file:///home/ec2-user/creds/certificateChain.pem",
    }
```

この例では、`certificateAuthority` 設定パラメータがファイルシステムから中間 CA を使用するように、クライアントデバイス認証コンポーネントを設定します。

```
  "certificateAuthority": {
      "certificateUri": "file:///home/ec2-user/creds/intermediateCA.pem",
      "privateKeyUri": "file:///home/ec2-user/creds/intermediateCA.privateKey.pem",
      "certificateChainUri": "file:///home/ec2-user/creds/certificateChain.pem",
    }
```

デバイスを AWS IoT Greengrass Core デバイスに接続するには、次の手順を実行します。

1. 組織のルート CA を使用して Greengrass コアデバイス用の中間認証機関 (CA) を作成します。セキュリティに関するベストプラクティスとして、中間 CA を使用することをお勧めします。

1. 中間 CA 証明書、プライベートキー、証明書チェーンを、ルート CA から Greengrass コアデバイスに提供します。詳細については、「[クライアントデバイス認証](client-device-auth-component.md)」を参照してください。中間 CA は Greengrass コアデバイスのコアデバイス CA になり、デバイスは CA を に登録します AWS IoT Greengrass。

1. クライアントデバイスを AWS IoT モノとして登録します。詳細については、「AWS IoT Core デベロッパーガイド」の「[モノのオブジェクトを作成する](https://docs.aws.amazon.com/iot/latest/developerguide/create-iot-resources.html#create-aws-thing)」を参照してください。プライベートキー、パブリックキー、デバイス証明書、およびルート CA 証明書をクライアントデバイスに追加します。情報を追加する方法は、デバイスとソフトウェアによって異なります。

デバイスを設定すると、証明書とパブリックキーチェーンを使用して Greengrass コアデバイスに接続できるようになります。コアデバイスエンドポイントを見つけるのはソフトウェアの役割です。コアデバイスのエンドポイントを手動で設定できます。詳細については、「[エンドポイントを手動で管理](manage-core-device-endpoints.md#manually-manage-endpoints)」を参照してください。