使用密鑰

瞭解如何在 Code Engine中使用密鑰。 在 Code Engine中,您可以使用環境變數,將資訊儲存為函數、工作或應用程式可以使用的密鑰中的鍵值組。

什麼是秘密,我為什麼要使用它們?

在 Code Engine中,密碼 (及 configmap) 是鍵值組的集合。 當對映至環境變數時,會設定 NAME=VALUE 關係,以便環境變數的名稱對應於那些對映中每一個項目的「索引鍵」,且環境變數的值是該索引鍵的「值」。

秘密提供一種方法,可將密碼或 SSH 金鑰等敏感組態資訊納入您的部署。 透過參照密鑰中的值,您可以將機密性資訊與部署取消連結,以保持應用程式、功能或工作的可攜性。 授權給您專案的任何人也可以檢視您的密鑰; 請確定您知道密鑰資訊可以與那些使用者共用。 密鑰包含鍵值組中的資訊。

因為密鑰及 configmap 是類似的實體 (除了密鑰會更安全地儲存),所以您與密鑰及 configmap 互動及使用的方式也會類似。 若要進一步瞭解配置對映,請參閱 使用配置對映

我可以在 Code Engine中建立何種密鑰?

Code Engine 支援各種密鑰,並提供用於建立及使用密鑰的選項。

下表彙總 Code Engine中支援的密鑰。

Code Engine中的秘密
名稱 說明
基本鑑別 包含 usernamepassword 金鑰的密鑰。
當您存取需要基本 HTTP 驗證的服務時,請使用基本驗證機密。
一般 儲存簡式鍵值組及 Code Engine 的密鑰不會對已定義的鍵值組或密鑰的預期用途做出任何假設。
當您想要定義自己的鍵值組來存取服務時,請使用一般密碼。
HMAC 包含 access_key_idsecret_access_key 金鑰的秘密。
使用 HMAC 認證使用 S3-compatible 工具和函式庫,這些工具和函式庫需要驗證,但不支援 IBM Cloud® Identity and Access Management API 金鑰。
登錄 儲存認證以存取儲存器登錄的密鑰。
當您使用 Code Engine 應用程式或工作來存取容器映像檔時,請使用登錄密碼。 或者,您使用 Code Engine 來建置容器映像檔,且 Code Engine 會使用登錄密碼來存取登錄以儲存建置的容器映像檔。
在 CLI 中,此密鑰也稱為 Registry access secret
服務存取權 儲存認證以存取 IBM Cloud 服務實例的密鑰。
當您在 Code Engine 中使用 服務綁定 時,請使用服務存取秘訣。Code Engine 可以自動產生此秘訣,您也可以建立自己的自訂服務存取秘訣。
SSH 儲存認證以使用 SSH 金鑰向服務進行鑑別 (例如向 Git 儲存庫進行鑑別,例如 GitHub 或 GitLab) 的密鑰。
當您想要 Code Engine 為您建置容器映像檔時,請使用 SSH 密碼。Code Engine 使用此密鑰來存取程式碼儲存庫中的原始碼。 例如,搭配使用此密鑰與建置執行,以存取儲存庫中的原始碼,例如 GitHub 或 GitLab。
此密鑰也在 CLI 中用作 Git repository access secret,在主控台中用作 Code repo access
傳輸層安全 (TLS) 包含已簽署 TLS 憑證 (包括其所有中繼憑證) 及其來自憑證管理中心 (CA) 的對應私密金鑰的密鑰。
當您在 Code Engine中使用 自訂網域對映 時,請使用 TLS 密鑰。

建立 Secret

使用密鑰將機密性資訊提供給應用程式、工作或功能。 密鑰定義在鍵值組中,並對儲存在密鑰中的資料進行編碼。

從主控台建立密鑰

瞭解如何從 Code Engine 主控台建立密鑰。

瞭解如何從主控台建立下列類型的密鑰。

從主控台建立一般密鑰

瞭解如何從 Code Engine 主控台建立一般密鑰,這些密鑰可由函數、工作或應用程式作為環境變數使用。

開始之前,請 建立專案

  1. 在專案處於 作用中 狀態之後,請在 Code Engine「專案」頁面上按一下專案的名稱。
  2. 從「元件」頁面中,按一下 密鑰及配置對映
  3. 從「密鑰及配置對映」頁面中,按一下 建立 以建立密鑰。
  4. 從「建立密鑰或 configmap」頁面中,完成下列步驟:
    1. 選取 一般密鑰,然後按 下一步
    2. 提供名稱; 例如 mysecret-generic
    3. 按一下新增鍵值對。 指定此密鑰的一或多個鍵值組。 例如,將一個索引鍵指定為 secret1,值為 mysecret1,並將另一個索引鍵指定為 secret2,值為 target-secret。 您為金鑰選擇的名稱不需要與環境變數的名稱相同。 請注意,索引鍵的值是隱藏的,但必要的話可以檢視它。
    4. 按一下建立以建立秘密。

既然已從主控台建立密鑰,請移至「密鑰及配置對映」頁面,以檢視已定義密鑰及配置對映的清單。 您可以套用過濾器來自訂清單以符合您的需求。

從控制台建立 HMAC 秘書

瞭解如何從 Code Engine 主控台建立 HMAC 秘密,這些秘密可以作為環境變數被函式、工作或應用程式使用。 它們與需要驗證但不支援 IBM Cloud® Identity and Access Management API 金鑰的 S3-compatible 工具和函式庫一起使用。

開始之前,請 建立專案

  1. 在專案處於 作用中 狀態之後,請在 Code Engine「專案」頁面上按一下專案的名稱。
  2. 從「元件」頁面中,按一下 密鑰及配置對映
  3. 從「密鑰及配置對映」頁面中,按一下 建立 以建立密鑰。
  4. 從「建立密鑰或 configmap」頁面中,完成下列步驟:
    1. 選取 HMAC 秘 密,然後按一下下一步
    2. 提供名稱; 例如 mysecret-hmac
    3. 指定存取金鑰 ID。
    4. 指定秘密存取金鑰。 請注意,索引鍵的值是隱藏的,但必要的話可以檢視它。
    5. 按一下建立以建立秘密。

既然已從主控台建立密鑰,請移至「密鑰及配置對映」頁面,以檢視已定義密鑰及配置對映的清單。 您可以套用過濾器來自訂清單以符合您的需求。

有關 HMAC 秘訣的詳細資訊,請參閱 IBM Cloud Object Storage- API 金鑰 vs HMAC

從主控台建立登錄密鑰

瞭解如何從 Code Engine 主控台建立登錄密鑰,以供功能、工作、應用程式或建置使用,以存取取回或推送容器映像檔。

開始之前,請 建立專案

  1. 在專案處於 作用中 狀態之後,請在 Code Engine「專案」頁面上按一下專案的名稱。
  2. 從「元件」頁面中,按一下 密鑰及配置對映
  3. 從「密鑰及配置對映」頁面中,按一下 建立 以建立密鑰。
  4. 從「建立密鑰或 configmap」頁面中,完成下列步驟:
    1. 選取 登錄密碼,然後按 下一步
    2. 提供名稱; 例如 mysecret-registry
    3. 指定此密鑰的目標登錄,例如 IBM Cloud Container Registry 或 Docker Hub。
    4. 指定登錄的位置。
    5. 指定使用者名稱。 如果此密鑰適用於 IBM Cloud Container Registry,則使用者名稱為 iamapikey。 如果此密鑰適用於 Docker Hub,則它是您的 Docker ID。
    6. 輸入使用者名稱的認證。 對於 IBM Cloud Container Registry,請使用 IAM API 金鑰。 若為 Docker Hub,您可以使用 Docker Hub 密碼或 存取記號。 若為其他目標登錄,請指定使用者名稱的密碼或 API 金鑰。
    7. 按一下建立以建立秘密。

既然已從主控台建立密鑰,請移至「密鑰及配置對映」頁面,以檢視已定義密鑰及配置對映的清單。 您可以套用過濾器來自訂清單以符合您的需求。

如需使用映像檔登錄的相關資訊,請參閱 存取容器登錄

從主控台建立 SSH 密鑰

瞭解如何從主控台建立 SSH 密鑰,以供建置用來存取專用原始碼儲存庫。 SSH 密鑰會儲存認證,以使用 SSH 金鑰向服務進行鑑別,例如向 Git 儲存庫進行鑑別,例如 GitHub 或 GitLab。

開始之前,請 建立專案

  1. 在專案處於 作用中 狀態之後,請在 Code Engine「專案」頁面上按一下專案的名稱。
  2. 從「元件」頁面中,按一下 密鑰及配置對映
  3. 從「密鑰及配置對映」頁面中,按一下 建立 以建立密鑰。
  4. 從「建立密鑰或 configmap」頁面中,完成下列步驟:
    1. 選取 SSH 密碼,然後按 下一步
    2. 提供名稱; 例如 mysecret-ssh
    3. 新增此密鑰的 SSH 私密金鑰。
    4. 按一下建立以建立秘密。

既然已從主控台建立密鑰,請移至「密鑰及配置對映」頁面,以檢視已定義密鑰及配置對映的清單。 您可以套用過濾器來自訂清單以符合您的需求。

使用專用程式碼儲存庫 (例如 Git 儲存庫) 時,請使用 SSH 密鑰。 請參閱 存取專用程式碼儲存庫

從主控台建立 TLS 密鑰

瞭解如何從主控台建立 TLS 密鑰,當您在 Code Engine中使用自訂網域對映時,應用程式可以使用該密鑰。 「傳輸層安全 (TLS)」密鑰包含已簽署的 TLS 憑證 (包括其所有中繼憑證),以及來自憑證管理中心 (CA) 的對應私密金鑰。

開始之前,請 建立專案

  1. 在專案處於 作用中 狀態之後,請在 Code Engine「專案」頁面上按一下專案的名稱。
  2. 從「元件」頁面中,按一下 密鑰及配置對映
  3. 從「密鑰及配置對映」頁面中,按一下 建立 以建立密鑰。
  4. 從「建立密鑰或 configmap」頁面中,完成下列步驟:
    1. 選取 TLS 密鑰,然後按 下一步
    2. 提供名稱; 例如 mysecret-tls
    3. 新增憑證鏈及其私密金鑰。 請注意,您可以將證書串接起來,以新的一行開始每一個證書。 您可以在檔案中提供此資訊。
    4. 按一下建立以建立秘密。

既然已從主控台建立密鑰,請移至「密鑰及配置對映」頁面,以檢視已定義密鑰及配置對映的清單。 您可以套用過濾器來自訂清單以符合您的需求。

在 Code Engine中使用 自訂網域對映 時,請使用 TLS 密鑰。

使用 CLI 建立秘密

瞭解如何使用 Code Engine CLI 來建立密鑰,應用程式、工作或函數可以作為環境變數使用。

開始之前

從 CLI 版本 1.42.0 開始,在 CLI 中定義秘密和使用秘密的工作統一在 secret 命令群組下。 請參閱 ibmcloud ce secret 指令。 使用 --format 選項指定秘密的類別,例如 basic_auth, generic, hmac, ssh, tls,或 registry--format 選項的預設值是 generic

透過使用 secret create 指令,您可以建立及管理各種密鑰格式。 如需各種密鑰格式的說明,請參閱 我可以在 Code Engine中建立何種密鑰?

瞭解如何使用 CLI 建立下列類型的密鑰:

使用 CLI 建立基本鑑別密碼

基本驗證秘訣包含使用者名稱和密碼金鑰,用於存取需要基本 HTTP 驗證的服務。 下列範例會使用 myusername 的認證來建立基本鑑別密碼,並在本端工作站上的檔案中提供相關聯的密碼。

ibmcloud ce secret create --name mysecret-basicauth --format basic_auth --username myusername --password-from-file ./password.txt

若要顯示此密鑰的詳細資料,

ibmcloud ce secret get --name mysecret-basicauth

輸出範例

Getting secret 'mysecret-basicauth'...
OK

Name:          mysecret-basicauth
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format:        basic_auth
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           66s
Created:       2021-03-10T18:44:18-05:00

Data:    
---
password: REDACTED
username: bXl1c2VybmFtZQ==

請注意,此基本鑑別密碼的金鑰 username 值已編碼,且 password 值已編寫。 若要將密鑰資料顯示為已解碼,請在 secret get 指令中使用 --decode 選項。

使用 CLI 建立一般密鑰

一般密鑰會儲存簡式鍵值組,且 Code Engine 不會對已定義的鍵值組及密鑰的預期使用進行任何假設。

您可以使用下列其中一種方式,使用 secret create 指令來建立一般密鑰。 依預設,未指定 --format 選項時,會建立一般密鑰。

  • 使用 KEY=VALUE 格式的 --from-literal 選項,直接從指令行建立密鑰。 例如,

    ibmcloud ce secret create --name myliteralsecret --from-literal "TARGET=My literal secret"
    
  • 使用 --from-file 選項來建立密鑰以指向檔案。 透過使用此選項,檔案的所有內容都會變成鍵值組的值。 在此範例中,請使用名為 secrets.txt 的檔案,其中包含 my little secret1

    • 下列範例搭配使用 --from-file KEY=FILE 格式與 secret create 指令:

      ibmcloud ce secret create --name mysecretmsg1 --from-file TARGET=secrets.txt
      
    • 下列範例指令搭配使用 --from-file FILE 格式與 secret create 指令。 在此範例中,TARGET (無副檔名) 是檔案的名稱,與工作已知的環境變數名稱相同。

      ibmcloud ce secret create --name mysecretmsg2  --from-file TARGET
      
  • 使用 --from-env-file 選項來建立密鑰,以指向包含一或多行符合 KEY=VALUE 格式的檔案。 指定檔案中的每一行都會新增為鍵值組。 指定檔案中任何空白或以 # 開頭的行都會被忽略。 在此範例中,請使用名為 secrets_multi.txt 的檔案,其中包含鍵值組: sec1=mysec1sec2=mysec2sec3=mysec3

    ibmcloud ce secret create --name mysecretmulti --from-env-file secrets_multi.txt
    

如果您想要從檔案建立 (或更新) 一般密鑰,請使用具有下列其中一種格式的 --from-file 選項: --from-file FILE--from-file KEY=FILE 在 Code Engine中,當您使用 --from-file 選項來指定密鑰值時,檔案內的 所有 內容是鍵值組的值。 當您使用 --from-file KEY=FILE 選項格式時,KEY 是工作、函數或應用程式已知的環境變數名稱。 當您使用選項格式 --from-file FILE 時,FILE 是工作、函數或應用程式已知的環境變數名稱。 如果您的檔案包含一或多個鍵值組,請使用 --from-env-file 選項,為指定檔案中的每一個鍵值組新增環境變數。 指定檔案中任何空白或以 # 開頭的行都會被忽略。

若要顯示一般密鑰 myliteralsecret 的詳細資料,

ibmcloud ce secret get --name myliteralsecret

輸出範例

Getting secret 'myliteralsecret'...
OK

Name:          myliteralsecret
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format:        generic
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           66s
Created:       2023-03-07 21:06:34 +0000 UTC  

Data:    
---
TARGET: TXkgbGl0ZXJhbCBzZWNyZXQ=

請注意,此一般密鑰的金鑰 TARGET 值已編碼。 若要將密鑰資料顯示為已解碼,請在 secret get 指令中使用 --decode 選項。

使用 CLI 建立 HMAC 秘 密

HMAC 秘密包含 access_key_idsecret_access_key 金鑰,與 S3-compatible 工具和函式庫一起使用,這些工具和函式庫需要驗證,但不支援 IBM Cloud® Identity and Access Management API 金鑰。 請參閱 IBM Cloud Object Storage- API 金鑰 vs HMAC 何時使用 IBM Cloud® Identity and Access Management API 金鑰或 HMAC 認證。 以下範例會建立一個 HMAC 秘密,並附有樣本憑證,以便在提示時提供。

ibmcloud ce secret create --name mysecret-hmac --format hmac --access-key-id-prompt --secret-access-key-prompt

若要顯示此密鑰的詳細資料,

ibmcloud ce secret get --name mysecret-hmac

輸出範例

Getting secret 'mysecret-hmac'...
OK

Name:          mysecret-hmac
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format:        hmac_auth
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           86s
Created:       2025-05-15T12:41:15-05:00

Data:
---
access_key_id: MWEyYjNjNGQ1ZTZmMWEyYjNjNGQ1ZTZmMWEyYjNjNGQK
secret_access_key: REDACTED

請注意,此 HMAC 密鑰 access_key_id 的值已編碼,而 secret_access_key 的值則已刪除。 若要將密鑰資料顯示為已解碼,請在 secret get 指令中使用 --decode 選項。

使用 CLI 建立登錄密鑰

登錄密鑰會儲存用來存取儲存器登錄的認證。

下列範例會建立名為 mysecret-registry 的登錄密鑰,以存取 us.icr.io 登錄伺服器上的 IBM Cloud Container Registry 實例,並指定 usernamepassword 的認證。

ibmcloud ce secret create --name mysecret-registry --format registry --server us.icr.io --username iamapikey --password API_KEY

若要顯示此密鑰的詳細資料,

ibmcloud ce secret get --name mysecret-registry

輸出範例

Getting secret 'mysecret-registry'...
OK

Name:          mysecret-registry
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format:        registry
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           66s
Created:       2023-03-07 20:00:45 +0000 UTC  

Data:    
---
email: ""
password: REDACTED
server: dXMuaWNyLmlv
username: aWFtYXBpa2V5

請注意,此登錄密鑰的 usernameserver 機碼值已編碼,且 password 的值已編寫。 若要將密鑰資料顯示為已解碼,請在 secret get 指令中使用 --decode 選項。

使用 CLI 建立 SSH 密鑰

SSH 密鑰會儲存認證,以使用 SSH 金鑰向服務進行鑑別; 例如,向 Git 儲存庫進行鑑別,例如 GitHub 或 GitLab。

下列範例會建立名為 mysecret-ssh 的 SSH 密鑰,以透過使用位於 /<filepath>/.ssh/<key_name>(其中 <filepath> 是本端工作站上的路徑) 的未加密 SSH 私密金鑰檔進行鑑別,來存取 known_hosts 檔案中包含的主機。 這個指令需要名稱和金鑰路徑,也容許其他選用引數,例如已知 hosts 檔的路徑。

ibmcloud ce secret create --name mysecret-ssh --format ssh --key-path ~/.ssh/<key_name> --known-hosts-path  ~/.ssh/known_hosts

若要顯示此密鑰的詳細資料,

ibmcloud ce secret get --name mysecret-ssh

輸出範例

Getting secret 'mysecret-ssh'...
OK

Name:          mysecret-ssh'
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format:        ssh
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           66s
Created:       2023-03-07 19:19:59 +0000 UTC  

Data:    
---
known_hosts: fDF8bGh0ekpiSFVXdXRxZWg1NUlrWTk4RjdOdjJZPXxsUmhZd0txVmIwd3dSV2xzcjEySFdoWURUTG89IHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQUJJd0FBQVFFQXEyQTdoUkdtZG5tOXRVRGJPOUlEU3dCSzZUYlFhK1BYWVBDUHk2cmJUclR0dzdQSGtjY0tycHAweVZocDVIZEVJY0tyNnBMbFZEQmZPTFg5UVVzeUNPVjB3emZqSUpObEdFWXNkbExKaXpIaGJuMm1VanZTQUhRcVpFVFlQODFlRnpMUU5uUEh0NEVWVlVoN1ZmREVTVTg0S2V6bUQ1UWxXcFhMbXZVMzEveU1mK1NlOHhoSFR2S1NDWklGSW1Xd29HNm1iVW9XZjluenBJb2FTakIrd2VxcVVVbXBhYWFzWFZhbDcySitVWDJCKzJSUFczUmNUMGVPelFncWxKTDNSS3JUSnZkc2pFM0pFQXZHcTNsR0hTWlh5MjhHM3NrdWEyU21WaS93NHlDRTZnYk9EcW5UV2xnNyt3QzYwNHlkR1hBOFZKaVM1YXA0M0pYaVVGRkFhUT09CnwxfEpUSjI4MCt0RkFSMGcxZ3VrZW56U3ZBYm5sQT18RDlSUWppenZlR3UxS0FnNjhNeisrUHM3RmZrPSBlY2RzYS1zaGEyLW5pc3RwMjU2IEFBQUFFMlZqWkhOaExYTm9ZVEl0Ym1semRIQXlOVFlBQUFBSWJtbHpkSEF5TlRZQUFBQkJCRW1LU0VOalFFZXpPbXhrWk15N29wS2d3RkI5bmt0NVlScllNak51RzVOODd1UmdnNkNMcmJvNXdBZFQveTZ2MG1LVjBVMncwV1oyWUIvKytUcG9ja2c9CnwxfDhIOXpNb0VORklZVDNPeVZYWlQrY25wb0srND18dVdhVThFV1FPc0ttSDMzREVVd0xnNUtiUk44PSBzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJT01xcW5rVnpybTBTZEc2VU9vcUtMc2FiZ0g1Qzlva1dpMGRoMmw5R0tKbAo=
ssh-privatekey: REDACTED

請注意,此 SSH 密鑰的 known_hosts 金鑰值已編碼,且 ssh-privatekey 的值已編寫。 若要將密鑰資料顯示為已解碼,請在 secret get 指令中使用 --decode 選項。

使用 CLI 建立 TLS 密鑰

「傳輸層安全 (TLS)」密鑰包含已簽署的 TLS 憑證 (包括其所有中繼憑證),以及來自憑證管理中心 (CA) 的對應私密金鑰。 當您使用自訂網域對映時,請使用 TLS 密鑰。

下列範例會建立名為 mysecret-tls 的 TLS 密鑰。 對應於自訂網域的憑證鏈包含在檔案 certificate.txt 中,相符的私密金鑰檔包含在檔案 privatekey.txt 中。 在此範例中,這兩個檔案都位於本端工作站的根目錄中。

ibmcloud ce secret create --name mysecret-tls  --format tls  --cert-chain-file certificate.txt --private-key-file privatekey.txt

若要顯示此密鑰的詳細資料,

ibmcloud ce secret get --name mysecret-tls

輸出範例

Getting secret 'mysecret-tls'...
OK

Name:          mysecret-tls'
ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format:        tls
Project Name:  myproject
Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
Age:           66s
Created:       2023-03-07 16:14:46 +0000 UTC  

Data:    
---
tls.crt: REDACTED
tls.key: REDACTED

使用 CLI 列出密鑰

建立密鑰之後,請使用 secret list 指令來列出專案中的所有密鑰。 例如,

ibmcloud ce secret list

輸出範例

Listing secrets...
OK

Name                          Format          Data  Age  
ce-auto-icr-private-us-south  registry        4     333d  
ce-auto-private-icr-us-south  registry        4     335d  
myregistry-seccmd             registry        4     3h31m  
mysecret-basicauth            basic_auth      2     7m37s  
mysecret-generic              generic         1     7m7s  
mysecret-genericfromfile      generic         2     2m29s  
mysecret-hmac                 hmac_auth       2     21m
mysecret-registry             registry        4     111s  
mysecret-ssh                  ssh_auth        2     42m  
mysecret-tls                  tls             2     3h47m

更新密鑰

您可以變更現有密鑰的鍵值組。

從控制台更新秘密

您可以從主控台更新已定義密鑰的鍵值組。

  1. 您可以使用下列其中一種方式,從主控台更新所定義密鑰的鍵值組。

    • 跳至專案的「密鑰及配置對映」頁面,並尋找您要更新的密鑰。 按一下您要更新的密鑰名稱以開啟它。
    • 如果應用程式、工作或函數參照您的密鑰,請使用應用程式、工作或函數的 環境變數 標籤上環境變數表格中的鏈結。 這些鏈結會直接帶您前往您的密鑰。 或者,您也可以跳至專案的「密鑰及配置對映」頁面,並尋找您要更新的密鑰。 按一下您要更新的密鑰名稱以開啟它。
  2. 按一下 編輯,並針對您的密鑰進行更新。

  3. 按一下 儲存,以儲存對密鑰所做的變更。

如果工作、功能或應用程式參照您的更新密鑰,則必須重新啟動您的工作、功能或應用程式,新資料才會生效。

  • 應用程式-從應用程式的頁面中,按一下 新建修訂,然後按一下 儲存並部署。 或者,您可以等待應用程式調整為零,當應用程式擴增時,應用程式會使用更新的密碼。
  • 工作-從工作的頁面中,按一下 提交工作 以執行工作,或者您可以重新執行工作。 這個新的工作執行會使用更新的密鑰。
  • 功能-從功能的頁面中,按一下 測試功能。 如果您開啟瀏覽器的功能 URL,請重新整理瀏覽器。

使用 CLI 更新秘密

您可以使用 CLI 來更新現有密鑰及其鍵值組。

  1. 若要變更已定義密鑰中鍵值組的值,請使用 secret update 指令。 讓我們更新 mysecret-registry 密鑰以使用不同的伺服器。

    ibmcloud ce secret update --name mysecret-registry --format registry --server <new_server> --username <new_username> --password <password>
    
  2. 既然已更新您的密鑰,請使用 secret get 指令來顯示特定密鑰的詳細資料。 必要的話,請使用 --decode 選項,將密鑰資料顯示為已解碼。 例如,

    ibmcloud ce secret get --name mysecret-registry --decode
    

    輸出範例

    Getting generic secret 'mysecret-registry'...
    OK
    
    Name:          mysecret-registry
    ID:            abcdefgh-abcd-abcd-abcd-c88e2775388e
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           21m
    Created:       2023-03-07 20:00:45 +0000 UTC  
    
    Data:    
    ---
    email: ""
    password: REDACTED
    server: newserver
    username: newuser
    

參照密鑰

您的工作、函數或應用程式可以使用環境變數來耗用及使用密鑰中儲存的資訊。

從主控台參照密鑰

您可以使用主控台來建立應用程式、工作及函數的環境變數,以完全參照密鑰或參照密鑰中的個別金鑰。

在您可以參照密鑰之前,它必須存在。 請參閱 建立密鑰。 在此範例中,建立名為 target-secret 的密鑰,其鍵值組為 TARGET=Sunshine

  1. 若要從應用程式、工作及函數參照已定義的密鑰,請 建立環境變數。 環境變數可以完全參照現有密鑰,或參照現有密鑰中的個別金鑰。 當您完全參照密鑰 (或 configmap) 時,可以選擇性地指定 prefix。 例如,如果您從 myapp 應用程式完全參照 mysecret 密鑰,並使用 mysecret_ 字首,則密鑰中的每一個金鑰都以 mysecret_ 作為字首。

  2. 建立環境變數之後,您必須重新啟動應用程式、工作及函數,變更才會生效。 若為應用程式,請儲存並部署應用程式,以您定義的環境變數來更新應用程式。 對於工作,請提交您的工作,以您定義的環境變數來更新工作。

  3. 在應用程式、工作及功能狀態變更為 備妥之後,您可以測試應用程式或功能,或執行工作。 若為應用程式,請按一下 測試應用程式,然後按一下「測試應用程式」窗格中的 傳送要求。 若要在網頁中開啟應用程式,請按一下應用程式 URL。 在 myapp 範例中,因為已為完整參照的 mysecret 密鑰指定字首,所以此密鑰的所有金鑰都會參照為環境變數,並以 mysecret_ 作為字首。 例如,這些環境變數會顯示為 mysecret_secret1=mysecret1mysecret_secret2=mysecret2

若要更新參照密鑰的環境變數,請參閱 更新環境變數更新環境變數的考量

若要移除參照密鑰的環境變數,請參閱 刪除環境變數

例如,讓我們使用您從主控台定義的先前定義的 mysecret 密鑰與工作,並使用環境變數完整參照此密鑰。

  1. 建立並執行工作。 在此範例中,建立使用 icr.io/codeengine/codeengine 映像檔的 Code Engine 工作,然後執行該工作。 將要求傳送至此範例工作時,工作會讀取 TARGET 環境變數,且工作會列印 Hello ${TARGET} from Code Engine 並列印環境變數清單。 如果 TARGET 環境變數是空的,則會傳回 Hello World from Code Engine

    從「工作」頁面中,

    1. 建立工作; 例如,myjob
    2. 指定 icr.io/codeengine/codeengine 作為影像參照。
    3. 按一下 Create(建立 )以建立工作。

    如果您要與密鑰搭配使用的工作量已定義在 Code Engine中,請跳至「應用程式」、「工作」或「函數」頁面,然後按一下應用程式、工作或函數的名稱以開啟元件。

  2. 建立工作時,從「工作」頁面中,按一下工作名稱以開啟它。

  3. 更新工作以將密鑰新增為環境變數。 按一下 環境變數 以開啟標籤,然後按一下 新增 以新增環境變數。

  4. 從「新增環境變數」頁面中,

    1. 若要使用先前定義的密鑰,請選取 參照完整密鑰
    2. 從功能表中,選取您想要的密鑰名稱; 例如 target-secret
    3. 按一下 新增,以新增環境變數。
    4. 按一下 儲存,以儲存對工作所做的變更。
  5. 若要使用參照密鑰的環境變數來執行工作,請按一下 提交工作。 在此範例中,myjob 工作執行的日誌會顯示 Hello Sunshine from Code Engine 並列印環境變數,包括使用環境變數參照的任何密鑰值。

使用 CLI 參照密碼

若要搭配使用密鑰與應用程式、工作及函數,您可以設定環境變數,以使用 CLI 來完全參照密鑰或參照密鑰中的個別金鑰。

使用 CLI 參照現有密鑰

下列範例參照一般密鑰,當未指定 --format 選項時,這是預設密鑰。 使用 --format 選項來指定密鑰種類,例如 basic_authgenericsshtlsregistry

若要搭配使用具有工作量的密鑰與 CLI,請在下列指令上指定 --env-from-secret 選項。

下列範例說明如何使用 CLI 透過工作來參照現有的一般密鑰。

  1. 針對此實務範例,使用 secret create 指令來建立下列兩個一般密鑰。 依預設,未指定 --format 選項時,會建立一般密鑰。

    ibmcloud ce secret create --name myliteralsecret --from-literal "TARGET=My big literal secret"
    
    ibmcloud ce secret create --name myliteralsecret2 --from-literal "TARGET=My little literal secret"
    
  2. 建立工作 並參照 myliteralsecret 密鑰。 在此範例中,建立使用 icr.io/codeengine/codeengine 映像檔的 Code Engine 工作,然後執行該工作。 將要求傳送至此範例工作時,工作會讀取 TARGET 環境變數,且工作會列印 Hello ${TARGET} from Code Engine 並列印環境變數清單。 如果 TARGET 環境變數是空的,則會傳回 Hello World from Code Engine

    ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --array-indices 2-3 --env-from-secret myliteralsecret
    
  3. 執行 myjob 工作。

    ibmcloud ce jobrun submit --name myjobrun --job myjob
    
  4. 使用 jobrun get 指令來顯示工作執行的詳細資料,包括工作執行的實例。

    ibmcloud ce jobrun get --name myjobrun
    

    輸出範例

    Getting jobrun 'myjobrun'...
    Getting instances of jobrun 'myjobrun'...
    Getting events of jobrun 'myjobrun'...
    Run 'ibmcloud ce jobrun events -n myjobrun' to get the system events of the job run instances.
    Run 'ibmcloud ce jobrun logs -f -n myjobrun' to follow the logs of the job run instances.
    OK
    
    Name:               myjobrun
    [...]
    Job Ref:                myjob
    Environment Variables:
        Type                   Name          Value
        Secret full reference  myliteralsecret
    Image:                  icr.io/codeengine/codeengine
    Resource Allocation:
        CPU:                1
        Ephemeral Storage:  4G
        Memory:             4G
    
    Runtime:
        Mode:                  task
        Array Indices:         2-3
        Array Size:            2
        JOP_ARRAY_SIZE Value:  2
        Max Execution Time:    7200
        Retry Limit:           3
    
    Status:
        Completed:          9s
        Instance Statuses:
            Succeeded:  2
        Conditions:
            Type      Status  Last Probe  Last Transition
            Pending   True    13s         13s
            Running   True    9s          9s
            Complete  True    9s          9s
    
    Events:
        Type    Reason     Age                Source                Messages
        Normal  Updated    10s (x4 over 14s)  batch-job-controller  Updated JobRun "myjobrun"
        Normal  Completed  10s                batch-job-controller  JobRun completed successfully
    
    Instances:
        Name          Running  Status     Restarts  Age
        myjobrun-2-0  0/1      Succeeded  0         14s
        myjobrun-3-0  0/1      Succeeded  0         14s
    
  5. 顯示 myjobrun 工作執行的日誌。 您可以顯示工作執行之所有實例的日誌,或顯示工作執行之特定實例的日誌。 此時,會顯示工作執行所有實例的日誌。 日誌會顯示 Hello my big literal secret!,這是使用具有密鑰的環境變數所指定。 請注意,對於使用 icr.io/codeengine/codeengine 映像檔定義的此工作,工作執行的輸出會列印環境變數,包括使用環境變數參照的任何密鑰值。

    ibmcloud ce jobrun logs --jobrun myjobrun
    

    輸出範例

    Getting logs for all instances of job run 'myjobrun'...
    Getting jobrun 'myjobrun'...
    Getting instances of jobrun 'myjobrun'...
    OK
    
    myjobrun-2-0/myjob:
    Hello from helloworld! I'm a batch job! Index: 2
    
    Hello My big literal secret from:
    . ___  __  ____  ____
    ./ __)/  \(    \(  __)
    ( (__(  O )) D ( ) _)
    .\___)\__/(____/(____)
    .____  __ _   ___  __  __ _  ____
    (  __)(  ( \ / __)(  )(  ( \(  __)
    .) _) /    /( (_ \ )( /    / ) _)
    (____)\_)__) \___/(__)\_)__)(____)
    
    Some Env Vars:
    --------------
    HOME=/root
    HOSTNAME=myjobrun-2-0
    JOB_INDEX=2
    KUBERNETES_PORT=tcp://172.21.0.1:443
    KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
    KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
    KUBERNETES_PORT_443_TCP_PORT=443
    KUBERNETES_PORT_443_TCP_PROTO=tcp
    KUBERNETES_SERVICE_HOST=172.21.0.1
    KUBERNETES_SERVICE_PORT=443
    KUBERNETES_SERVICE_PORT_HTTPS=443
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    PWD=/
    SHLVL=1
    TARGET=My big literal secret
    
    myjobrun-3-0/myjob:
    Hello from helloworld! I'm a batch job! Index: 3
    
    Hello My big literal secret from:
    . ___  __  ____  ____
    ./ __)/  \(    \(  __)
    ( (__(  O )) D ( ) _)
    .\___)\__/(____/(____)
    .____  __ _   ___  __  __ _  ____
    (  __)(  ( \ / __)(  )(  ( \(  __)
    .) _) /    /( (_ \ )( /    / ) _)
    (____)\_)__) \___/(__)\_)__)(____)
    
    Some Env Vars:
    --------------
    HOME=/root
    HOSTNAME=myjobrun-3-0
    JOB_INDEX=3
    KUBERNETES_PORT=tcp://172.21.0.1:443
    KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
    KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
    KUBERNETES_PORT_443_TCP_PORT=443
    KUBERNETES_PORT_443_TCP_PROTO=tcp
    KUBERNETES_SERVICE_HOST=172.21.0.1
    KUBERNETES_SERVICE_PORT=443
    KUBERNETES_SERVICE_PORT_HTTPS=443
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    PWD=/
    SHLVL=1
    TARGET=My big literal secret
    
  6. 重新提交工作執行,並指定將 myliteralsecret2 密碼用於此工作執行。

    ibmcloud ce jobrun resubmit  --jobrun myjobrun  --name myjobrunresubmit  --env-from-secret myliteralsecret2
    

    當您使用完全參照密鑰的環境變數來更新工作、應用程式或函數,以完全參照不同的密鑰時,完整參照會依其設定順序置換其他完整參照 (最後一個被參照集置換第一個集)。

  7. 使用 jobrun get 指令來顯示工作執行的詳細資料,包括工作執行的實例。 請注意,工作執行同時參照 myliteralsecretmyliteralsecret2 密鑰。

    ibmcloud ce jobrun get --name myjobrunresubmit
    

    輸出範例

    Getting jobrun 'myjobrunresubmit'...
    Getting instances of jobrun 'myjobrunresubmit'...
    Getting events of jobrun 'myjobrunresubmit'...
    [...]
    
    Name:          myjobrunresubmit
    ID:            79f01367-932b-4a76-be18-b1e68790a85b
    Project Name:  myproject
    Project ID:    841f0f38-420d-4388-b5d8-f230657d7dc6
    Age:           14s
    Created:       2021-06-15T21:15:37-04:00
    
    Job Ref:                myjob
        Environment Variables:
        Type                   Name              Value
        Secret full reference  myliteralsecret
        Secret full reference  myliteralsecret2
    Image:                  icr.io/codeengine/codeengine
        Resource Allocation:
        CPU:                1
        Ephemeral Storage:  4G
        Memory:             4G
    
    Runtime:
        Mode:                  task
        Array Indices:         2-3
        Array Size:            2
        JOP_ARRAY_SIZE Value:  2
        Max Execution Time:    7200
        Retry Limit:           3
    
    Status:
        Completed:          11s
        Instance Statuses:
            Succeeded:  2
        Conditions:
            Type      Status  Last Probe  Last Transition
            Pending   True    14s         14s
            Running   True    12s         12s
            Complete  True    11s         11s
    
    Events:
        Type    Reason     Age                Source                Messages
        Normal  Updated    13s (x4 over 16s)  batch-job-controller  Updated JobRun "myjobrunresubmit"
        Normal  Completed  13s                batch-job-controller  JobRun completed successfully
    
    Instances:
        Name                  Running  Status     Restarts  Age
        myjobrunresubmit-2-0  0/1      Succeeded  0         16s
        myjobrunresubmit-3-0  0/1      Succeeded  0         16s
    
  8. 顯示 myjobrunresubmit 工作執行實例的工作執行日誌。 此時,會顯示 myjobrunresubmit-3-0 實例的日誌。 日誌會顯示 Hello My little literal secret!,這是在 myliteralsecret2 密鑰中指定的值。 使用 jobrun get 指令來顯示工作執行的詳細資料,包括工作執行的執行中實例。

    ibmcloud ce jobrun logs --instance myjobrunresubmit-3-0
    

    輸出範例

    Getting logs for job run instance 'myjobrunresubmit-3-0'...
    OK
    
    myjobrunresubmit-3-0/myjob:
    Hello from helloworld! I'm a batch job! Index: 3
    
    Hello My little literal secret from:
    . ___  __  ____  ____
    ./ __)/  \(    \(  __)
    ( (__(  O )) D ( ) _)
    .\___)\__/(____/(____)
    .____  __ _   ___  __  __ _  ____
    (  __)(  ( \ / __)(  )(  ( \(  __)
    .) _) /    /( (_ \ )( /    / ) _)
    (____)\_)__) \___/(__)\_)__)(____)
    
    Some Env Vars:
    --------------
    HOME=/root
    HOSTNAME=myjobrunresubmit-3-0
    JOB_INDEX=3
    KUBERNETES_PORT=tcp://172.21.0.1:443
    KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
    KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
    KUBERNETES_PORT_443_TCP_PORT=443
    KUBERNETES_PORT_443_TCP_PROTO=tcp
    KUBERNETES_SERVICE_HOST=172.21.0.1
    KUBERNETES_SERVICE_PORT=443
    KUBERNETES_SERVICE_PORT_HTTPS=443
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    PWD=/
    SHLVL=1
    TARGET=My little literal secret
    
  9. 若要變更密鑰中鍵值組的值,請使用 secret update 指令。 讓我們更新 myliteralsecret 密鑰,以將 TARGET 金鑰的值從 My big literal secret 變更為 My new big literal secret

    ibmcloud ce secret update --name myliteralsecret --from-literal "TARGET=My new big literal secret"
    
  10. 若要讓新資料生效,請重新執行您的工作。 重新提交工作執行,並指定使用 myliteralsecret 密鑰來執行此工作。

ibmcloud ce jobrun resubmit  --jobrun myjobrun  --name myjobrunresubmit2 --env-from-secret myliteralsecret
  1. 顯示 myjobrunresubmit2 工作執行的日誌。 此時,工作日誌會顯示 Hello My new big literal secret!,這是已更新的 myliteralsecret 密鑰中的值。 您可以使用 jobrun get 指令來顯示工作執行的詳細資料,包括工作執行的執行中實例。 顯示工作執行的任何執行中實例的日誌。
ibmcloud ce jobrun logs --instance myjobrunresubmit2-2-0

輸出範例

Getting logs for job run instance 'myjobrunresubmit2-2-0'...
OK

myjobrunresubmit2-2-0/myjob:
Hello from helloworld! I'm a batch job! Index: 2

Hello My new big literal secret from:
. ___  __  ____  ____
./ __)/  \(    \(  __)
( (__(  O )) D ( ) _)
.\___)\__/(____/(____)
.____  __ _   ___  __  __ _  ____
(  __)(  ( \ / __)(  )(  ( \(  __)
.) _) /    /( (_ \ )( /    / ) _)
(____)\_)__) \___/(__)\_)__)(____)

Some Env Vars:
--------------
HOME=/root
HOSTNAME=myjobrunresubmit2-2-0
JOB_INDEX=2
KUBERNETES_PORT=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_HOST=172.21.0.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1
TARGET=My new big literal secret

總而言之,您已完成基本實務範例,透過參照現有完整密鑰並更新密鑰內的金鑰,來示範如何將密鑰與工作搭配使用。

參照尚未使用 CLI 定義的密鑰

如果密鑰在被參照之前不存在,則應用程式將無法順利部署,且在建立所參照的密鑰之前,工作或函數將無法順利執行。

如果您正在使用應用程式、工作或函數,且尚未定義所參照的密鑰,請使用 --force 選項來避免驗證所參照的密鑰是否存在。 --force 選項可以與下列指令搭配使用。

當您搭配使用 --force 選項與這些指令時,建立、更新或執行應用程式、工作或功能的動作即會完成。 不過,在所參照的密鑰存在之前,應用程式、工作或功能將無法順利執行。 如果您除了在指令中新增 --force 選項之外,還新增 --no-wait 選項,則系統會完成動作,且不會等待應用程式、工作或功能順利執行。

下列範例說明如何使用 CLI 來參照尚未使用工作定義的密鑰。

  1. 建立工作。 在此範例中,建立使用 icr.io/codeengine/codeengine 映像檔的 Code Engine 工作,然後執行該工作。 將要求傳送至此範例工作時,工作會讀取 TARGET 環境變數,且工作會列印 Hello ${TARGET} from Code Engine 並列印環境變數清單。 如果 TARGET 環境變數是空的,則會傳回 Hello World from Code Engine

    ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine
    
  2. 使用 jobrun submit 指令來執行 myjob 工作。 請注意,mynewliteralsecret 不存在。 搭配使用 --no-wait 選項與 jobrun submit 指令,即會提交工作執行,且不會等待此工作執行的實例完成。

    ibmcloud ce jobrun submit --name myjobrun1 --job myjob --env-from-secret mynewliteralsecret --force --no-wait
    
  3. 使用 jobrun get 指令來顯示工作執行的詳細資料,包括環境變數資訊。 請注意,工作執行處於 pending 狀態。

    ibmcloud ce jobrun get --name myjobrun1
    

    輸出範例

    Getting jobrun 'myjobrun1'...
    Getting instances of jobrun 'myjobrun1'...
    Getting events of jobrun 'myjobrun1'...
    [...]
    
    Name:          myjobrun1
    [...]
    
    Job Ref:                myjob
    Environment Variables:
        Type                   Name                Value
        Secret full reference  mynewliteralsecret
    Image:                  icr.io/codeengine/codeengine
    Resource Allocation:
        CPU:                1
        Ephemeral Storage:  400M
        Memory:             4G
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        JOP_ARRAY_SIZE Value:  1
        Max Execution Time:    7200
        Retry Limit:           3
    
    Status:
        Instance Statuses:
            Pending:  1
        Conditions:
            Type     Status  Last Probe  Last Transition
            Pending  True    100s        100s
    
    Events:
        Type    Reason   Age                   Source                Messages
        Normal  Updated  108s (x5 over 2m29s)  batch-job-controller  Updated JobRun "myjobrun1"
    
    Instances:
        Name           Running  Status   Restarts  Age
        myjobrun1-0-0  0/1      Pending  0         2m29s
    
  4. 建立該密鑰。

    ibmcloud ce secret create --name mynewliteralsecret --from-literal "TARGET=Fun secret"
    
  5. 重新執行 myjobrun1 工作執行。

    ibmcloud ce jobrun resubmit --jobrun myjobrun1 --name myjobrunresubmit1
    

    執行 ibmcloud ce jobrun get -n myjobrunresubmit1 指令,以檢查此工作執行的狀態。

  6. 顯示 myjobrunresubmit1 工作執行的日誌。 日誌會顯示 Hello Fun secret from Code Engine,以確認工作執行已參照 myliteralsecret 密鑰。

    ibmcloud ce jobrun logs --jobrun myjobrunresubmit1
    

    輸出範例

    Getting logs for all instances of job run 'myjobrunresubmit1'...
    Getting jobrun 'myjobrunresubmit1'...
    Getting instances of jobrun 'myjobrunresubmit1'...
    OK
    
    myjobrunresubmit1-0-0/myjob:
    Hello from helloworld! I'm a batch job! Index: 0
    
    Hello Fun secret from:
    . ___  __  ____  ____
    ./ __)/  \(    \(  __)
    ( (__(  O )) D ( ) _)
    .\___)\__/(____/(____)
    .____  __ _   ___  __  __ _  ____
    (  __)(  ( \ / __)(  )(  ( \(  __)
    .) _) /    /( (_ \ )( /    / ) _)
    (____)\_)__) \___/(__)\_)__)(____)
    
    Some Env Vars:
    --------------
    HOME=/root
    HOSTNAME=myjobrunresubmit1-0-0
    JOB_INDEX=0
    KUBERNETES_PORT=tcp://172.21.0.1:443
    KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
    KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
    KUBERNETES_PORT_443_TCP_PORT=443
    KUBERNETES_PORT_443_TCP_PROTO=tcp
    KUBERNETES_SERVICE_HOST=172.21.0.1
    KUBERNETES_SERVICE_PORT=443
    KUBERNETES_SERVICE_PORT_HTTPS=443
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    PWD=/
    SHLVL=1
    TARGET=Fun secret
    

如需在 CLI 中參照完整密鑰及 configmap 作為環境變數、置換參照及移除參照的更詳細實務範例,請參閱 參照密鑰及 configmap

刪除密鑰

當您不再需要某個秘密時,您可以刪除它。

從主控台刪除密鑰

  1. 若要從主控台刪除密鑰,請執行下列動作:
    1. Code Engine 專案頁面移至「密鑰及配置對映」頁面。
    2. 按一下要刪除的秘密,開啟其頁面。
    3. 從特定密鑰的頁面中,按一下 動作> 刪除密鑰
  2. 若要從主控台刪除特定密鑰的鍵值組,請執行下列動作:
    1. Code Engine 專案頁面移至「密鑰及配置對映」頁面。
    2. 按一下您要變更的秘密,開啟其頁面。
    3. 從特定密鑰的頁面中,刪除您要移除的鍵值組。

您也可以刪除參照密鑰及 configmap 的已定義環境變數。 若要刪除已定義的環境變數,請從應用程式、工作或函數的 環境變數 標籤中,並刪除您要刪除的環境變數。 刪除已定義的環境變數之後,請務必按一下 儲存,以儲存對應用程式、工作或函數所做的變更。 如需相關資訊,請參閱 刪除環境變數

使用 CLI 刪除密鑰

若要使用 CLI 刪除密鑰,請使用 secret delete 指令; 例如,

ibmcloud ce secret delete --name myliteralsecret -f

輸出範例

Deleting secret myliteralsecret...
OK

您也可以從 CLI 刪除環境變數,這些環境變數會參照密鑰及 configmap。