Vault CLI 指令
您可以使用 HashiCorp Vault 命令列介面 (CLI) 與 IBM Cloud® Secrets Manager 互動。
Secrets Manager 使用 HashiCorp Vault,並新增對 IBM Cloud IAM auth 方法的支援,以及一套秘密引擎,以支援 Secrets Manager 中各種秘密類型的作業。
在您開始之前,請 設定 Vault CLI,以便您能夠使用 Vault 指令存取您的 Secrets Manager 範例。 若要進一步瞭解如何使用 Vault CLI,請參閱 Vault 文件。
登入
配置登入記號
使用這個指令來配置 Vault 登入記號的存活時間 (TTL) 及有效期限 (MaxTTL)。
vault write auth/ibmcloud/manage/login [token_ttl=DURATION] [token_max_ttl=MAX_DURATION]
必要條件
您需要 管理員 服務角色,才能管理登入記號的配置。
指令選項
token_ttl- 要產生之登入記號的起始存活時間 (TTL)。 預設值為
1h。 token_max_ttl- 登入記號的有效期限上限。 預設值為
24h。 此值不能超過 VaultMaxLeaseTTL值。
範例
透過輸入 30m 代表起始存活時間,並輸入 2h 代表有效期限上限,來配置 Vault 登入記號。
vault write auth/ibmcloud/manage/login token_ttl=30m token_max_ttl=2h
輸出
該指令傳回下列輸出:
Success! Data written to: auth/ibmcloud/manage/login
檢視記號的配置
請使用這個指令來檢視 Vault 登入記號的配置。
vault read [-format=FORMAT] auth/ibmcloud/manage/login
必要條件
您需要 管理員 服務角色,才能管理登入記號的配置。
指令選項
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
以 JSON 格式檢視 Vault 記號的登入配置。
vault read -format=json auth/ibmcloud/manage/login
輸出
該指令傳回下列輸出:
{
"request_id": "4dec6b8a-a277-0755-617c-97e40bcc7c3e",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"login": {
"token_max_ttl": "2h0m0s",
"token_ttl": "30m0s"
}
},
"warnings": null
}
密鑰群組
建立密鑰群組
請使用此指令來建立一個機密群組。
vault write [-format=FORMAT] auth/ibmcloud/manage/groups name=NAME [description="DESCRIPTION"]
必要條件
您需要 管理員 服務角色 才能建立密鑰群組。
指令選項
- 名稱
- 您要指派給密鑰群組的人類可讀別名。 必要。
- 說明
- 關於這個秘密團體的詳細說明。
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
建立具有名稱和說明的密鑰群組。
vault write auth/ibmcloud/manage/groups name="my-secret-group" description="A group of secrets."
輸出
該指令傳回下列輸出:
Key Value
--- -----
created_at 2020-10-05T17:43:49Z
description A group of secrets.
id 9c6d20ad-779e-27c5-3842-2a20b19abfcf
name my-secret-group
type application/vnd.ibm.secrets-manager.secret.group+json
updated_at n/a
列出密鑰群組
使用此指令,以列出 Secrets Manager 實例可用的密鑰群組。
vault read [-format=FORMAT] auth/ibmcloud/manage/groups
必要條件
您需要 讀者 服務角色,才能列出密鑰群組。
指令選項
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
擷取 JSON 格式的密鑰群組清單。
vault read -format=json auth/ibmcloud/manage/groups
輸出
該指令傳回下列輸出:
{
"request_id": "62051bde-9703-101c-a328-90a377a8bb77",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"groups": [
{
"created_at": "2020-10-05T17:43:49Z",
"description": "A group of secrets.",
"id": "9c6d20ad-779e-27c5-3842-2a20b19abfcf",
"name": "my-secret-group",
"type": "application/vnd.ibm.secrets-manager.secret.group+json",
"updated_at": ""
}
]
},
"warnings": null
}
取得密鑰群組
請使用這個指令來取得密鑰群組的詳細資料。
vault read [-format=FORMAT] auth/ibmcloud/manage/groups/SECRET_GROUP_ID
必要條件
您需要 讀者 服務角色,才能取得密鑰群組的詳細資料。
指令選項
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
取得 JSON 格式之特定密鑰群組的詳細資料。
vault read -format=json auth/ibmcloud/manage/groups/9c6d20ad-779e-27c5-3842-2a20b19abfcf
輸出
該指令傳回下列輸出:
{
"request_id": "ab6b22d9-8e42-d23f-31d8-a4865b5a40e7",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_at": "2020-10-05T17:43:49Z",
"description": "A group of secrets.",
"id": "9c6d20ad-779e-27c5-3842-2a20b19abfcf",
"name": "my-secret-group",
"type": "application/vnd.ibm.secrets-manager.secret.group+json",
"updated_at": ""
},
"warnings": null
}
更新密鑰群組
請使用此指令來更新機密群組。
vault write [-format=FORMAT] auth/ibmcloud/manage/groups/SECRET_GROUP_ID name=NAME [description="DESCRIPTION"]
必要條件
您需要 管理員 服務角色 才能更新密鑰群組。
指令選項
- 名稱
- 您要指派給密鑰群組的人類可讀別名。 必要。
- 說明
- 關於這個秘密團體的詳細說明。
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
更新密鑰群組的名稱及說明。
vault write auth/ibmcloud/manage/groups/9c6d20ad-779e-27c5-3842-2a20b19abfcf name="my-updated-secret-group" description="An updated group of secrets."
輸出
該指令傳回下列輸出:
Key Value
--- -----
created_at 2020-10-05T17:43:49Z
description An updated group of secrets.
id 9c6d20ad-779e-27c5-3842-2a20b19abfcf
name my-updated-secret-group
type application/vnd.ibm.secrets-manager.secret.group+json
updated_at 2020-10-05T17:56:56Z
刪除密鑰群組
請使用此指令刪除一個機密群組。
vault delete auth/ibmcloud/manage/groups/SECRET_GROUP_ID
必要條件
您需要 管理員 服務角色 才能刪除密鑰群組。
範例
根據已指派的 ID 刪除一個秘密群組。
vault delete auth/ibmcloud/manage/groups/9c6d20ad-779e-27c5-3842-2a20b19abfcf
輸出
該指令傳回下列輸出:
Success! Data deleted (if it existed) at: auth/ibmcloud/manage/groups/9c6d20ad-779e-27c5-3842-2a20b19abfcf
靜態密鑰
建立密碼
使用下列指令將靜態機密(例如使用者憑證或任意機密)新增至 Secrets Manager 範例。 的允許值為 SECRET_TYPE 是:arbitrary, custom_credentials, imported_cert、kv,
private_cert, public_cert,和 username_password。
在 default 密鑰群組中建立密鑰。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/secrets name=NAME [description="DESCRIPTION"] [username=USERNAME] [password=USERNAME] [payload=DATA] [expiration_date=EXPIRATION] [certificate=CERTIFICATE_DATA] [private_key=PRIVATE_KEY_DATA] [intermediate=INTERMEDIATE_CERTIFICATE_DATA] [ca=CA_CONFIGURATION_NAME] [dns=DNS_CONFIGURATION_NAME] [key_algorithm=KEY_ALGORITHM] [labels=LABEL,LABEL]
在指定的密鑰群組中建立密鑰。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/secrets/groups/SECRET_GROUP_ID name=NAME [description="DESCRIPTION"] [username=USERNAME] [password=USERNAME] [payload=DATA] [expiration_date=EXPIRATION] [certificate=CERTIFICATE_DATA] [private_key=PRIVATE_KEY_DATA] [intermediate=INTERMEDIATE_CERTIFICATE_DATA] [ca=CA_CONFIGURATION_NAME] [dns=DNS_CONFIGURATION_NAME] [key_algorithm=KEY_ALGORITHM] [labels=LABEL,LABEL]
必要條件
您需要 撰寫者 服務角色 才能建立密碼。
指令選項
name- 您要指派給密鑰的人類可讀別名。 必要。
description- 要指派給密鑰的延伸說明。
expiration_date- 您要指派給密鑰的到期日。
arbitrary及username_password密鑰類型支援。 日期格式遵循 RFC 3339。 labels- 可用來在實例中分組及搜尋類似密鑰的標籤。
payload- 您要為
arbitrary或kv密鑰儲存的資料。arbitrary密鑰僅支援文字型有效負載。 鍵值密碼引擎可以使用複雜的 JSON 格式來儲存密碼。 透過您的鍵值密鑰,您可以與相容於 HashiCorp Vault KV(第 2 版)CLI 指令的工具進行整合。 進一步瞭解使用 Vault CLI 來 管理金鑰值密碼。 username- 您要指派給
username_password密鑰的使用者名稱。 password- 您要指派給
username_password密鑰的密碼。 certificate- 您要為
imported_cert密鑰儲存的憑證資料。 支援的檔案類型為.pem。 private_key- 要為
imported_cert密鑰儲存的私密金鑰資料。 支援的檔案類型為.pem。 intermediate- 用於儲存
imported_cert密鑰的中繼憑證資料。 支援的檔案類型為.pem。 ca- 用於訂購
public_cert密鑰的 憑證管理中心配置。 dns- 用於訂購
public_cert密鑰的 DNS 提供者配置。 key_algorithm- 用於簽署及發出
public_cert密鑰的金鑰演算法。 容許值包括:RSA2048、RSA4096、ECDSA256、ECDSA384 certificate_template- 用於建立
private_cert密鑰的 憑證範本。 common_name- 用於建立
private_cert密鑰的通用名稱。 視您選擇的憑證範本而定,專用憑證的通用名稱可能會有一些限制。 format- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
建立具有到期日和兩個標籤的使用者認證。
vault write -format=json ibmcloud/username_password/secrets name="my-test-user-credential" expiration_date="2020-12-31T23:59:59Z" username="user123" password="window-steel-dogs-coffee" labels=label-1,label-2
建立具有到期日和兩個標籤的任意密鑰。
vault write -format=json ibmcloud/arbitrary/secrets name="my-test-arbitrary-secret" expiration_date="2020-12-31T23:59:59Z" payload="this is my secret data" labels=label-1,label-2
使用二進位有效負載建立任意密鑰。
base64 -w0 <filename> | vault write ibmcloud/arbitrary/secrets name="my-test-arbitrary-secret" payload=- labels="encode:base64"
匯入 SSL / TLS 憑證與匹配的私密金鑰。
vault write -format=json ibmcloud/imported_cert/secrets name="my-test-imported-certificate" certificate=@cert.pem private_key=@key.pem
透過指定證書授權機構和 DNS 提供者組態,訂購公開 SSL / TLS 憑證。
vault write -format=json ibmcloud/public_cert/secrets name="my-test-public-certificate" ca="my-configured-certificate-authority" dns="my-configured-dns-provider" common_name="example.com" key_algorithm=RSA2048
透過指定要使用的憑證模板,建立私人 SSL / TLS 憑證。
vault write -format=json ibmcloud/private_cert/secrets name="my-test-private-certificate" certificate_template="my-configured-certificate-template" common_name="example.com"
透過指定來源服務實例 CRN 及 IAM 服務角色名稱,建立一組服務認證。
vault write -format=json ibmcloud/service_credentials/secrets name="test-sc-1" source_crn="crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc::" role="crn:v1:bluemix:public:iam::::serviceRole:Manager"
輸出
用於建立 username_password 密鑰的指令會傳回下列輸出:
{
"request_id": "c8edf459-cc26-d3f9-19e4-a24d899573f4",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-05T21:52:29Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:a6067f1c-98cf-9379-6188-a94a58222f5d",
"expiration_date": "2020-12-31T23:59:59Z",
"id": "a6067f1c-98cf-9379-6188-a94a58222f5d",
"labels": [
"label-1",
"label-2"
],
"last_update_date": "2020-10-05T21:52:29Z",
"name": "my-test-user-credential",
"secret_data": {
"password": "window-steel-dogs-coffee",
"username": "user123"
},
"secret_type": "USERNAME_PASSWORD",
"state": 1,
"state_description": "Active",
"versions": [
{
"auto_rotated": false,
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-05T21:52:29Z",
"id": "f53b8061-359e-3236-5bcc-fb120e170c87"
}
]
},
"warnings": null
}
用來建立 arbitrary 密鑰的指令會傳回下列輸出:
{
"request_id": "56f8532d-cd2b-372c-7b14-5a5875d1c6e6",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-05T21:47:27Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:2ca56a3b-a6e8-d2e2-5377-b6559babfac0",
"expiration_date": "2020-12-31T23:59:59Z",
"id": "2ca56a3b-a6e8-d2e2-5377-b6559babfac0",
"labels": [
"label-1",
"label-2"
],
"last_update_date": "2020-10-05T21:47:27Z",
"name": "my-test-arbitrary-secret",
"secret_data": {
"payload": "this is my secret data"
},
"secret_type": "ARBITRARY",
"state": 1,
"state_description": "Active",
"versions": [
{
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-05T21:47:27Z",
"id": "88473a6c-4877-5079-f999-c9a39e3407ea"
}
]
},
"warnings": null
}
用於匯入 imported_cert 密鑰的指令會傳回下列輸出:
{
"request_id": "7b41ad30-8098-9f57-62cf-bd757d43238f",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"algorithm": "RSA",
"common_name": "example.com",
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2021-06-03T22:41:56Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:2ca56a3b-a6e8-d2e2-5377-b6559babfac0",
"expiration_date": "2021-06-04T15:25:44Z",
"id": "2ca56a3b-a6e8-d2e2-5377-b6559babfac0",
"intermediate_included": false,
"issuer": "US Texas Austin Example Corp. Example Org example.com",
"key_algorithm": "SHA256-RSA",
"labels": [],
"last_update_date": "2021-06-03T22:41:56Z",
"name": "my-test-imported-certificate",
"private_key_included": false,
"secret_type": "imported_cert",
"serial_number": "fc:22:29:7e:57:25:8a:05",
"state": 1,
"state_description": "Active",
"validity": {
"not_after": "2021-06-04T15:25:44Z",
"not_before": "2021-06-03T15:25:44Z"
},
"versions": [
{
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2021-06-03T22:41:56.354781389Z",
"expiration_date": "2021-06-04T15:25:44Z",
"id": "2fae17bf-106a-1c31-55d9-e642ee3803ae",
"serial_number": "fc:22:29:7e:57:25:8a:05",
"validity": {
"not_after": "2021-06-04T15:25:44Z",
"not_before": "2021-06-03T15:25:44Z"
}
}
]
},
"warnings": null
}
訂購 public_cert 密鑰的指令會傳回下列輸出:
{
"request_id": "64824dec-c53e-8e49-dbe7-6c44c0dcd7a0",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"alt_names": [],
"common_name": "example.com",
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2021-10-08T03:25:51Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:2ca56a3b-a6e8-d2e2-5377-b6559babfac0",
"downloaded": false,
"id": "2c08d55d-1854-4dbd-9c25-bcd26828fe77",
"issuance_info": {
"auto_rotated": false,
"bundle_certs": true,
"ca": "my-configured-certificate-authority",
"dns": "my-configured-dns-provider",
"ordered_on": "2021-10-08T03:25:51Z",
"state": 0,
"state_description": "Pre-activation"
},
"key_algorithm": "RSA2048",
"labels": [],
"last_update_date": "2021-10-08T03:25:51Z",
"name": "my-test-public-certificate",
"rotation": {
"auto_rotate": false,
"rotate_keys": false
},
"secret_type": "public_cert",
"state": 0,
"state_description": "Pre-activation",
"versions": [],
"versions_total": 1
},
"warnings": null
}
用於建立 private_cert 密鑰的指令會傳回下列輸出:
{
"request_id": "7c72b7a6-0342-508a-1684-9625e11555db",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"algorithm": "SHA256-RSA",
"alt_names": [
"example.com"
],
"certificate_authority": "my-configured-intermediate-ca",
"certificate_template": "my-configured-template",
"common_name": "example.com",
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2022-05-03T18:18:43Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:2ca56a3b-a6e8-d2e2-5377-b6559babfac0",
"downloaded": true,
"expiration_date": "2022-06-04T18:18:43Z",
"id": "2c08d55d-1854-4dbd-9c25-bcd26828fe77",
"issuer": "example.com",
"key_algorithm": "RSA2048",
"labels": [],
"last_update_date": "2022-05-03T18:18:43Z",
"name": "my-test-private-certificate",
"rotation": {
"auto_rotate": false
},
"secret_data": {
"ca_chain": [
"-----BEGIN CERTIFICATE-----\nMIIGZjCCBU6gAwIBAgIUHTgL...(truncated)"
],
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDJDCCAgygAwIBAgIUarx9...(truncated)",
"issuing_ca": "-----BEGIN CERTIFICATE-----\nMIIGZjCCBU6gAwIBAgIUHTgLW...(truncated)",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAtirEhptl3...(truncated)"
},
"secret_type": "private_cert",
"serial_number": "6a:bc:7d:63:2a:7c:60:90:00:53:d9:ae:83:b2:1d:bc:97:ae:fb:f1",
"state": 1,
"state_description": "Active",
"validity": {
"not_after": "2022-06-04T18:18:43Z",
"not_before": "2022-05-03T18:18:14Z"
},
"versions": [
{
"auto_rotated": false,
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2022-05-03T18:18:14Z",
"downloaded": true,
"expiration_date": "2022-06-04T18:18:43Z",
"id": "2c08d55d-1854-4dbd-9c25-bcd26828fe77",
"payload_available": true,
"serial_number": "6a:bc:7d:63:2a:7c:60:90:00:53:d9:ae:83:b2:1d:bc:97:ae:fb:f1",
"state": 1,
"state_description": "Active",
"validity": {
"not_after": "2022-06-04T18:18:43Z",
"not_before": "2022-05-03T18:18:14Z"
}
}
],
"versions_total": 1
},
"warnings": null
}
用於建立 service-credentials 密鑰的指令會傳回下列輸出:
{
"request_id": "13ee6f56-c91f-180c-8fc1-b4da6ac2817f",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "IBMid-2700062DAH",
"creation_date": "2023-11-23T08:27:15Z",
"crn": "crn:v1:staging:public:secrets-manager:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:e2c32ad4-1414-41e0-8747-e107e6b9f8d6:secret:3c89e3ed-31fb-06f7-387b-c972213c89ee",
"custom_metadata": {},
"downloaded": true,
"iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675bc:resource-key:ada7d881-1af3-484c-8e79-4e071d9e1a7d",
"iam_apikey_id": "ApiKey-df88649d-5198-4ca5-884f-856a1b83031a",
"iam_apikey_name": "test-sc-1",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bafc::serviceid:ServiceId-40052fad-55a4-4090-ab9e-64877964a3bc",
"id": "3c89e3ed-31fb-06f7-387b-c972213c89be",
"labels": [],
"last_update_date": "2023-11-23T08:27:15Z",
"locks_total": 0,
"name": "test-sc-1",
"parameters": {},
"resource_key_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:ada7d881-1af3-484c-8e79-4e071d9e1a7e",
"resource_key_name": "test-sc-1",
"role": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"secret_data": {
"apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"guid": "f85409e9-1a06-47d5-8320-95ed4e1675bc",
"iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:ada7d881-1af3-484c-8e79-4e071d9e1a7e",
"iam_apikey_id": "ApiKey-df88649d-5198-4ca5-884f-856a1b83031a",
"iam_apikey_name": "test-sc-1",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bafc::serviceid:ServiceId-40052fad-55a4-4090-ab9e-64877964a3cc",
"instance_id": "f85409e9-1a06-47d5-8320-95ed4e1675cc",
"plan": "33b50df2-9cd6-4005-a941-bf0a59f0d183",
"region": "us-south"
},
"secret_type": "service_credentials",
"source_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc::",
"state": 1,
"state_description": "Active",
"ttl": 0,
"versions": [
{
"created_by": "IBMid-3242342DAH",
"creation_date": "2023-11-23T08:27:15Z",
"downloaded": true,
"id": "34f934a3-def7-71e0-cc93-9c754879f2f8",
"payload_available": true,
"version_custom_metadata": {}
}
],
"versions_total": 1
},
"warnings": null
}
列出密鑰
使用下列指令列出 Secrets Manager 範例中的靜態機密。 的允許值為 SECRET_TYPE 是:arbitrary, iam_credentials, imported_cert, kv, private_cert, public_cert, service_credentials,
custom_credentials,和 username_password。
依類型列出密鑰。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/secrets
依密鑰群組列出密鑰。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/secrets/groups/ID
必要條件
您需要 讀者 服務角色 才能列出密鑰。
指令選項
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
擷取 default 密鑰群組中可用的使用者認證密鑰清單。
vault read -format=json ibmcloud/username_password/secrets
擷取指派給指定密鑰群組的任意密鑰清單。
vault read -format=json ibmcloud/arbitrary/secrets/groups/9ab2250f-a369-4e07-ade7-d417d63ad587
輸出
該指令傳回下列輸出:
{
"request_id": "65689e3a-7cc6-990e-4f0e-8480edd244ed",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"secrets": [
{
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-06T05:31:05Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:1cf95413-4c10-a5fa-e824-b5106375b129",
"expiration_date": "2020-12-31T23:59:59Z",
"id": "1cf95413-4c10-a5fa-e824-b5106375b129",
"labels": [],
"last_update_date": "2020-10-06T05:31:05Z",
"name": "my-test-arbitrary-secret",
"secret_group_id": "9ab2250f-a369-4e07-ade7-d417d63ad587",
"secret_type": "ARBITRARY",
"state": 1,
"state_description": "Active"
},
{
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-06T03:54:26Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:285d83ce-4a26-c5c3-8e58-48d3140a2415",
"id": "285d83ce-4a26-c5c3-8e58-48d3140a2415",
"labels": [],
"last_update_date": "2020-10-06T03:54:26Z",
"name": "another-test-arbitrary-secret",
"secret_group_id": "9ab2250f-a369-4e07-ade7-d417d63ad587",
"secret_type": "ARBITRARY",
"state": 1,
"state_description": "Active"
}
],
"secrets_total": 2
},
"warnings": null
}
如果密鑰屬於密鑰群組,則回應中會包含 data.secrets.secret_group_id 值,以識別密鑰群組指派。
取得密鑰
使用下列指令來擷取密鑰及其詳細資料。 以下為 SECRET_TYPE 的允許值為:arbitrary、imported_cert、kv、private_cert、public_cert、service_credentials、custom_credentials 以及 username_password。
檢索密鑰時,可使用「密鑰 ID」或「密鑰名稱」其中之一。
取得密鑰。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/secrets/SECRET_ID_OR_SECRET_NAME
取得指派給指定密鑰群組的密鑰。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/secrets/groups/SECRET_GROUP_ID/SECRET_ID_OR_SECRET_NAME
必要條件
您需要 SecretsReader 或 撰寫者 服務角色 才能擷取密碼。
指令選項
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
擷取任意密鑰,包括其有效負載。
依密鑰 ID 擷取
vault read -format=json ibmcloud/arbitrary/secrets/71539dff-9e84-804a-debb-ab3eb3d8afce
依密鑰名稱擷取
vault read -format=json ibmcloud/arbitrary/secrets/my-test-arbitrary-secret
輸出
該指令傳回下列輸出:
{
"request_id": "025df8ac-b926-6153-3f5b-cd2364b5f85e",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-20T16:55:41Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:71539dff-9e84-804a-debb-ab3eb3d8afce",
"id": "71539dff-9e84-804a-debb-ab3eb3d8afce",
"labels": [],
"last_update_date": "2020-10-20T16:55:41Z",
"name": "my-test-arbitrary-secret",
"secret_data": {
"payload": "This is the data for my secret."
},
"secret_type": "ARBITRARY",
"state": 1,
"state_description": "Active",
"versions": [
{
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-20T16:55:41Z",
"id": "cc2c795e-0072-8074-9824-b6efd5050232"
}
]
},
"warnings": null
}
更新密鑰
請使用此指令來更新機密的元資料,例如其名稱或說明。 的允許值為 SECRET_TYPE 是:arbitrary, iam_credentials, imported_cert, kv, private_cert, public_cert, service_credentials,
custom_credentials,和 username_password。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/secrets/SECRET_ID/metadata name=NAME [description="DESCRIPTION"][expiration_date=EXPIRATION] [labels=LABEL,LABEL]
必要條件
您需要 撰寫者 服務角色 才能更新密鑰。
指令選項
name- 您要指派給密鑰的人類可讀別名。
description- 要指派給密鑰的延伸說明。
expiration_date- 您要指派給密鑰的到期日。 日期格式遵循 RFC 3339。
labels- 可用來在實例中分組及搜尋類似密鑰的標籤。
format- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
更新任意密鑰的名稱。
vault write -format=json ibmcloud/arbitrary/secrets/fe874c2b-e8fd-bbb6-9f19-e91bbe744735/metadata name="updated-name-arbitrary-secret"
更新服務認證密碼的名稱。
vault write -format=json ibmcloud/service_credentials/secrets/3c89e3ed-31fb-06f7-387b-c972213c89be/metadata name="updated-name-sc-secret"
輸出
該任意指令會回傳以下輸出:
{
"request_id": "f361132f-a0e3-eab0-52b8-4d992074b411",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-22T14:26:44Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:fe874c2b-e8fd-bbb6-9f19-e91bbe744735",
"id": "fe874c2b-e8fd-bbb6-9f19-e91bbe744735",
"labels": [],
"last_update_date": "2020-10-22T14:54:25Z",
"name": "updated-name-arbitrary-secret",
"secret_type": "ARBITRARY",
"state": 1,
"state_description": "Active"
},
"warnings": null
}
「service credentials」指令會回傳以下輸出:
{
{
"request_id": "62f4f088-0588-51ec-3389-da83b4c34a6a",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "IBMid-2723462DAH",
"creation_date": "2023-11-23T08:27:15Z",
"crn": "crn:v1:staging:public:secrets-manager:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:e2c32ad4-1414-41e0-8747-e107e6b9f8e6:secret:3c89e3ed-31fb-06f7-387b-c972213c89be",
"custom_metadata": {},
"downloaded": false,
"iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:ada7d881-1af3-484c-8e79-4e071d9e1a7e",
"iam_apikey_id": "ApiKey-df88649d-5198-4ca5-884f-856a1b83031a",
"iam_apikey_name": "test-sc-1",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bafc::serviceid:ServiceId-40052fad-55a4-4090-ab9e-64877964a3ac",
"id": "3c89e3ed-31fb-06f7-387b-c972213c89be",
"labels": [],
"last_update_date": "2023-11-23T08:48:20Z",
"locks_total": 0,
"name": "updated-name-sc-secret",
"parameters": {},
"resource_key_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:ada7d881-1af3-484c-8e79-4e071d9e1a7e",
"resource_key_name": "test-sc-1",
"role": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"secret_type": "service_credentials",
"source_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc::",
"state": 1,
"state_description": "Active",
"ttl": 0,
"versions_total": 2
},
"warnings": null
}
更新密鑰版本
請使用這個指令來更新密鑰的特定版本。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/secrets/SECRET_ID/versionins/VERSION_ID/metadata
{
"version_custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
}
}
範例
vault write -format=json ibmcloud/service_credentials/secrets/1a3f9fbc-58d4-ac68-7984-f422d8b8112a/versions/38a361c8-51a2-6fc4-1ed8-d59747db5847/metadata
{
"version_custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
}
}
{ :pre}
輸出
{
"request_id": "8a395155-01eb-be57-e73d-53a9bbe09139",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"auto_rotated": false,
"created_by": "IBMid-2723462DAH",
"creation_date": "2023-11-23T10:19:45Z",
"crn": "crn:v1:staging:public:secrets-manager:us-south:a/826aa2b9cab6c666477fc55ebc47bafd:e2c32ad4-1414-41e0-8747-e107e6b9f8d7:secret:1a3f9fbc-58d4-ac68-7984-f422d8b8112a",
"expiration_date": "2023-12-03T10:19:45Z",
"id": "1a3f9fbc-58d4-ac68-7984-f422d8b8112a",
"payload_available": true,
"resource_key_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafd:f85409e9-1a06-47d5-8320-95ed4e1675bd:resource-key:496acdc2-792c-4425-8172-32fcd5cddaca",
"resource_key_name": "test-sc-1",
"version_custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_id": "38a361c8-51a2-6fc4-1ed8-d59747db5847"
},
"warnings": null
}
旋轉密鑰
請使用這個指令來輪換密鑰。 的允許值為 SECRET_TYPE 是:arbitrary, iam_credentials, imported_cert, kv, private_cert, public_cert, service_credentials,
custom_credentials,和 username_password。
vault write [-format=FORMAT] [-force] ibmcloud/SECRET_TYPE/secrets/SECRET_ID/rotate [payload="SECRET_DATA"] [password=PASSWORD] [certificate=CERTIFICATE_DATA] [private_key=PRIVATE_KEY_DATA] [intermediate=INTERMEDIATE_CERTIFICATE_DATA]
必要條件
您需要 撰寫者 服務角色 才能輪換密碼。
指令選項
payload- 要為
arbitrary密鑰儲存的新資料。 僅支援文字型有效負載。 如果您需要儲存二進位檔,請務必先將它 base64 編碼,再將它儲存至 Secrets Manager。 如需相關資訊,請參閱 範例。 password- 要指派給
username_password密鑰的新密碼。 certificate- 要為
imported_cert密鑰儲存的新憑證資料。 支援的檔案類型為.pem。 private_key- 要為
imported_cert密鑰儲存的新私密金鑰資料。 支援的檔案類型為.pem。 intermediate- 要為
imported_cert密鑰儲存的新中繼憑證資料。 支援的檔案類型為.pem。 format- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。 force- 將針對
username_password密鑰儲存的密碼取代為隨機產生的 32 個字元密碼,其中包含大寫字母、小寫字母、數字及符號。
範例
手動旋轉針對任意密鑰儲存的密鑰資料。
vault write -format=json ibmcloud/arbitrary/secrets/fe874c2b-e8fd-bbb6-9f19-e91bbe744735/rotate payload="Updated secret data."
手動輪換為 username_password 密鑰儲存的密碼。
vault write -format=json ibmcloud/username_password/secrets/cb32abc1-2a4b-e0fd-f403-233e5249e130/rotate password="my-updated-password"
將針對 username_password 密鑰儲存的密碼取代為隨機產生的 32 個字元密碼。
vault write -format=json -force ibmcloud/username_password/secrets/cb32abc1-2a4b-e0fd-f403-233e5249e130/rotate
輪替使用一組服務憑證。
vault write -format=json -force ibmcloud/service_credentials/secrets/3c89e3ed-31fb-06f7-387b-c972213c89be/rotate
輸出
使用使用者提供的密碼手動輪換 username_password 密鑰的指令會傳回下列輸出:
{
"request_id": "9cb258e5-fbc9-7a37-f8c9-c5ab1dd7b823",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-22T15:09:19Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:cb32abc1-2a4b-e0fd-f403-233e5249e130",
"id": "cb32abc1-2a4b-e0fd-f403-233e5249e130",
"labels": [],
"last_update_date": "2020-10-22T15:10:34Z",
"name": "new-username-password",
"secret_data": {
"password": "my-updated-password",
"username": "my-username"
},
"secret_type": "USERNAME_PASSWORD",
"state": 1,
"state_description": "Active"
},
"warnings": null
}
使用服務產生的密碼手動輪換 username_password 密鑰的指令會傳回下列輸出:
{
"request_id": "67992946-3fd7-8cbe-9464-f5bc0cc8254e",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-22T15:09:19Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:cb32abc1-2a4b-e0fd-f403-233e5249e130",
"id": "cb32abc1-2a4b-e0fd-f403-233e5249e130",
"labels": [],
"last_update_date": "2020-10-22T16:25:55Z",
"name": "new-username-password",
"secret_data": {
"password": "TYRodi/HX7s095UpQ38)L1z(t4\u003ccG6!2",
"username": "my-username"
},
"secret_type": "USERNAME_PASSWORD",
"state": 1,
"state_description": "Active"
},
"warnings": null
}
手動輪換一組服務認證的指令會傳回下列輸出:
{
"request_id": "6adeab90-93a3-79eb-24eb-ae6f1c6856dc",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"created_by": "IBMid-2734562DAH",
"creation_date": "2023-11-23T08:27:15Z",
"crn": "crn:v1:staging:public:secrets-manager:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:e2c32ad4-1414-41e0-8747-e107e6b9f8d6:secret:3c89e3ed-31fb-06f7-387b-c972213c89ee",
"custom_metadata": {},
"downloaded": false,
"iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:ada7d881-1af3-484c-8e79-4e071d9e1a7e",
"iam_apikey_id": "ApiKey-df88649d-5198-4ca5-884f-856a1b83031a",
"iam_apikey_name": "test-sc-1",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-40052fad-55a4-4090-ab9e-64877964a3ac",
"id": "3c89e3ed-31fb-06f7-387b-c972213c89be",
"labels": [],
"last_update_date": "2023-11-23T08:48:20Z",
"locks_total": 0,
"name": "test-sc-1",
"parameters": {},
"resource_key_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:ada7d881-1af3-484c-8e79-4e071d9e1a7e",
"resource_key_name": "test-sc-1",
"role": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"secret_data": {
"apikey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"guid": "f85409e9-1a06-47d5-8320-95ed4e1675bc",
"iam_apikey_description": "Auto-generated for key crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc:resource-key:48d0d690-7095-4e91-b267-bb8f4e7cc1e7",
"iam_apikey_id": "ApiKey-7a2311a5-d071-4d4f-b511-f1182e5e9849",
"iam_apikey_name": "test-sc-1",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::a/826aa2b9cab6c666477fc55ebc47bacc::serviceid:ServiceId-40052fad-55a4-4090-ab9e-64877964a3ac",
"instance_id": "f85409e9-1a06-47d5-8320-95ed4e1675cc",
"plan": "33b50df2-9cd6-4005-a941-bf0a59f0d133",
"region": "us-south"
},
"secret_type": "service_credentials",
"source_crn": "crn:v1:staging:public:event-notifications:us-south:a/826aa2b9cab6c666477fc55ebc47bafc:f85409e9-1a06-47d5-8320-95ed4e1675cc::",
"state": 1,
"state_description": "Active",
"ttl": 0,
"versions": [
{
"created_by": "IBMid-2723462DAH",
"creation_date": "2023-11-23T08:27:15Z",
"downloaded": true,
"id": "34f934a3-def7-71e0-cc93-9c754879f2f8",
"payload_available": true,
"version_custom_metadata": {}
},
{
"created_by": "IBMid-2723462DAH",
"creation_date": "2023-11-23T08:48:20Z",
"downloaded": false,
"id": "1449cd40-dd18-5f68-7719-7a08a9f8e57d",
"payload_available": true,
"version_custom_metadata": {}
}
],
"versions_total": 2
},
"warnings": null
}
刪除密鑰
請使用此指令刪除機密。 的允許值為 SECRET_TYPE 是:arbitrary, iam_credentials, imported_cert, kv, private_cert, public_cert, service_credentials,
custom_credentials,和 username_password。
刪除 default 密鑰群組中的密鑰。
vault delete ibmcloud/SECRET_TYPE/secrets/SECRET_ID
刪除現有密鑰群組中的密鑰。
vault delete ibmcloud/SECRET_TYPE/secrets/groups/SECRET_GROUP_ID/SECRET_ID
必要條件
您需要 管理員 服務角色 才能刪除密碼。
指令選項
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
依其指派 ID 來刪除任意密鑰。
vault delete ibmcloud/arbitrary/secrets/d26702aa-77ae-400e-4f25-9790a9cabf9c
輸出
該指令傳回下列輸出:
Success! Data deleted (if it existed) at: ibmcloud/arbitrary/secrets/d26702aa-77ae-400e-4f25-9790a9cabf9c
動態密鑰
動態密鑰是一種僅在被讀取或存取時才會生成的單次使用憑證。
若要使用 Vault CLI 建立動態密鑰,請使用 role 指令,以 IBM Cloud 帳戶中所需的許可權層次來設定密鑰範圍。 然後,使用 creds 指令來產生角色的認證。
建立角色
使用下列指令來登錄 支援動態密鑰的密鑰引擎 的角色。 建立角色之後,您可以為其 產生認證。 您為角色定義的配置 (例如其名稱、租賃持續時間及存取權) 由產生的認證繼承。
在 default 密鑰群組中建立角色。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/roles/ROLE_NAME access_groups=ACCESS_GROUP_ID,ACCESS_GROUP_ID ttl=LEASE_DURATION [description="DESCRIPTION"] [labels=LABEL,LABEL]
在指定的密鑰群組中建立角色。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/roles/groups/SECRET_GROUP_ID/ROLE_NAME access_groups=ACCESS_GROUP_ID,ACCESS_GROUP_ID ttl=LEASE_DURATION [description="DESCRIPTION"] [labels=LABEL,LABEL]
必要條件
您需要 撰寫者 服務角色 才能建立密碼。
指令選項
SECRET_TYPE- 您要建立的「秘密」類型。 目前支援
iam_credentials。 SECRET_GROUP_ID- 您要指派給角色及其認證之密鑰群組的 ID。
ROLE_NAME- 您要指派給角色及其認證的人類可讀別名。
access_groups- 用來決定要指派給角色及其認證之存取權範圍的存取群組 ID。
ttl- 決定角色產生的認證可以存在多久的存活時間 (TTL)。 使用持續時間字串,例如
300s或1h30m。 有效時間單位為s、m及h。 description- 要指派給角色及其認證的延伸說明。
labels- 可用來在實例中分組及搜尋類似密鑰的標籤。
format- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
配置 IAM 認證,其租賃持續時間為 1 小時,並將它指派給 default 密鑰群組。
vault write -format=json ibmcloud/iam_credentials/roles/test-iam-credentials access_groups=AccessGroupId-985dc0a3-857b-48bd-b6d6-33819da7ba42 ttl=1h description="My test IAM credential." labels=test,us-south
配置租賃持續時間為 1 小時的 IAM 認證,並將它指派給指定的密鑰群組。
vault write -format=json ibmcloud/iam_credentials/roles/groups/9ab2250f-a369-4e07-ade7-d417d63ad587/test-iam-credential-in-group access_groups=AccessGroupId-985dc0a3-857b-48bd-b6d6-33819da7ba42 ttl=1h description="My test IAM credential that is assigned to a secret group." labels=test,us-south
輸出
該指令傳回下列輸出:
{
"request_id": "d4150a28-1184-8864-dcd3-15b0d18da7c1",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"access_groups": [
"AccessGroupId-985dc0a3-857b-48bd-b6d6-33819da7ba42"
],
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-09T17:13:47Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e::",
"description": "My test IAM credential that is assigned to a secret group.",
"id": "091ca93f-5c99-4078-9d7e-4801143030fd",
"labels": [
"test",
"us-south"
],
"last_update_date": "2020-10-09T17:13:47Z",
"name": "test-iam-credential-in-group",
"secret_group_id": "9ab2250f-a369-4e07-ade7-d417d63ad587",
"secret_type": "IAM_CREDENTIALS",
"state": 1,
"state_description": "Active",
"ttl": 3600
},
"warnings": null
}
如果在密鑰群組中建立角色,則回應中會包含 data.secret_group_id 值,以識別密鑰群組指派。
產生 IAM 認證
請使用下列指令來產生角色的 API 金鑰。 這個指令會建立服務 ID,將服務 ID 新增至您配置給角色的存取群組,然後產生服務 ID 的 API 金鑰。
為 default 密鑰群組中的角色產生 API 金鑰。
vault read [-format=FORMAT] ibmcloud/iam_credentials/creds/ROLE_ID
為指定密鑰群組中的角色產生 API 金鑰。
vault read [-format=FORMAT] ibmcloud/iam_credentials/creds/groups/SECRET_GROUP_ID/ROLE_ID
產生的 API 金鑰可更新,並具有角色或系統預設值所定義的存活時間 (TTL)。
必要條件
您需要 撰寫者 服務角色 才能建立密碼。
指令選項
- secret_group_id
- 您要指派給此密鑰之密鑰群組的 ID。
- role_id
- 指派給此密鑰之角色的 ID 或名稱。
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
針對指派給 default 密鑰群組的密鑰產生 IAM 認證。
vault read -format=json ibmcloud/iam_credentials/creds/test-iam-credentials
針對指派給指定密鑰群組的密鑰產生 IAM 認證。
vault read -format=json ibmcloud/iam_credentials/creds/groups/9ab2250f-a369-4e07-ade7-d417d63ad587/test-iam-credential-in-group
輸出
該指令傳回下列輸出:
{
"request_id": "48d14d52-ce92-6efc-aeaa-b49cc11eabd6",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"access_groups": [
"AccessGroupId-985dc0a3-857b-48bd-b6d6-33819da7ba42"
],
"api_key": "Cg7l3kJveurEry_P7_fLPIBR....(truncated)",
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-09T17:13:47Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e::",
"description": "My test IAM credential that is assigned to a secret group.",
"id": "091ca93f-5c99-4078-9d7e-4801143030fd",
"labels": [
"test",
"us-south"
],
"last_update_date": "2020-10-09T17:53:23Z",
"name": "test-iam-credential-in-group",
"secret_group_id": "9ab2250f-a369-4e07-ade7-d417d63ad587",
"secret_type": "IAM_CREDENTIALS",
"service_id": "ServiceId-ae06783c-0ab4-4b02-a78a-8dff7d0634c6",
"state": 1,
"state_description": "Active",
"ttl": 3600
},
"warnings": null
}
如果角色屬於密鑰群組,則回應中會包含 data.secret_group_id 值,以識別密鑰群組指派。
列出角色
使用下列指令來列出 Secrets Manager 實例中的角色或密碼。
依類型列出角色。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/roles
依密鑰群組 ID 列出角色。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/roles/groups/SECRET_GROUP_ID
必要條件
您需要 讀者 服務角色 才能列出密鑰。
指令選項
- SECRET_TYPE
- 您要列出的秘密類型。 目前支援
iam_credentials。 - secret_group_id
- 密鑰群組的 ID。
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
擷取 IAM 認證清單。
vault read -format=json ibmcloud/iam_credentials/roles
擷取屬於指定密鑰群組的 IAM 認證清單。
vault read -format=json ibmcloud/iam_credentials/roles/groups/9ab2250f-a369-4e07-ade7-d417d63ad587
輸出
該指令傳回下列輸出:
{
"request_id": "d567207f-b5e6-fc35-086e-fbc465bf3678",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"roles": [
{
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-09T17:13:47Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e::",
"description": "My test IAM credential that is assigned to a secret group.",
"id": "091ca93f-5c99-4078-9d7e-4801143030fd",
"labels": [
"test",
"us-south"
],
"last_update_date": "2020-10-09T17:13:47Z",
"name": "test-iam-credential-in-group",
"secret_group_id": "9ab2250f-a369-4e07-ade7-d417d63ad587",
"secret_type": "IAM_CREDENTIALS",
"state": 1,
"state_description": "Active",
"ttl": 3600
},
{
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-09T17:05:21Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e:secret:a810998d-2912-4865-b4da-8dcc7465d784",
"description": "My test IAM credential.",
"id": "a810998d-2912-4865-b4da-8dcc7465d784",
"labels": [
"test",
"us-south"
],
"last_update_date": "2020-10-09T17:05:21Z",
"name": "test-iam-credentials",
"secret_type": "IAM_CREDENTIALS",
"state": 1,
"state_description": "Active",
"ttl": 3600
}
],
"roles_total": 2
},
"warnings": null
}
如果角色屬於密鑰群組,則回應中會包含 roles.data.secret_group_id 值,以識別密鑰群組指派。
讀取角色的 meta 資料
請使用下列指令來檢視已登錄角色或密鑰的詳細資料,例如其名稱及歷程。
檢視職位的詳細資訊。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/roles/ROLE_ID/metadata
檢視指派給密鑰群組之角色的詳細資料。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/roles/groups/GROUP_ID/ROLE/metadata
必要條件
您需要 讀者 服務角色,才能檢視密鑰的 meta 資料。
指令選項
- SECRET_TYPE
- 您要檢視的「秘密」類型。 目前支援
iam_credentials。 - secret_group_id
- 指派給角色及其認證的密鑰群組 ID
- role_id
- 指派給此密鑰之角色的 ID。
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
檢視指派給密鑰群組之角色的詳細資料。
vault read -format=json ibmcloud/iam_credentials/roles/groups/9ab2250f-a369-4e07-ade7-d417d63ad587/091ca93f-5c99-4078-9d7e-4801143030fd/metadata
輸出
該指令傳回下列輸出:
{
"request_id": "cb4672e2-51d9-3a83-f8a2-717afe16e24a",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"access_groups": [
"AccessGroupId-985dc0a3-857b-48bd-b6d6-33819da7ba42"
],
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-09T17:13:47Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e::",
"description": "My test IAM credential that is assigned to a secret group.",
"id": "091ca93f-5c99-4078-9d7e-4801143030fd",
"labels": [
"test",
"us-south"
],
"last_update_date": "2020-10-09T17:13:47Z",
"name": "test-iam-credential-in-group",
"secret_group_id": "9ab2250f-a369-4e07-ade7-d417d63ad587",
"secret_type": "IAM_CREDENTIALS",
"state": 1,
"state_description": "Active",
"ttl": 3600
},
"warnings": null
}
更新角色的元資料
請使用下列指令來檢視已登錄角色或密鑰的詳細資料,例如其名稱及歷程。
更新 default 密鑰群組中角色的詳細資料。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/roles/ROLE_ID/metadata [name="ROLE_NAME"] [access_groups=ACCESS_GROUP_ID,ACCESS_GROUP_ID] [ttl=LEASE_DURATION] [description="DESCRIPTION"] [labels=LABEL,LABEL]
更新指派給密鑰群組之角色的詳細資料。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/roles/groups/SECRET_GROUP_ID/ROLE_ID/metadata [name="ROLE_NAME"] [access_groups=ACCESS_GROUP_ID,ACCESS_GROUP_ID] [ttl=LEASE_DURATION] [description="DESCRIPTION"] [labels=LABEL,LABEL]
必要條件
您需要 撰寫者 服務角色,才能更新密鑰的 meta 資料。
指令選項
SECRET_TYPE- 您要更新的祕密類型。 目前支援
iam_credentials。 SECRET_GROUP_ID- 指派給角色及其認證之密鑰群組的 ID。
ROLE_ID- 指派給此密鑰的 ID。
access_groups- 用來決定要指派給角色及其認證之存取權範圍的存取群組 ID。
ttl- 決定角色產生的認證可以存在多久的存活時間 (TTL)。 使用持續時間字串,例如
300s或1h30m。 有效時間單位為s、m及h。 name- 您要指派給此密鑰的新名稱。
description- 要指派給角色及其認證的延伸說明。
labels- 可用來在實例中分組及搜尋類似密鑰的標籤。
format- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
更新指派給 default 群組之角色的詳細資料。
vault write -format=json ibmcloud/iam_credentials/roles/091ca93f-5c99-4078-9d7e-4801143030fd/metadata name="new-credential-name"
輸出
該指令傳回下列輸出:
{
"request_id": "cb4672e2-51d9-3a83-f8a2-717afe16e24a",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"access_groups": [
"AccessGroupId-985dc0a3-857b-48bd-b6d6-33819da7ba42"
],
"created_by": "iam-ServiceId-b7ebcf90-c7a9-495b-8ce8-bbf33cb95ca0",
"creation_date": "2020-10-09T17:13:47Z",
"crn": "crn:v1:bluemix:public:secrets-manager:us-south:a/791f5fb10986423e97aa8512f18b7e65:e415e570-f073-423a-abdc-55de9b58f54e::",
"description": "My test IAM credential.",
"id": "091ca93f-5c99-4078-9d7e-4801143030fd",
"labels": [
"test",
"us-south"
],
"last_update_date": "2020-10-09T17:13:47Z",
"name": "new-credential-name",
"secret_type": "IAM_CREDENTIALS",
"state": 1,
"state_description": "Active",
"ttl": 3600
},
"warnings": null
}
刪除角色
請使用以下指令來刪除一個角色。
刪除 default 密鑰群組中的角色。
vault delete ibmcloud/SECRET_TYPE/roles/ROLE_ID
刪除密鑰群組的角色。
vault delete ibmcloud/SECRET_TYPE/roles/groups/SECRET_GROUP_ID/ROLE_ID
必要條件
您需要 撰寫者 服務角色,才能更新密鑰的 meta 資料。
指令選項
- SECRET_TYPE
- 您要刪除的祕密類型。 目前支援
iam_credentials。 - secret_group_id
- 指派給角色及其認證之密鑰群組的 ID。
- role_id
- 指派給此密鑰的 ID。
範例
刪除指派給 default 群組的角色。
vault delete ibmcloud/iam_credentials/roles/091ca93f-5c99-4078-9d7e-4801143030fd
輸出
該指令傳回下列輸出:
Success! Data deleted (if it existed) at: ibmcloud/iam_credentials/roles/091ca93f-5c99-4078-9d7e-4801143030fd
鎖定
鎖定密鑰
請使用下列指令,對密鑰現行版本 建立一或多個鎖定。
在預設密鑰群組中建立密鑰的鎖定。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/locks/SECRET_ID/lock @FILE
在自訂密鑰群組中建立密鑰的鎖定。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/locks/groups/SECRET_GROUP_ID/SECRET_ID/lock @FILE
專門鎖定秘密。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/locks/groups/SECRET_GROUP_ID/SECRET_ID/lock_exclusive @FILE
專門鎖定密鑰,並刪除舊版資料。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/locks/groups/SECRET_GROUP_ID/SECRET_ID/lock_exclusive_delete @FILE
必要條件
您需要 撰寫者 服務角色 或更高版本,才能建立密鑰鎖定。
指令選項
- SECRET_TYPE
- 您要鎖定的祕密類型。
- secret_group_id
- 密鑰群組的 ID。
- 檔案
- 包含鎖定詳細資料的 JSON 檔案。
- 名稱
- 您要指派給密鑰群組的人類可讀別名。 必要。
- 說明
- 關於這個秘密團體的詳細說明。
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
在預設密鑰群組中建立密鑰的鎖定。
vault write -format=json ibmcloud/arbitrary/locks/fe874c2b-e8fd-bbb6-9f19-e91bbe744735/lock @locks.json
在自訂密鑰群組中建立密鑰的鎖定。
vault write -format=json ibmcloud/arbitrary/locks/groups/bb6-9f19-e91bbe744735/fe874c2b-e8fd-bbb6-9f19/lock @locks.json
您可以根據下列範例來格式化包含密鑰鎖定詳細資料的 JSON 檔案。
{
"locks": [
{
"name": "lockX",
"description": "blabla",
"attributes": {"key": "value"}
},
{
"name": "lockY",
"description": "blabla",
"attributes": {"key": "value"}
}
]
}
輸出
在預設群組中建立密鑰鎖定的指令會傳回下列輸出:
{
"request_id": "df85bbe9-4a0a04-06b123",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"secret_group_id": "default",
"secret_id": "65e44d42-cf24f4-490fa9",
"versions": [
{
"alias": "current",
"id": "6df7edfe-e5f-0b66c-aaba832",
"locks": [
"lock4",
"lock5"
],
"payload_available": true
}
]
},
"warnings": null
}
列出密鑰鎖定
使用下列指令來列出與密鑰現行版本相關聯的鎖定。
列出預設密鑰群組中密鑰的鎖定。
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/locks/SECRET_ID
vault read [-format=FORMAT] ibmcloud/SECRET_TYPE/locks/groups/SECRET_GROUP_ID/SECRET_ID
必要條件
您需要 讀者 服務角色 或更高版本,才能列出密鑰鎖定。
指令選項
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
列出與預設密鑰群組中任意密鑰相關聯的鎖定。
vault read -format=json ibmcloud/arbitrary/locks/184408d6-8264-5ff3-c308-6922ed04ad88
列出與自訂密鑰群組中使用者認證密鑰相關聯的鎖定。
vault read -format=json ibmcloud/username_password/locks/groups/d2e98a96-18ed-f13c-8dee-db955fb94122/c86946e6-b392-2613-159d-aff5a3f095b3
輸出
該指令傳回下列輸出:
{
"request_id": "7a09ca14-6a7d-9ea2-2515-f7c22890f148",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"locks": [
{
"attributes": {
"key": "value"
},
"created_by": "iam-ServiceId-222b47ab-b08e-42c3acb8",
"creation_date": "2022-06-30T21:04:15.143896Z",
"description": "Test lock for secret in the custom secret group.",
"last_update_date": "2022-06-30T21:31:19.343086Z",
"name": "lock-for-app-1",
"secret_group_id": "d2e98a96-18ed-fb22",
"secret_id": "c86946e6-b392-2613-15095b3",
"secret_version_alias": "current",
"secret_version_id": "ad6aa6d9-b43c-4bc3-52e64"
}
],
"locks_total": 1
},
"warnings": null
}
解除鎖定密鑰
請使用下列指令來移除密鑰現行版本上的一或多個鎖定。
移除預設密鑰群組中密鑰的鎖定。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/locks/SECRET_ID/unlock locks=LOCK_NAME locks=LOCK_NAME
移除自訂密鑰群組中密鑰的鎖定。
vault write [-format=FORMAT] ibmcloud/SECRET_TYPE/locks/groups/SECRET_GROUP_ID/SECRET_ID/unlock locks=LOCK_NAME locks=LOCK_NAME
必要條件
您需要 撰寫者 服務角色 或更高版本,才能建立密鑰鎖定。
指令選項
- -格式
- 以您指定的格式列印輸出。 有效格式為
table、json及yaml。 預設值為table。 您也可以使用VAULT_FORMAT環境變數來設定輸出格式。
範例
移除預設密鑰群組中密鑰的鎖定。
vault write -format=json ibmcloud/username_password/locks/65e44d42-cfb6-a24f4490fa9/unlock locks=test-lock-1 locks=test-lock-2
移除自訂密鑰群組中密鑰的鎖定。
vault write -format=json ibmcloud/arbitrary/locks/groups/7a09ca14-6a7d-9ea2-2515-f7c22890f148/9ea2-2515-f7c22890f148/unlock locks=test-lock-1 locks=test-lock-2
輸出
該指令傳回下列輸出:
{
"request_id": "0ec52cf2-59867-184a9c977",
"lease_id": "",
"lease_duration": 0,
"renewable": false,
"data": {
"secret_group_id": "default",
"secret_id": "65e44d42-cfb6-abe2-637d-2824f4490fa9",
"versions": [
{
"alias": "current",
"id": "6df7edfe-ea85-3d34-565f-0b66caaba832",
"locks": [],
"payload_available": true
}
]
},
"warnings": null
}