

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

# 秘密管理員
<a name="secret-manager-component"></a>

秘密管理員元件 (`aws.greengrass.SecretManager`) 會將秘密從 AWS Secrets Manager 部署到 Greengrass 核心裝置。使用此元件可在 Greengrass 核心裝置上的自訂元件中安全地使用登入資料，例如密碼。如需 Secrets Manager 的詳細資訊，請參閱[什麼是 AWS Secrets Manager？](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) *AWS Secrets Manager 《 使用者指南*》中的 。

若要在自訂 Greengrass 元件中存取此元件的秘密，請使用 中的 [GetSecretValue](ipc-secret-manager.md#ipc-operation-getsecretvalue) 操作 AWS IoT Device SDK。如需詳細資訊，請參閱[使用 AWS IoT Device SDK 與 Greengrass 核、其他元件和 通訊 AWS IoT Core與 Greengrass 核、其他元件和 通訊 AWS IoT Core](interprocess-communication.md)及[擷取秘密值](ipc-secret-manager.md)。

此元件會加密核心裝置上的秘密，以保護您的登入資料和密碼，直到您需要使用為止。它使用核心裝置的私有金鑰來加密和解密秘密。

**Topics**
+ [版本](#secret-manager-component-versions)
+ [Type](#secret-manager-component-type)
+ [作業系統](#secret-manager-component-os-support)
+ [要求](#secret-manager-component-requirements)
+ [相依性](#secret-manager-component-dependencies)
+ [Configuration](#secret-manager-component-configuration)
+ [本機日誌檔案](#secret-manager-component-log-file)
+ [變更記錄](#secret-manager-component-changelog)

## 版本
<a name="secret-manager-component-versions"></a>

此元件具有下列版本：
+ 2.2.x 版本
+ 2.1.x
+ 2.0.x

## Type
<a name="secret-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>此元件是外掛程式元件 (`aws.greengrass.plugin`)。[Greengrass 核心](greengrass-nucleus-component.md)會在與核心相同的 Java 虛擬機器 (JVM) 中執行此元件。當您在核心裝置上變更此元件的版本時，核心會重新啟動。

<a name="public-component-type-plugin-para2"></a>此元件使用與 Greengrass 核相同的日誌檔案。如需詳細資訊，請參閱[監控 AWS IoT Greengrass 日誌](monitor-logs.md)。

<a name="public-component-type-more-information"></a>如需詳細資訊，請參閱[元件類型](develop-greengrass-components.md#component-types)。

## 作業系統
<a name="secret-manager-component-os-support"></a>

此元件可以安裝在執行下列作業系統的核心裝置上：
+ Linux
+ Windows

## 要求
<a name="secret-manager-component-requirements"></a>

此元件有下列需求：
+ [Greengrass 裝置角色](device-service-role.md)必須允許 `secretsmanager:GetSecretValue`動作，如下列範例 IAM 政策所示。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "secretsmanager:GetSecretValue"
        ],
        "Effect": "Allow",
        "Resource": [
        "arn:aws:secretsmanager:us-east-1:123456789012:secret:MySecret"
        ]
      }
    ]
  }
  ```

------

  ```
  ```
**注意**  
如果您使用客戶受管 AWS Key Management Service 金鑰來加密秘密，裝置角色也必須允許 `kms:Decrypt`動作。

  如需 Secrets Manager IAM 政策的詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的下列內容：
  + [的身分驗證和存取控制 AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html)
  + [您可以在 IAM 政策或 的秘密政策中使用的動作、資源和內容金鑰 AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html)
+ 自訂元件必須定義授權政策，`aws.greengrass#GetSecretValue`允許 取得您與此元件一起存放的秘密。在此授權政策中，您可以限制元件對特定秘密的存取。如需詳細資訊，請參閱[秘密管理員 IPC 授權](ipc-secret-manager.md#ipc-secret-manager-authorization)。
+ （選用） 如果您將核心裝置的私有金鑰和憑證存放在[硬體安全模組](hardware-security.md) (HSM) 中，HSM 必須支援 RSA 金鑰，私有金鑰必須具有 `unwrap`許可，而公有金鑰必須具有 `wrap`許可。

### 端點和連接埠
<a name="secret-manager-component-endpoints"></a>

除了基本操作所需的端點和連接埠之外，此元件還必須能夠對下列端點和連接埠執行傳出請求。如需詳細資訊，請參閱[允許透過代理或防火牆的裝置流量](allow-device-traffic.md)。


| Endpoint | 站點 | 必要 | Description | 
| --- | --- | --- | --- | 
|  `secretsmanager.region.amazonaws.com`  | 443 | 是 |  將秘密下載至核心裝置。  | 

## 相依性
<a name="secret-manager-component-dependencies"></a>

當您部署元件時， AWS IoT Greengrass 也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的要求，才能成功部署元件。本節列出此元件[發行版本的](#secret-manager-component-changelog)相依性，以及為每個相依性定義元件版本的語意版本限制。您也可以在 [AWS IoT Greengrass 主控台](https://console.aws.amazon.com//greengrass)中檢視每個版本元件的相依性。在元件詳細資訊頁面上，尋找**相依性**清單。

------
#### [ 2.2.7 ]

下表列出此元件 2.2.7 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.17.0 | 軟式 | 

------
#### [ 2.2.6 ]

下表列出此元件 2.2.6 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.16.0 | 軟式 | 

------
#### [ 2.2.2 – 2.2.5 ]

下表列出此元件 2.2.2 至 2.2.5 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.15.0 | 軟式 | 

------
#### [ 2.2.0 ]

下表列出此元件 2.2.0 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.13.0 <2.14.0 | 軟式 | 

------
#### [ 2.1.7 – 2.1.8 ]

下表列出此元件 2.1.7 和 2.1.8 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.13.0 | 軟式 | 

------
#### [ 2.1.6 ]

下表列出此元件 2.1.6 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.12.0 | 軟式 | 

------
#### [ 2.1.5 ]

下表列出此元件 2.1.5 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | 軟式 | 

------
#### [ 2.1.4 ]

下表列出此元件 2.1.4 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | 軟式 | 

------
#### [ 2.1.3 ]

下表列出此元件 2.1.3 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.9.0 | 軟式 | 

------
#### [ 2.1.2 ]

下表列出此元件 2.1.2 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.8.0 | 軟式 | 

------
#### [ 2.1.1 ]

下表列出此元件 2.1.1 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.7.0 | 軟式 | 

------
#### [ 2.1.0 ]

下表列出此元件 2.1.0 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) | >=2.5.0 <2.6.0 | 軟式 | 

------
#### [ 2.0.9 ]

下表列出此元件 2.0.9 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | 軟式 | 

------
#### [ 2.0.8 ]

下表列出此元件 2.0.8 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | 軟式 | 

------
#### [ 2.0.7 ]

下表列出此元件 2.0.7 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | 軟式 | 

------
#### [ 2.0.6 ]

下表列出此元件 2.0.6 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | 軟式 | 

------
#### [ 2.0.4 and 2.0.5 ]

下表列出此元件 2.0.4 和 2.0.5 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | 軟式 | 

------

如需元件相依性的詳細資訊，請參閱[元件配方參考](component-recipe-reference.md#recipe-reference-component-dependencies)。

## Configuration
<a name="secret-manager-component-configuration"></a>

此元件提供下列組態參數，您可以在部署元件時自訂這些參數。

`periodicRefreshIntervalMin` (選用)  
此元件會將核心裝置上的已設定秘密與 AWS Secrets Manager 來自服務的最新秘密值同步的間隔，以分鐘為單位。如果未設定此間隔，秘密管理員不會定期重新整理設定的秘密。  

```
{
  "cloudSecrets": [
    {
      "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
    }
  ],
  "periodicRefreshIntervalMin" : 60
}
```

`cloudSecrets`  
要部署至核心裝置的 Secrets Manager 秘密清單。您可以指定標籤來定義要部署的每個秘密版本。如果您未指定版本，此元件會部署`AWSCURRENT`附加預備標籤的版本。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[預備標籤](https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html#term_staging-label)。  
秘密管理員元件會在本機快取秘密。如果秘密值在 Secrets Manager 中變更，此元件不會自動擷取新值。若要更新本機複本，請將新標籤提供給秘密，並設定此元件以擷取由新標籤識別的秘密。  
每個物件都包含下列資訊：    
`arn`  
要部署之秘密的 ARN。秘密的 ARN 可以是完整 ARN 或部分 ARN。我們建議您指定完整的 ARN，而不是部分 ARN。如需詳細資訊，請參閱[從部分 ARN 尋找秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen)。以下是完整 ARN 和部分 ARN 的範例：  
+ 完整 ARN： `arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName-abcdef`
+ 部分 ARN： `arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName`  
`labels`  
（選用） 標籤清單，用於識別要部署至核心裝置的秘密版本。  
每個標籤必須是字串。

**Example 範例：組態合併更新**  

```
{
  "cloudSecrets": [
    {
      "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
    }
  ]
}
```

## 本機日誌檔案
<a name="secret-manager-component-log-file"></a>

此元件使用與 [Greengrass 核](greengrass-nucleus-component.md)元件相同的日誌檔案。

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

```
/greengrass/v2/logs/greengrass.log
```

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

```
C:\greengrass\v2\logs\greengrass.log
```

------

**檢視此元件的日誌**
+ 在核心裝置上執行下列命令，以即時檢視此元件的日誌檔案。將 `/greengrass/v2`或 *C：\$1greengrass\$1v2* 取代為 AWS IoT Greengrass 根資料夾的路徑。

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

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 變更記錄
<a name="secret-manager-component-changelog"></a>

下表說明每個版本元件的變更。


|  **版本**  |  **變更**  | 
| --- | --- | 
|  2.2.8  |  更新 Greengrass nucleus 2.17.0 版的元件版本。  | 
|  2.2.7  |  針對 Greengrass nucleus 2.16.0 版更新版本。  | 
|  2.2.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.7  | 針對 Greengrass nucleus 2.12.0 版更新版本。 | 
|  2.1.6  | 針對 Greengrass nucleus 2.11.0 版更新版本。 | 
|  2.1.5  | 針對 Greengrass nucleus 2.10.0 版更新版本。 | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.3  | 針對 Greengrass nucleus 2.8.0 版更新版本。 | 
|  2.1.2  |  針對 Greengrass nucleus 2.7.0 版更新版本。  | 
|  2.1.1  |  針對 Greengrass nucleus 2.6.0 版更新版本。  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.0.9  |  針對 Greengrass nucleus 2.4.0 版更新版本。  | 
|  2.0.8  |  針對 Greengrass nucleus 2.3.0 版更新版本。  | 
|  2.0.7  |  針對 Greengrass nucleus 2.2.0 版更新版本。  | 
|  2.0.6  |  針對 Greengrass nucleus 2.1.0 版更新版本。  | 
|  2.0.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.0.4  |  初始版本。  | 