本頁面說明如何建立 Secret。Secret 包含一或多個 Secret 版本,以及標籤和複製政策等中繼資料。密鑰的實際內容會儲存在密鑰版本中。
事前準備
-
設定驗證方法。
選取這個頁面上範例的預計用途分頁:
控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,您不需要設定驗證機制。
gcloud
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud initREST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」一節。
必要的角色
如要取得建立 Secret 所需的權限,請要求管理員授予您專案、資料夾或組織的 Secret Manager 管理員 (roles/secretmanager.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
建立密鑰
您可以使用 Cloud de Confiance 控制台、Google Cloud CLI、Secret Manager API 或 Secret Manager 用戶端程式庫建立 Secret。
控制台
-
前往 Cloud de Confiance 控制台的「Secret Manager」頁面。
-
在「Secret Manager」頁面中,按一下「建立密鑰」。
-
在「Create secret」(建立密鑰) 頁面的「Name」(名稱) 欄位中,輸入密鑰名稱。密鑰名稱可以包含大小寫英文字母、數字、連字號和底線,名稱長度上限為 255 個字元。
-
(選用) (預覽) 選取「密鑰類型」。您可以使用 Secret 類型來分類 Secret。
可用的全域密鑰類型如下:
- 其他資料庫憑證:適用於含有資料庫憑證的密鑰。
- 存取金鑰:適用於含有存取金鑰的密鑰。
- 憑證:適用於含有憑證的密鑰。
- 其他:不屬於其他類別的密鑰。
-
輸入密鑰的值 (例如
abcd1234)。密鑰值可以是任何格式,但不得超過 64 KiB。您也可以使用「上傳檔案」選項,上傳含有密鑰值的文字檔。這項操作會自動建立密鑰版本。 -
點選「建立密鑰」。
gcloud
使用下列任何指令資料前,請先替換以下項目:
- SECRET_ID:Secret 的 ID。
- REPLICATION_POLICY:Secret 的複製政策,可以是自動或使用者自行管理。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud secrets create SECRET_ID \ --replication-policy="REPLICATION_POLICY"
Windows (PowerShell)
gcloud secrets create SECRET_ID ` --replication-policy="REPLICATION_POLICY"
Windows (cmd.exe)
gcloud secrets create SECRET_ID ^ --replication-policy="REPLICATION_POLICY"
REST
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID: Cloud de Confiance by S3NS 專案 ID。
- SECRET_ID:Secret 的 ID。
- REPLICATION_POLICY:Secret 的複製政策,可以是自動或使用者自行管理。
HTTP 方法和網址:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID
JSON 要求內文:
{
"replication": {
"REPLICATION_POLICY": {}
}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"etag": "\"161477e6071da9\""
}
C#
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如要執行這段程式碼,請先設定 C# 開發環境,並安裝 Secret Manager C# SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Go
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如要執行這段程式碼,請先設定 Go 開發環境,並安裝 Secret Manager Go SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Java
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如要執行這段程式碼,請先設定 Java 開發環境,並安裝 Secret Manager Java SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Node.js
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Secret Manager Node.js SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
PHP
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如要執行這段程式碼,請先瞭解如何在 Google Cloud 上使用 PHP,並安裝 Secret Manager PHP SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Python
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如要執行這段程式碼,請先設定 Python 開發環境,並安裝 Secret Manager Python SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Ruby
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如要執行這段程式碼,請先設定 Ruby 開發環境,並安裝 Secret Manager Ruby SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
新增密鑰版本
Secret Manager 會使用密鑰版本,自動為密鑰資料建立版本。存取、刪除、停用和啟用等金鑰作業,會套用至特定密鑰版本。透過 Secret Manager,您可以將 Secret 與特定版本 (例如 42) 或動態別名 (例如 latest) 建立關聯。詳情請參閱「新增密鑰版本」。
存取密鑰版本
如要存取特定密鑰版本的私密資料以順利完成驗證,請參閱「存取密鑰版本」。