

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

# 將 AWS IoT 物件與 MQTT 用戶端連線建立關聯
<a name="exclusive-thing"></a>

當您將 X.509 憑證連接至單一物件時，即為專屬 AWS IoT 物件關聯。在此情況下，憑證無法與其他物件搭配使用。透過確保憑證僅供單一 IoT 物件使用，有助於防止安全漏洞。

在 中 AWS IoT，用戶端 ID 是物件或裝置連線到 AWS IoT Core MQTT 代理程式時的唯一識別符。如果您使用非專屬關聯，則可以將多個物件連接到相同的憑證。建立非專屬物件關聯時，若要維持明確的關聯並避免潛在的衝突，您必須比對用戶端 ID 與物件名稱。

**Topics**
+ [使用案例](#exclusive-thing-benefits)
+ [如何將物件與連線建立關聯](#exclusive-thing-how-to)

## 使用案例
<a name="exclusive-thing-benefits"></a>

將物件與連線建立關聯可提供下列功能。

**注意**  
請注意，如果您的 IoT 物件和用戶端連線具有非專屬關聯，您可以使用生命週期事件功能以外的所有下列功能。若要在生命週期事件訊息中包含您的物件名稱，您的 IoT 物件和用戶端連線必須具有專屬關聯。

**物件政策變數** - 您可以使用物件政策變數來授權裝置存取 AWS IoT API 操作。這些變數可讓您撰寫 AWS IoT Core 政策，根據名稱、類型和屬性值等物件屬性來授予或拒絕許可。透過使用物件政策變數，您可以套用相同的政策來控制多個 AWS IoT Core 裝置。這可讓您簡化政策管理並減少資源重複。如需詳細資訊，請參閱[物件政策變數](https://docs.aws.amazon.com//iot/latest/developerguide/thing-policy-variables.html)。

**生命週期事件** - 您可以在生命週期事件中接收物件名稱 （例如，連線、中斷連線和訂閱，以及取消訂閱）。這允許處理訊息中包含的物件名稱，例如規則中。如需詳細資訊，請參閱[生命週期事件](https://docs.aws.amazon.com//iot/latest/developerguide/life-cycle-events.html)。

**資源特定的記錄** - 您可以為物件群組設定資源特定的記錄，並輕鬆為定義物件群組中的所有物件套用所需的記錄組態。如需詳細資訊，請參閱[在 AWS IoT (CLI) 中設定資源特定覆寫](configure-logging.md#fine-logging-cli)。

**成本分配** - 您可以使用成本分配的自訂標籤建立帳單群組，並將物件新增至這些群組。如需詳細資訊，請參閱[帳單群組](https://docs.aws.amazon.com//iot/latest/developerguide/tagging-iot-billing-groups.html)。

## 如何將物件與連線建立關聯
<a name="exclusive-thing-how-to"></a>

如果您的用戶端 ID 符合登錄檔中的物件名稱，則在您將 X.509 憑證連接至該 IoT 物件之後， AWS IoT Core 會將用戶端連線與物件建立關聯。如果您的用戶端 ID 與登錄檔中的物件名稱不符，您可以只將 X.509 憑證連接至物件來建立此關聯。具有此獨佔附件的物件稱為獨佔物件。否則，它稱為非獨佔物件。當憑證與獨家實物相關聯時，只有在您將憑證與獨家實物分離時，此憑證才能與其他實物相關聯。在本節中，選擇 AWS 管理主控台 或 AWS CLI 將物件與連線建立關聯。

### AWS 管理主控台
<a name="attach-thing-principal-console"></a>

**僅使用 將憑證連接至物件 AWS 管理主控台。**

1. 在 AWS IoT 主控台中開啟 [AWS IoT 首頁](https://console.aws.amazon.com//iot/home#/home)。在左側導覽中，從**安全性**中選擇**憑證**。

1. 在**憑證**頁面上，選擇您要附加物件的憑證。然後從頁面右上角**的動作**中選擇**附加至物件**。

   或者，選擇憑證並導覽至憑證詳細資訊頁面。選擇**實物**索引標籤，然後選擇**連接至實物**。

1. 在**將憑證連接至 物件 （附加）** 頁面上，勾選將**物件與連線建立關聯**核取方塊。然後從 Things 下拉式清單中選擇要將此憑證連接至其中的**物件**。

1. 選擇**連接物件 (s)**。如果動作成功，您會看到一個橫幅，指出「成功將物件連接到您的憑證」，而該物件會新增到**物件**索引標籤。

**使用 從獨佔物件分離憑證 AWS 管理主控台**

1. 在 AWS IoT 主控台中開啟 [AWS IoT 首頁](https://console.aws.amazon.com//iot/home#/home)。在左側導覽中，從**安全性**中選擇**憑證**。

1. 在**憑證**頁面上，選擇憑證並導覽至憑證詳細資訊頁面。

1. 在憑證詳細資訊頁面上，選擇**實物**索引標籤。然後選擇您要分離憑證的物件。選擇**分離物件**。

1. 在**分離物件**視窗中，確認您的動作。請選擇**分離**。如果動作成功，您會看到一個橫幅，指出「成功從憑證分離物件」，而且物件不會再出現在**物件**索引標籤中。

### AWS CLI
<a name="attach-thing-principal-cli"></a>

1. 若要使用 將憑證連接至物件 AWS CLI，請執行 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/attach-thing-principal.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/attach-thing-principal.html) 命令。若要指定專屬certificate-to-thing附件，您必須在 `--thing-principal-type` `EXCLUSIVE_THING`欄位中指定 。範例命令可以是下列項目。

   ```
   aws iot attach-thing-principal \
       --thing-name "thing_1" \
       --principal "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8" \
       --thing-principal-type "EXCLUSIVE_THING"
   ```

   此命令不會產生任何輸出。如需詳細資訊，請參閱[將主體連接至物件](attach-thing-principal.md)。

1. 若要列出與指定憑證相關聯的物件以及附件類型，請執行 `list-principal-things-v2`命令。連接類型是指憑證如何連接到物件。範例命令可以是下列項目。

   ```
   $ aws iot list-principal-things-v2 \
       --principal "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8"
   ```

   輸出可能如下所示。

   ```
   {
       "PrincipalThingObjects": [
           {
               "thingPrincipalType": "EXCLUSIVE_THING",
               "thing": "arn:aws:iot:us-east-1:123456789012:thing/thing_1"
           }
       ]
   }
   ```

   如需詳細資訊，請參閱[列出與委託人 V2 相關聯的物件](list-principal-things-v2.md)。

1. 若要列出與指定物件相關聯的主體以及連接類型，請執行`list-thing-principals-v2`命令 。連接類型是指憑證如何連接到物件。範例命令可以是下列項目。

   ```
   $ aws iot list-thing-principals-v2 \
       --thing-name "thing_1"
   ```

   輸出可能如下所示。

   ```
   {
       "ThingPrincipalObjects": [
           {
               "thingPrincipalType": "EXCLUSIVE_THING",
               "principal": "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8"
           }
       ]
   }
   ```

   如需詳細資訊，請參閱[列出與物件 V2 相關聯的主體](list-thing-principals-v2.md)。

1. 若要從物件分離憑證，請執行 [detach-thing-principal](https://docs.aws.amazon.com/cli/latest/reference/iot/detach-thing-principal.html) 命令。

   ```
   aws iot detach-thing-principal \
       --principal "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8" \
       --thing-name "thing_1"
   ```

   此命令不會產生任何輸出。如需詳細資訊，請參閱[將主體與物件分離](detach-thing-principal.md)。