

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在用戶端連線至 AWS IoT just-in-time註冊 (JITR) 時註冊用戶端憑證
<a name="auto-register-device-cert"></a>

您可以設定 CA 憑證，以啟用其簽署的用戶端憑證，以便在用戶端第一次連線時 AWS IoT 自動向 註冊 AWS IoT。

若要在用戶端 AWS IoT 第一次連線至 時註冊用戶端憑證，您必須啟用 CA 憑證以進行自動註冊，並設定用戶端提供所需憑證的第一個連線。

## 設定憑證授權機構憑證以支援自動註冊 (主控台)
<a name="enable-auto-registration-console"></a>

**使用 AWS IoT 主控台設定 CA 憑證以支援自動用戶端憑證註冊**

1. 登入 AWS 管理主控台並開啟 [AWS IoT 主控台](https://console.aws.amazon.com/iot/home)。

1. 請在左側導覽窗格中，選擇 **Secure** (安全)、**CAs** (CA)。

1. 在憑證授權單位清單中，尋找您要啟用自動註冊的憑證授權單位，然後使用省略符號圖示開啟選項選單。

1. 在選項選單上，選擇 **Enable auto-registration (啟用自動註冊)**。

**注意**  
自動註冊狀態不會顯示在憑證授權單位清單中。若要查看憑證授權機構的自動註冊狀態，您必須開啟憑證授權機構的 **Details (詳細資料)** 頁面。

## 設定憑證授權機構憑證以支援自動註冊 (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)命令`autoRegistrationStatus`將 CA 憑證設定為 `ENABLE`。

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

如果您想要在註冊憑證授權機構憑證時啟用 `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
```

使用 [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) 命令來查看 CA 憑證的狀態。

## 設定用戶端的首次連線進行自動註冊
<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 憑證 AWS IoT 辨識為已註冊的 CA 憑證、註冊用戶端憑證，並將其狀態設定為 `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。雖不要求顯示憑證授權機構憑證，但需要裝置在連線時傳送[伺服器名稱指示 (SNI)](https://datatracker.ietf.org/doc/html/rfc3546#section-3.1) 延伸。

當 AWS IoT 自動註冊憑證或用戶端呈現 `PENDING_ACTIVATION` 狀態的憑證時， 會將訊息 AWS IoT 發佈至下列 MQTT 主題：

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

`caCertificateId` 為發行該用戶端憑證的憑證授權機構憑證 ID。

發佈至此主題的訊息具有以下結構：

```
{
        "certificateId": "certificateId",
        "caCertificateId": "caCertificateId",
        "timestamp": timestamp,
        "certificateStatus": "PENDING_ACTIVATION",
        "awsAccountId": "awsAccountId",
        "certificateRegistrationTimestamp": "certificateRegistrationTimestamp"
}
```

您可以建立規則以監聽此主題，並執行部分動作。我們建議您建立 Lambda 規則，此規則可驗證用戶端憑證未列於憑證撤銷清單 (CRL) 中，同時啟用憑證，並建立和連接政策至憑證。政策會決定用戶端能夠存取哪些資源。如果您要建立的政策需要連線裝置的用戶端 ID，您可以使用規則的 clientid() 函數來擷取用戶端 ID。範例規則定義可能如下所示：

```
SELECT *,
   clientid() as clientid
from $aws/events/certificates/registered/caCertificateId
```

在此範例中，規則會訂閱 JITR 主題`$aws/events/certificates/registered/caCertificateID`，並使用 clientid() 函數來擷取用戶端 ID。然後，規則會將用戶端 ID 附加至 JITR 承載。如需規則 clientid() 函數的詳細資訊，請參閱 [clientid()](https://docs.aws.amazon.com//iot/latest/developerguide/iot-sql-functions.html#iot-sql-function-clientid)。

如需如何建立會接聽 `$aws/events/certificates/registered/caCertificateID` 主題並執行這些動作之 Lambda 規則的詳細資訊，請參閱 [AWS IoT上用戶端憑證的即時註冊](https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/)。

如果在自動註冊用戶端憑證期間發生任何錯誤或例外狀況， 會將事件或訊息 AWS IoT 傳送至 CloudWatch Logs 中的日誌。如需為您帳戶設定記錄的詳細資訊，請參閱 [Amazon CloudWatch 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/)。