使用 Vault CLI 管理金鑰值密碼

如果您已經使用 HashiCorp Vault,您可以使用命令列介面 (CLI) 與 IBM Cloud® Secrets Manager 互動,以管理您的 key-value secret。 所有作業都遵循 Vault CLI 可用的準則。

Secrets Manager 支援 HashiCorp Vault KV Secrets Engine Version 2 CLI 指令。 有關 KV v2 CLI 的更多資訊,請參閱 Vault KV v2 文件

開始之前,請 配置 Vault CLI,以便您可以使用 Vault 指令來存取 Secrets Manager 實例。 若要進一步瞭解如何使用 Vault CLI,請參閱 Vault 文件。

若要使用 Secrets Manager的標準 CLI,請參閱 Secrets Manager CLI 參考資料

建立或更新金鑰值密碼

建立金鑰值密碼的版本。

vault kv put [-format=FORMAT] ibmcloud/kv/SECRET_NAME [KEY_VALUE_PAIRS]

在自訂群組中建立金鑰值密碼的版本。

vault kv put [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME [KEY_VALUE_PAIRS]

必要條件

您需要 撰寫者 服務角色,才能建立金鑰值密碼。

指令選項

-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

建立或更新金鑰值密碼的有效負載。

vault kv put ibmcloud/kv/example-kv-secret key1=value1 key2=value2

建立或更新自訂群組中金鑰值密碼的有效負載。

vault kv put ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/example-kv-secret key1=value1 key2=value2

輸出

用於建立新版本 kv 密鑰的指令會傳回下列輸出:

Key              Value
---              -----
created_time     2022-03-08T18:32:43.610242127Z
deletion_time    n/a
destroyed        false
version          2

讀取金鑰值密碼的版本

取得鍵值秘訣的版本。 成功要求會傳回與密鑰指定版本相關聯的密鑰資料,以及其他 meta 資料。

vault kv get [-version=VERSION] [-format=FORMAT] ibmcloud/kv/SECRET_NAME

取得自訂群組中金鑰值密碼的版本。

vault kv get [-version=VERSION] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

必要條件

您需要 讀者撰寫者 服務角色,才能讀取金鑰值密碼的版本。

指令選項

-version
您想要閱讀的版本。 如果省略,則會傳回最新版本。
-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

讀取金鑰值密碼的版本。

vault kv get -version=1 ibmcloud/kv/my-test-kv-secret

讀取自訂群組中金鑰值密碼的版本。

vault kv get -version=1 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

輸出

讀取 kv 密鑰版本的指令會傳回下列輸出:

====== Metadata ======
Key              Value
---              -----
created_time     2022-03-04T17:08:34.406336489Z
deletion_time    n/a
destroyed        false
version          1

==== Data ====
Key     Value
---     -----
key1    value1

刪除鍵值密碼的最新版本

刪除金鑰值密碼的最新版本。 您可以呼叫 undelete 指令來復原刪除。

vault kv delete [-format=FORMAT] ibmcloud/kv/SECRET_NAME

刪除自訂群組中金鑰值密碼的最新版本。

vault kv delete [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

必要條件

您需要 管理員 服務角色 才能刪除鍵值密碼。

指令選項

-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

刪除金鑰值密碼的最新版本。

vault kv delete -format=json ibmcloud/kv/my-test-kv-secret

刪除自訂群組中金鑰值密碼的最新版本。

vault kv delete -format=json ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

輸出

刪除 kv 密鑰最新版本的指令不會傳回任何輸出。

刪除鍵值密碼的指定版本

刪除鍵值密碼的指定版本。 您可以呼叫 undelete 指令來復原刪除。

vault kv delete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME

刪除自訂群組中指定版本的鍵值密碼。

vault kv delete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

必要條件

您需要 管理員 服務角色 才能刪除鍵值密碼。

指令選項

-版本
要刪除的版本。
-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

刪除鍵值密碼的指定版本。

vault kv delete -versions=2 ibmcloud/kv/my-test-kv-secret

刪除自訂群組中金鑰值密鑰的指定版本。

vault kv delete -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

輸出

用於刪除指定版本的 kv 密鑰的指令不會傳回任何輸出。

取消刪除金鑰值密碼

還原先前刪除的金鑰值密碼版本。

vault kv undelete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME

還原自訂群組中先前刪除的金鑰值密碼版本。

vault kv undelete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

必要條件

您需要 管理員 服務角色 才能還原密碼。

指令選項

-版本
要刪除的版本。
-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

取消刪除指定版本的鍵值密碼。

vault kv undelete -versions=2 ibmcloud/kv/my-test-kv-secret

取消刪除指定版本的鍵值密碼。

vault kv undelete -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

輸出

用於取消刪除指定版本的 kv 密鑰的指令會傳回下列輸出:

Success! Data written to: ibmcloud/kv/undelete/my-test-kv-secret

銷毀版本的秘密

永久地毀損鍵值密碼的指定版本。 若要改為軟刪除密鑰的版本,請使用 delete specified versions 指令。

vault kv destroy [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME

毀損自訂群組中金鑰值密碼的指定版本。

vault kv destroy [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME

必要條件

您需要 管理員 服務角色 才能刪除密碼。

指令選項

-版本
您想要毀損的版本。
-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

刪除鍵值密碼的永久指定版本。

vault kv destroy -versions=2 ibmcloud/kv/my-test-kv-secret

刪除自訂群組中永久指定的鍵值密碼版本。

vault kv destroy -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

輸出

毀損 kv 密鑰版本的指令會傳回下列輸出:

Success! Data written to: ibmcloud/kv/undelete/my-test-kv-secret

建立或更新 meta 資料鍵值密鑰

建立或更新鍵值密碼的 meta 資料。

vault kv metadata put [-format=FORMAT] [METADATA_KEY_VALUE_PAIRS] ibmcloud/kv/SECRET_NAME

建立或更新自訂群組中金鑰值密碼的 meta 資料。

vault kv metadata put [-format=FORMAT] [METADATA_KEY_VALUE_PAIRS] ibmcloud/kv/GROUP_ID/SECRET_NAME

必要條件

您需要 撰寫者 服務角色,才能建立金鑰值密碼。

指令選項

-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

建立或更新金鑰值密碼的有效負載。

vault kv metadata put -custom-metadata=key1=value1 -custom-metadata=key2=value2 ibmcloud/kv/mysecret

建立或更新自訂群組中金鑰值密碼的有效負載。

vault kv metadata put -custom-metadata=key1=value1 -custom-metadata=key2=value2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/mysecret

輸出

用於建立新版本 kv 密鑰的指令會傳回下列輸出:

Key              Value
---              -----
created_time     2022-03-08T18:32:43.610242127Z
deletion_time    n/a
destroyed        false
version          2

讀取金鑰值密碼的 meta 資料

取得鍵值密碼的 meta 資料。

vault kv metadata get ibmcloud/kv/SECRET_NAME

取得自訂群組中鍵值密碼的 meta 資料。

vault kv metadata get ibmcloud/kv/GROUP_ID/SECRET_NAME

必要條件

您需要 讀者撰寫者 服務角色,才能讀取金鑰值密碼的 meta 資料。

指令選項

-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

讀取金鑰值密碼的 meta 資料。

vault kv metadata get ibmcloud/kv/my-test-kv-secret

讀取自訂群組中金鑰值密碼的 meta 資料。

vault kv metadata get ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

輸出

讀取 kv 密鑰的 meta 資料的指令會傳回下列輸出:

========== Metadata ==========
Key                     Value
---                     -----
cas_required            false
created_time            2022-03-04T17:08:34.406336489Z
current_version         3
custom_metadata         map[key1:value1 key2:value2]
delete_version_after    0s
max_versions            10
oldest_version          0
updated_time            2022-03-08T20:06:39.585190049Z

====== Version 1 ======
Key              Value
---              -----
created_time     2022-03-04T17:08:34.406336489Z
deletion_time    n/a
destroyed        true

====== Version 2 ======
Key              Value
---              -----
created_time     2022-03-08T18:32:43.610242127Z
deletion_time    2022-03-08T20:05:08.850704454Z
destroyed        false

====== Version 3 ======
Key              Value
---              -----
created_time     2022-03-08T20:06:39.585190049Z
deletion_time    n/a
destroyed        false

刪除鍵值密鑰的 meta 資料及所有版本

永久刪除指定鍵值密碼的 meta 資料及所有版本資料。 當您使用這個指令時,會移除所有版本歷程。

vault kv metadata delete ibmcloud/kv/SECRET_NAME
vault kv metadata delete ibmcloud/kv/GROUP_ID/SECRET_NAME

必要條件

您需要 管理員 服務角色 才能刪除鍵值密碼的 meta 資料。

指令選項

-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

永久地刪除鍵值密碼的資料和 meta 資料。

vault kv metadata delete ibmcloud/kv/my-test-kv-secret

永久地刪除自訂密鑰群組中金鑰值密鑰的資料及 meta 資料。

vault kv metadata delete ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret

輸出

用於刪除 kv 密鑰的 meta 資料的指令會傳回下列輸出:

Success! Data deleted (if it existed) at: ibmcloud/kv/metadata/my-test-kv-secret

列出金鑰值密碼的金鑰名稱

取得金鑰值密碼的金鑰名稱清單。 請勿將金鑰名稱中的機密性資訊編碼。 使用此指令無法存取金鑰的值。

vault kv list ibmcloud/kv

列出儲存在自訂密鑰群組中的金鑰值密鑰的金鑰名稱。

vault kv list ibmcloud/kv/GROUP_ID

必要條件

您需要 讀者撰寫者 服務角色,才能讀取金鑰值密碼的金鑰名稱。

指令選項

-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

列出儲存在 default 密鑰群組中的金鑰值密鑰的金鑰名稱。

vault kv list ibmcloud/kv

列出儲存在自訂密鑰群組中的金鑰值密鑰的金鑰名稱。

vault kv list ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8

輸出

用於列出 kv 密鑰之金鑰名稱的指令會傳回下列輸出:

Keys
----
my-updated-kv-secret

修補金鑰值密碼

修補金鑰值密碼的版本。

vault kv patch [-format=FORMAT] ibmcloud/kv/SECRET_NAME [KEY_VALUE_PAIRS]

在自訂群組中建立金鑰值密碼的版本。

vault kv patch [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME [KEY_VALUE_PAIRS]

必要條件

您需要 撰寫者 服務角色,才能建立金鑰值密碼。

指令選項

-格式
以您指定的格式列印輸出。 有效格式為 tablejsonyaml。 預設值為 table。 您也可以使用 VAULT_FORMAT 環境變數來設定輸出格式。

範例

建立或更新金鑰值密碼的有效負載。

vault kv patch ibmcloud/kv/example-kv-secret key1=value1 key2=value2

建立或更新自訂群組中金鑰值密碼的有效負載。

vault kv patch ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/example-kv-secret key1=value1 key2=value2

輸出

用於建立新版本 kv 密鑰的指令會傳回下列輸出:

Key              Value
---              -----
created_time     2022-03-08T18:32:43.610242127Z
deletion_time    n/a
destroyed        false
version          2