

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

# 使用 CMU 取得 AWS CloudHSM 金鑰屬性值
<a name="cloudhsm_mgmt_util-getAttribute"></a>

使用 AWS CloudHSM cloudhsm\$1mgmt\$1util (CMU) 中的 **getAttribute**命令，從 AWS CloudHSM 叢集中的所有硬體安全模組 (HSM) 取得金鑰的一個屬性值，並將其寫入 stdout （標準輸出） 或 檔案。只有加密使用者 (CU) 可以執行此命令。

*金鑰屬性*是金鑰的屬性。其中包括的特性，例如金鑰類型、類別、標籤和 ID，以及代表您可對金鑰執行之動作的值，例如加密、解密、包裝、取消包裝和驗證。

您只可以對您擁有的金鑰和與您共用的金鑰使用 **getAttribute**。您可以執行此命令或 key\$1mgmt\$1util 中的 [getAttribute](#cloudhsm_mgmt_util-getAttribute) 命令，將金鑰的一個或所有屬性值寫入檔案。

若要取得屬性的清單和代表它們的常數，請使用 [listAttributes](key_mgmt_util-listAttributes.md) 命令。若要變更現有金鑰的屬性值，請使用 key\$1mgmt\$1util 中的 [setAttribute](key_mgmt_util-setAttribute.md) 和 cloudhsm\$1mgmt\$1util 中的 [setAttribute](cloudhsm_mgmt_util-setAttribute.md)。如需金錀屬性的解譯說明，請參閱 [AWS CloudHSM KMU 的金鑰屬性參考](key-attribute-table.md)。

啟動 CMU 並登入 HSM 後，方可執行任何 CMU 命令。請確認您所登入的使用者帳戶類型能夠執行您要使用的命令。

如果您新增或刪除 HSM，請更新 CMU 的組態檔案。否則，您所進行的變更可能無法在叢集中的所有 HSM 上生效。

## 使用者類型
<a name="chmu-getAttribute-userType"></a>

下列使用者可以執行此命令。
+ 加密使用者 (CU)

## 語法
<a name="chmu-getAttribute-syntax"></a>

因為此命令未指明具體參數，所以您須依照語法圖表中指定的順序輸入引數。

```
getAttribute <key handle> <attribute id> [<filename>]
```

## 範例
<a name="chmu-getAttribute-examples"></a>

此範例在 HSM 中取得金鑰之可擷取屬性的值。您可以使用如下命令，以判斷您是否可以從 HSM 匯出金鑰。

第一個命令使用 [listAttributes](cloudhsm_mgmt_util-listAttributes.md)，以尋找代表可擷取之屬性的常數。輸出顯示 `OBJ_ATTR_EXTRACTABLE` 的常數是 `354`。您也可以在[AWS CloudHSM KMU 的金鑰屬性參考](key-attribute-table.md)中找到這項資訊以及屬性和其值的描述。

```
aws-cloudhsm> listAttributes

Following are the possible attribute values for getAttribute:

      OBJ_ATTR_CLASS                  = 0
      OBJ_ATTR_TOKEN                  = 1
      OBJ_ATTR_PRIVATE                = 2
      OBJ_ATTR_LABEL                  = 3
      OBJ_ATTR_TRUSTED                = 134
      OBJ_ATTR_KEY_TYPE               = 256
      OBJ_ATTR_ID                     = 258
      OBJ_ATTR_SENSITIVE              = 259
      OBJ_ATTR_ENCRYPT                = 260
      OBJ_ATTR_DECRYPT                = 261
      OBJ_ATTR_WRAP                   = 262
      OBJ_ATTR_UNWRAP                 = 263
      OBJ_ATTR_SIGN                   = 264
      OBJ_ATTR_VERIFY                 = 266
      OBJ_ATTR_DERIVE                 = 268
      OBJ_ATTR_LOCAL                  = 355
      OBJ_ATTR_MODULUS                = 288
      OBJ_ATTR_MODULUS_BITS           = 289
      OBJ_ATTR_PUBLIC_EXPONENT        = 290
      OBJ_ATTR_VALUE_LEN              = 353
      OBJ_ATTR_EXTRACTABLE            = 354
      OBJ_ATTR_NEVER_EXTRACTABLE      = 356
      OBJ_ATTR_ALWAYS_SENSITIVE       = 357
      OBJ_ATTR_DESTROYABLE            = 370
      OBJ_ATTR_KCV                    = 371
      OBJ_ATTR_WRAP_WITH_TRUSTED      = 528      
      OBJ_ATTR_WRAP_TEMPLATE          = 1073742353
      OBJ_ATTR_UNWRAP_TEMPLATE        = 1073742354
      OBJ_ATTR_ALL                    = 512
```

第二個命令使用 **getAttribute**，在 HSM 中取得金鑰 (金鑰控點為 `262170`) 之可擷取屬性的值。為了指定可擷取屬性，此命令使用 `354`，這是代表屬性的常數。因為此命令未指定檔案名稱，所以 **getAttribute** 會將輸出寫入 stdout。

輸出顯示在所有 HSM 上，可擷取之屬性的值都是 1。這個值表示金鑰擁有者可以匯出金鑰。當值為 0 (0x0) 時，表示無法從 HSM 匯出金鑰。您在建立金鑰時會設定可擷取屬性的值，但無法變更。

```
aws-cloudhsm> getAttribute 262170 354

Attribute Value on server 0(10.0.1.10):
OBJ_ATTR_EXTRACTABLE
0x00000001

Attribute Value on server 1(10.0.1.12):
OBJ_ATTR_EXTRACTABLE
0x00000001

Attribute Value on server 2(10.0.1.7):
OBJ_ATTR_EXTRACTABLE
0x00000001
```

## 引數
<a name="chmu-getAttribute-params"></a>

因為此命令未指明具體參數，所以您須依照語法圖表中指定的順序輸入引數。

```
getAttribute <key handle> <attribute id> [<filename>]
```

**<key-handle>**  
指定目標金鑰的金鑰控制代碼。每一個命令中只能指定一個金鑰。若要取得金鑰的金鑰控制代碼，請在 key\$1mgmt\$1util 中使用 [findKey](key_mgmt_util-findKey.md)。  
您必須擁有或共用指定的金鑰。若要尋找金鑰的使用者，請在 key\$1mgmt\$1util 中使用 [getKeyInfo](key_mgmt_util-getKeyInfo.md)。  
必要：是

**<attribute id>**  
識別屬性。輸入代表屬性的常數，或輸入 `512` 來代表所有屬性。例如，若要取得金鑰類型，請輸入 `256`，此常數代表 `OBJ_ATTR_KEY_TYPE` 屬性。  
若要列出屬性及其常數，請使用 [listAttributes](key_mgmt_util-listAttributes.md)。如需金錀屬性的解譯說明，請參閱 [AWS CloudHSM KMU 的金鑰屬性參考](key-attribute-table.md)。  
必要：是

**<filename>**  
將輸出寫入指定的檔案。輸入檔案路徑。  
如果指定的檔案已存在，**getAttribute** 會覆寫檔案且不會警告。  
必要：否  
預設：Stdout

## 相關主題
<a name="chmu-getAttribute-seealso"></a>
+ key\$1mgmt\$1util 中的 [getAttribute](key_mgmt_util-getAttribute.md)
+ [listAttributes](cloudhsm_mgmt_util-listAttributes.md)
+ cloudhsm\$1mgmt\$1util 中的 [setAttribute](cloudhsm_mgmt_util-setAttribute.md)
+ key\$1mgmt\$1util 中的 [setAttribute](key_mgmt_util-setAttribute.md)
+ [金錀屬性參考](key-attribute-table.md)