

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

# 設定代理支援和管理 AWS IoT SiteWise Edge 的信任存放區
<a name="edge-apis-manage-trust-stores-proxy"></a>

在 AWS IoT SiteWise Edge 中，設定和管理信任存放區，為您的邊緣裝置設定代理支援。首先，設定代理組態，然後設定信任存放區。您可以在閘道安裝期間設定信任存放區，或在建立閘道之後手動設定信任存放區。
+ **代理** – 促進各種網路環境中的邊緣裝置 AWS 和服務之間的連線。
+ **信任存放區** – 透過管理信任的憑證來確保安全連線。適當的組態可協助您遵守網路安全政策、在受限的網路環境中啟用通訊，以及最佳化邊緣裝置和雲端服務之間的資料傳輸。

SiteWise Edge 會針對不同的元件類型使用多個信任存放區，確保從邊緣裝置到雲端的安全且有效率資料流程。您可以在現有閘道上或在建立新閘道的安裝程序期間設定信任存放區和代理。

## 信任存放區和代理組態的需求
<a name="manage-trust-stores-proxy_implementation-requirements"></a>

在設定信任存放區或使用代理設定安裝 SiteWise Edge 之前，請確定您符合先決條件。根據您的元件用量和功能需求，有不同的實作需求。

**Proxy 支援需求**
+ 代理伺服器的 URL。URL 應包含使用者資訊、主機的連接埠號碼。例如 `scheme://[userinfo@]host[:port]`。
  + `scheme` – 必須是 HTTP 或 HTTPS
  + （選用） `userinfo` – 使用者名稱和密碼資訊
  + `host` – 代理伺服器的主機名稱或 IP 地址
  + `port` – 連接埠號碼
+ 略過代理的地址清單。
+ （選用） 如果您使用 HTTPS 代理搭配自我簽署憑證，則為代理 CA 憑證檔案。

**信任存放區需求**
+ 如需使用 HTTPS 代理的完整資料處理套件功能，您應該更新這三個信任存放區。
+ 如果您只使用 IoT SiteWise OPC UA 收集器和 IoT SiteWise 發佈者，請將 AWS IoT Greengrass Core 和 Java 信任存放區憑證更新為最新版本。

## 信任存放區和代理伺服器邊緣組態的最佳實務
<a name="manage-trust-stores-proxy_best-practices"></a>

對於持續維護和在邊緣環境中維持最高層級的安全性：
+ 定期檢閱和更新代理設定，以符合您的網路安全需求。
+ 監控閘道連線和資料流程，以確保適當的代理通訊
+ 根據組織的憑證管理政策來維護和更新信任存放區
+ 您可以實作並遵循我們在邊緣環境中安全通訊的建議最佳實務，例如：
+ 記錄您的代理和信任存放區組態，以實現操作可見性
+ 遵循組織的登入資料管理安全實務

這些實務有助於維持 SiteWise Edge 閘道的安全和可靠操作，同時與更廣泛的安全政策保持一致。

# 在 AWS IoT SiteWise Edge 閘道安裝期間設定代理設定
<a name="manage-trust-stores-proxy_config"></a>

您可以設定 AWS IoT SiteWise Edge 在閘道安裝期間使用代理伺服器。安裝指令碼同時支援 HTTP 和 HTTPS 代理，並可以自動設定安全代理連線的信任存放區。

當您使用代理設定執行安裝指令碼時，它會執行數個重要的任務：
+ 驗證代理 URL 格式和參數，以確保正確指定它們。
+ 透過設定的代理下載並安裝必要的相依性。
+ 如果提供代理 CA 憑證，它會附加到 AWS IoT Greengrass 根 CA 憑證並匯入到 Java KeyStore。
+ 設定 AWS IoT Greengrass (SiteWise Edge 使用的） 為所有傳出連線使用代理。
+ 使用適當的代理和信任存放區組態完成 SiteWise Edge 安裝。

**安裝閘道軟體時設定代理設定**

1. 建立 SiteWise Edge 閘道。如需詳細資訊，請參閱[建立自我託管 SiteWise Edge 閘道](create-gateway-ggv2.md)及[在本機裝置上安裝 AWS IoT SiteWise Edge 閘道軟體](install-gateway-software-on-local-device.md)。

1. 為您的環境使用適當的代理設定執行安裝指令碼。將預留位置取代為您的特定代理資訊 

   取代下列每個項目：
   + `-p`， `--proxy-url` – 代理伺服器的 URL。URL 必須是 `http`或 `https`。
   + `-n`， `--no-proxy` – 以逗號分隔的地址清單，以略過代理。
   + （選用）`-c`：代理 CA 憑證檔案的`--proxy-ca-cert`路徑。
   + （選用）`-j`， `--javastorepass` – Java KeyStore 密碼。預設密碼為 `changeit`。

------
#### [ Linux ]

   對於 Linux 系統，請使用下列命令結構：

   ```
   sudo ./install.sh -p proxy-url -n no-proxy-addresses [-c proxy-ca-cert-path] [-j javastorepass]
   ```

------
#### [ Windows ]

   對於使用 PowerShell Microsoft Windows的系統，請使用下列命令結構：

   ```
   .\install.ps1 -ProxyUrl proxy-url -NoProxyAddresses no-proxy-addresses [-ProxyCaCertPath proxy-ca-cert-path] [-JavaStorePass javastorepass]
   ```

------

## 在啟用代理的安裝期間進行故障診斷
<a name="manage-trust-stores-proxy_installation-process_troubleshooting"></a>

如需解決 SiteWise Edge 閘道相關信任存放區問題的詳細資訊，請參閱 [啟用代理的安裝問題](troubleshooting-gateway.md#troubleshoot-proxy-during-installation)。

# 在 AWS IoT SiteWise Edge 中手動設定 HTTPS 代理支援的信任存放區
<a name="manage-trust-stores-proxy_trust-store-locations-and-configuration"></a>

設定 AWS IoT SiteWise Edge 元件以透過 HTTPS 代理連線時，請將代理伺服器的憑證新增至適當的信任存放區。SiteWise Edge 使用多個信任存放區來保護通訊。有三個信任存放區，您使用它們取決於閘道實作中的 SiteWise Edge 元件類型。

當提供代理設定時，信任存放區會在安裝程序期間自動更新。
+ [設定 AWS IoT Greengrass 核心元件信任存放區](#manage-trust-stores-proxy_greengrass-core-components) – AWS IoT Greengrass 根 CA 憑證包含在信任存放區中，以驗證 AWS 服務的真實性。

  此信任存放區可協助 AWS IoT Greengrass 元件透過代理安全地與服務 AWS 通訊，同時驗證這些服務的真實性。
+ [設定以 Java 為基礎的元件信任存放區](#manage-trust-stores-proxy_java-based-components) – Java KeyStore (JKS) 是 Java 型元件用於 SSL/TLS 連線的主要信任存放區。

   Java 應用程式依賴 JKS 來建立安全連線。例如，如果您使用IoT Java 為基礎的 IoT SiteWise 發佈者或 IoT SiteWise OPC UA 收集器，則需要設定此信任存放區。這可確保這些元件在將資料傳送至雲端或從 OPC UA 伺服器收集資料時，可以透過 HTTPS 代理安全地通訊。
+ [系統層級元件信任存放區組態](#manage-trust-stores-proxy_system-level-components) – 使用 HTTPS 代理時，必須將憑證新增至適當的信任存放區，以啟用安全連線。

  使用 HTTPS 代理時，其憑證必須新增至適當的信任存放區，才能啟用安全連線。這是必要的，因為通常以 Rust 或 Go 等語言撰寫的系統層級元件依賴系統的信任存放區，而不是 Java 的 JKS。例如，如果您使用的是需要透過代理通訊的系統公用程式 （例如軟體更新或時間同步），則需要設定系統層級信任存放區。這可確保這些元件和公用程式可以透過代理建立安全連線。

## 設定 AWS IoT Greengrass 核心元件信任存放區
<a name="manage-trust-stores-proxy_greengrass-core-components"></a>

對於使用 Amazon 根 CA AWS IoT Greengrass 的核心函數：

1. 在 找到憑證檔案 `/greengrass/v2/AmazonRootCA1.pem`

1. 將 HTTPS 代理根憑證 （自我簽署） 附加至此檔案。

```
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIQWgIVAMHSAzWG/5YVRYtRQOxXUTEpHuEmApzGCSqGSIb3DQEK
\nCwUAhuL9MQswCQwJVUzEPMAVUzEYMBYGA1UECgwP1hem9uLmNvbSBJbmMuMRww
... content of proxy CA certificate ...
+vHIRlt0e5JAm5\noTIZGoFbK82A0/nO7f/t5PSIDAim9V3Gc3pSXxCCAQoFYnui
GaPUlGk1gCE84a0X\n7Rp/lND/PuMZ/s8YjlkY2NmYmNjMCAXDTE5MTEyN2cM216
gJMIADggEPADf2/m45hzEXAMPLE=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIDQTCCAimgF6AwIBAgITBmyfz/5mjAo54vB4ikPmljZKyjANJmApzyMZFo6qBg
ADA5MQswCQYDVQQGEwJVUzEPMA0tMVT8QtPHRh8jrdkGA1UEChMGDV3QQDExBBKW
... content of root CA certificate ...
o/ufQJQWUCyziar1hem9uMRkwFwYVPSHCb2XV4cdFyQzR1KldZwgJcIQ6XUDgHaa
5MsI+yMRQ+hDaXJiobldXgjUka642M4UwtBV8oK2xJNDd2ZhwLnoQdeXeGADKkpy
rqXRfKoQnoZsG4q5WTP46EXAMPLE
-----END CERTIFICATE-----
```

### 在已建立的閘道上設定 HTTPS 代理
<a name="manage-trust-stores-proxy_proxy-configuration"></a>

您可以連接至連接埠 443 而非連接埠 8883，將代理支援新增至已建立的閘道。如需使用代理伺服器的詳細資訊，請參閱《 *AWS IoT Greengrass Version 2 開發人員指南*》中的在[連接埠 443 上或透過網路代理連線](https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-alpn-network-proxy)。如果您建立新的閘道，您可以在閘道安裝期間設定代理組態。如需詳細資訊，請參閱[在 AWS IoT SiteWise Edge 閘道安裝期間設定代理設定](manage-trust-stores-proxy_config.md)。

當您在 SiteWise Edge AWS IoT Greengrass 上使用 HTTPS 代理搭配 時，軟體會根據提供的 URL 在 HTTP 和 HTTPS 之間自動選擇代理連線。

**重要**  
在嘗試透過 HTTPS 代理連線之前，更新所有必要的信任存放區。

## 設定以 Java 為基礎的元件信任存放區
<a name="manage-trust-stores-proxy_java-based-components"></a>

對於資料處理套件中的 IoT SiteWise 發佈者、IoT SiteWise OPC UA 收集器和 Java 服務，預設 Java 信任存放區位置為 `$JAVA_HOME/jre/lib/security/cacerts`

**新增憑證**

1. 建立 檔案以存放代理伺服器的憑證，例如 `proxy.crt`。
**注意**  
使用代理伺服器的憑證提前建立檔案。

1. 使用下列命令將檔案新增至 Java 的信任存放區：

   ```
   sudo keytool -import -alias proxyCert -keystore /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts -file proxy.crt
   ```

1. 出現提示時，請使用預設密碼： `changeit`

## 系統層級元件信任存放區組態
<a name="manage-trust-stores-proxy_system-level-components"></a>

對於以 Rust、Go 和其他使用系統信任存放區的語言撰寫的元件：

------
#### [ Linux ]

Linux 系統：將憑證新增至 `/etc/ssl/certs/ca-certificates.crt`

------
#### [ Windows ]

Microsoft Windows 系統：若要設定信任存放區，請遵循 *Microsoft Ignite* 文件中的[憑證存放區](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/certificate-stores)程序。

Windows 提供多個憑證存放區，包括使用者和電腦範圍的個別存放區，每個都有數個子存放區。對於大多數 SiteWise Edge 設定，我們建議將憑證新增至`COMPUTER | Trusted Root Certification Authorities`存放區。不過，根據您的特定組態和安全性需求，您可能需要使用不同的存放區。

------

## 對信任存放區問題進行故障診斷
<a name="manage-trust-stores-proxy_trust-stores-troubleshooting"></a>

如需解決 SiteWise Edge 閘道相關信任存放區問題的詳細資訊，請參閱 [信任存放區問題](troubleshooting-gateway.md#troubleshoot-trust-stores)。