

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

# 註冊用戶端憑證
<a name="register-device-cert"></a>

用戶端憑證必須向 註冊 AWS IoT ，才能啟用用戶端與 之間的通訊 AWS IoT。您可以手動註冊每個用戶端憑證，也可以將用戶端憑證設定為 AWS IoT 在用戶端第一次連線至 時自動註冊。

 如果想要您的用戶端和裝置在第一次連線時註冊，您必須使用 [註冊您的憑證授權機構憑證](manage-your-CA-certs.md#register-CA-cert)，在要使用用戶端憑證的區域中透過 AWS IoT 來簽署該用戶端憑證。Amazon 根 CA 會自動向 註冊 AWS IoT。

用戶端憑證可由 AWS 帳戶 和 區域共用。這些主題中的程序必須在您要使用用戶端憑證的每個帳戶和區域中執行。在一個帳戶或區域中註冊用戶端憑證時，另一個帳戶或區域不會自動加以辨識。

**注意**  
使用 Transport Layer Security (TLS) 通訊協定來連線 AWS IoT 的用戶端必須支援 TLS 的[伺服器名稱指示 (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)。
   + 從 **Choose a CA certificate** (選擇 CA 憑證) 中，選取您的 **Certification authority** (憑證授權機構)。
     + 選擇 **Register a new CA** (註冊新的憑證) 以註冊未使用 AWS IoT註冊的新 **Certification authority** (憑證授權機構)。
     + 若 **Amazon Root certificate authority** (Amazon 根憑證授權機構) 是您的憑證授權機構，**Choose a CA certificate** (選擇 CA 憑證) 請保留空白。
   + 最多選取要上傳和註冊的 10 個憑證 AWS IoT。
     + 請選擇您在 [建立 AWS IoT 用戶端憑證](device-certs-create.md) 和 [使用您的憑證授權機構憑證建立用戶端憑證](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. 在左側導覽窗格中，選擇 **Secure** (安全)、選擇 **Certificates** (憑證)，然後選擇 **Create** (建立)。

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 憑證以進行自動註冊，並設定用戶端提供所需憑證的第一個連線。

## 設定憑證授權機構憑證以支援自動註冊 (主控台)
<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/)。