瞭解如何使用 Cloud Code 的 Secret Manager 的整合功能來建立及管理密鑰。
如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」:
事前準備
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
在 Cloud Code 狀態列中,按一下目前專案名稱。
在隨即顯示的「Quick Pick」選單中,依序選取「New Application」和「Cloud Run Application」。
在 Cloud Run 範例清單中,選取「Python (Flask): Cloud Run」(Python (Flask):Cloud Run)。
選取範例要使用的資料夾,然後按一下「Create New Application」(建立新應用程式)。
- 按一下「Secret Manager」
,稍待片刻讓系統載入。 - 如果系統提示您授權 Cloud Shell 發出 Google Cloud API 呼叫,請按一下「Authorize」(授權)。
- 按一下「新增」
「建立機密金鑰」。 - 如果出現提示訊息,請從下拉式選取器中選取您的 Google Cloud 專案。
- 如果出現提示訊息,請啟用 Secret Manager API。
在畫面上顯示的「Secret Manager - Create Secret」(Secret Manager - 建立密鑰) 分頁,於「Name」(名稱)欄位中輸入下列內容:
my-secret
在「Secret Value」(密鑰值) 欄位中輸入以下內容:
Hello secret!
按一下「Create Secret」(建立密鑰),系統就會顯示密鑰建立成功的訊息。
開啟「Cloud API」
檢視畫面,然後選取「Secret Manager API」 。 系統便會開啟標題為「Secret Manager API」的 Google Cloud API 詳細資料分頁。
在「Install Client Library」專區中,依序點選「Python」分頁標籤和 play_arrow「Run in terminal」。系統便會安裝
google-cloud-secret-manager
用戶端程式庫。開啟
requirements.txt ,並在檔案底部新增以下這行內容:google-cloud-secret-manager==VERSION_NUMBER
在上個步驟執行安裝作業後,版本號碼就會出現在控制台中。舉例來說,控制台可能會顯示:
Successfully installed google-cloud-secret-manager-2.23.1
系統會自動儲存您的變更。
如要取得最新的密鑰值,請開啟
app.py ,然後複製以下函式並貼到hello 函式後 :def access_secret_version(secret_version_id): """Return the value of a secret's version""" from google.cloud import secretmanager # Create the Secret Manager client. client = secretmanager.SecretManagerServiceClient() # Access the secret version. response = client.access_secret_version(name=secret_version_id) # Return the decoded payload. return response.payload.data.decode('UTF-8')
如要呼叫
access_secret_version
函式,請將訊息變數 替換為以下內容:message = access_secret_version("<SECRET_VERSION_ID>")
如果「Secret Manager - Create Secret」(Secret Manager - 建立密鑰) 分頁還在開啟的狀態,請file_copy 複製 ID。
如要隨時取得密鑰版本的 ID,請前往「Secret Manager」
> [SECRET_NAME] >「Versions」(版本),將滑鼠游標懸停在您的版本上,然後按一下 「Copy resource ID」(複製資源 ID)。 如要新增版本 ID,請將預留位置
改成您複製的版本 ID。<SECRET_VERSION_ID>
- 從狀態列啟動
「Cloud Code」 選單。 - 如要建構服務並將其部署至模擬器,請選取「Run on Cloud Run Emulator」(透過 Cloud Run 模擬器執行)
。 - 在隨即顯示的「Run/Debug on Cloud Run Emulator」分頁中,按一下「Run」。
首次執行設定時,這項程序最多可能需要 5 分鐘才能完成。
「Output」(輸出內容) 面板會顯示應用程式的建構和部署進度。應用程式建構完成後,請按一下
「Output」(輸出內容) 面板中顯示的 localhost 連結,即可啟動應用程式。您的秘密值會顯示在成功圖片下方。- 按一下「Secret Manager」
檢視畫面。 - 點選密鑰,將其展開。
- 在「Versions」(版本) 資料夾中,找出您要查看值的編號版本,在該版本上按一下滑鼠右鍵,然後選取「Show Version Value」(顯示版本值)。
- 按一下「Secret Manager」
檢視畫面。 - 在密鑰名稱上按一下滑鼠右鍵,然後選取「Create Secret Version」(建立密鑰版本)。
- 在畫面上顯示的「Secret Manager - Create Secret」(Secret Manager - 建立密鑰) 分頁中輸入新的值,然後點選「Create Version」(建立版本)。
- 「Secret Manager - Create Secret」(Secret Manager - 建立密鑰) 分頁開啟後,按一下「Copy」(複製) 來複製 ID。file_copy
- 如要新增新版本 ID,請在
app.py 中顯示為訊息變數的目前版本改成您複製的新版本 ID。 - 按一下
「Cloud Code」,然後展開「Secret Manager」部分。
- 點選密鑰,將其展開。
- 在「Versions」資料夾下方,在要停用的編號版本上按一下滑鼠右鍵。
- 選取「Disable Version」(停用版本)。
- 按一下
「Cloud Code」,然後展開「Secret Manager」部分。
- 點選密鑰,將其展開。
- 在「Versions」資料夾下方,在要刪除的版本上按一下滑鼠右鍵。
- 選取「Destroy Version」。
- 按一下
「Cloud Code」,然後展開「Kubernetes」部分。
- 將游標懸停在叢集名稱上,然後按一下「open_in_new」open_in_new。
- 按一下「Delete」(刪除),然後點選「Delete」(刪除)。
前往 Google Cloud 控制台的「Projects」(專案) 頁面:
選取您為本快速入門導覽課程建立的專案,然後按一下「Delete」。
輸入專案 ID 以確認,然後按一下「Shut down」。
接著,系統就會關閉專案並排定刪除時間。
建立 Cloud Run 服務
使用 Cloud Shell 編輯器做為建立 Cloud Run 服務和密鑰的環境。這個編輯器已預先載入雲端開發作業所需的工具。
如要建構服務,請按照下列指示操作:
Cloud Shell 編輯器在新的工作區中載入服務之後,請在
建立密鑰
Secret Manager 可讓您以二進位 blob 或文字字串的形式安全地儲存、管理及存取密鑰。此外,這項工具還會管理您的密鑰,也就是說,您不必處理虛擬機器或運作中的服務。
如要使用 Cloud Code 的 Secret Manager 整合功能建立密鑰,請按照下列步驟操作:
將密鑰新增至程式碼
密鑰適用於儲存設定資訊,例如資料庫密碼、API 金鑰或應用程式在執行階段所需的 TLS 憑證。
如要將密鑰新增至程式碼,請按照下列步驟操作:
透過 Cloud Run 模擬器執行
如要測試新密鑰,請透過 Cloud Run 模擬器在本機上執行 Cloud Run 服務。
查看及建立新的密鑰版本
Cloud Code 的「Secret Manager」檢視畫面不僅可讓您快速查看專案的密鑰,還提供管理這些密鑰的動作選項。
查看特定密鑰版本的值
請注意,密鑰版本無法編輯。如要更新密鑰的值,您必須建立新的「版本」。
建立新的密鑰版本
密鑰的值會儲存在密鑰版本中,而密鑰可以有多個版本。在密鑰有所變動的情況下,這項功能便可派上用場。密鑰可透過新版本更新,這表示您不必更新程式碼。
latest
。
查看及管理密鑰
停用密鑰版本
根據預設,密鑰版本建立後會啟用,這表示密鑰可以存取。密鑰停用後即無法存取,但您隨時可以恢復密鑰的存取權。
如要停用密鑰版本,請按照下列步驟操作:
刪除密鑰版本
密鑰版本刪除後即無法存取,而且這項操作無法復原。
正在清除所用資源
如要只刪除您為本快速入門建立的叢集:
如要刪除專案 (以及相關聯的資源,包括任何叢集),請按照下列步驟操作: