本頁面提供標籤總覽,說明如何為密鑰新增標籤,以及如何查看及更新附加至密鑰的標籤。
什麼是標籤?
標籤是可指派給 Google Cloud Secret Manager 密鑰的鍵/值組合。有助於在大規模環境下整理資源,並依所需精細程度管理成本。每項資源均可加上標籤,並根據標籤篩選資源。標籤相關資訊會轉送到帳單系統,方便依照標籤詳細分析帳單費用。使用內建的帳單報表,可依資源標籤篩選成本並加以分組。此外,亦可使用標籤查詢帳單資料匯出檔。
標籤需求條件
套用於資源的標籤必須符合下列需求條件:
- 每項資源最多可以有 64 個標籤。
- 每個標籤都必須是鍵/值組合。
- 鍵的長度必須至少為 1 個字元,最多 63 個字元,且不能空白。值可以空白,長度上限為 63 個字元。
- 鍵和值只能使用小寫字母、數字字元、底線和連字號。所有字元都必須使用 UTF-8 編碼,允許國際字元。鍵的開頭必須是小寫字母或國際字元。
- 標籤中的鍵部分不得重複,但可讓多個資源使用相同的鍵。
上述限制適用於各個標籤的鍵和值,以及帶有標籤的個別 Google Cloud 資源;但是在每項專案內,所有資源可套用的標籤總數並無上限。
標籤的常見用法
以下是一些常見的標籤用途:
團隊或成本中心標籤:依據團隊或成本中心來新增標籤,藉此區別不同團隊 (例如
team:research和team:analytics) 擁有的 Secret Manager 密鑰。這類型的標籤可用於成本會計或預算編列作業。元件標籤:例如
component:redis、component:frontend、component:ingest和component:dashboard。環境或階段標籤:例如
environment:production和environment:test。狀態標籤:例如
state:active、state:readytodelete和state:archive。擁有權標籤:用於識別各項作業的責任團隊,例如:
team:shopping-cart。
我們不建議建立大量的不重複標籤,例如幫時間戳記或每個 API 呼叫的個別值建立標籤。這種做法的問題在於,如果標籤值頻繁變更,或標籤鍵使目錄變得雜亂,就難以有效篩選資源並製作報表。
標籤和標記
標籤是一種註解,可用於查詢資源,但無法設定政策條件。標記則可作為判斷條件:系統可依據資源是否具備特定標記,允許或拒絕相應的政策,進而實現精細的政策控管。詳情請參閱「標記總覽」。
建立含有標籤的密鑰
如要在建立密鑰時新增標籤,請按照下列步驟操作:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
在「Secret Manager」(密鑰管理工具) 頁面中,按一下「Create secret」(建立密鑰)。
-
在「建立密鑰」頁面的「名稱」欄位中,輸入密鑰名稱。
-
輸入密鑰值 (例如
abcd1234)。您也可以使用「上傳檔案」選項,上傳含有密鑰值的文字檔。這項動作會自動建立密鑰版本。 -
前往「標籤」部分,然後按一下「新增標籤」。
-
輸入鍵和對應的值,即可建立標籤。
-
按一下「建立密鑰」。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
- SECRET_ID:密鑰 ID。
- KEY:標籤的鍵。
- VALUE:標籤的值。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud secrets create SECRET_ID --labels=KEY=VALUE
Windows (PowerShell)
gcloud secrets create SECRET_ID --labels=KEY=VALUE
Windows (cmd.exe)
gcloud secrets create SECRET_ID --labels=KEY=VALUE
REST
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID: Google Cloud 專案 ID。
- SECRET_ID:密鑰 ID。
- KEY:標籤的鍵。
- VALUE:標籤的值。
HTTP 方法和網址:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels
JSON 要求內文:
{
"labels": {
"KEY": "VALUE"
}
}
如要傳送要求,請選擇以下其中一個選項:
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?update_mask=labels"
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?update_mask=labels" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"labels": {
"key": "value"
},
"etag": "\"161477e6071da9\""
}
C#
如要執行這段程式碼,請先設定 C# 開發環境,並安裝 Secret Manager C# SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Go
如要執行這段程式碼,請先設定 Go 開發環境,並安裝 Secret Manager Go SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Java
如要執行這段程式碼,請先設定 Java 開發環境,並安裝 Secret Manager Java SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Node.js
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Secret Manager Node.js SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
PHP
如要執行這段程式碼,請先瞭解如何在 Google Cloud 上使用 PHP,並安裝 Secret Manager PHP SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Secret Manager Python SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Ruby
如要執行這段程式碼,請先設定 Ruby 開發環境,然後安裝 Secret Manager Ruby SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
查看密鑰的標籤
如要查看已指派的標籤,請按照下列步驟操作:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
在「Secret Manager」頁面中,選取要查看標籤的密鑰。
-
如果「資訊面板」已關閉,請按一下「顯示資訊面板」。
-
在面板中,按一下「標籤」分頁標籤。系統會顯示新增至密鑰的所有標籤。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
- SECRET_ID:密鑰 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud secrets describe SECRET_ID
Windows (PowerShell)
gcloud secrets describe SECRET_ID
Windows (cmd.exe)
gcloud secrets describe SECRET_ID
REST
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID: Google Cloud 專案 ID。
- SECRET_ID:密鑰 ID。
HTTP 方法和網址:
GET https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID
JSON 要求內文:
{}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X GET \
-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 GET `
-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",
"labels": {
"key": "value"
},
"etag": "\"161477e6071da9\""
}
C#
如要執行這段程式碼,請先設定 C# 開發環境,並安裝 Secret Manager C# SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Go
如要執行這段程式碼,請先設定 Go 開發環境,並安裝 Secret Manager Go SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Java
如要執行這段程式碼,請先設定 Java 開發環境,並安裝 Secret Manager Java SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Node.js
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Secret Manager Node.js SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
PHP
如要執行這段程式碼,請先瞭解如何在 Google Cloud 上使用 PHP,並安裝 Secret Manager PHP SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Secret Manager Python SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Ruby
如要執行這段程式碼,請先設定 Ruby 開發環境,然後安裝 Secret Manager Ruby SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
更新標籤
如要更新標籤,請按照下列步驟操作:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
選取要編輯的密鑰。
-
開啟「資訊面板」,然後按一下「標籤」分頁標籤。
-
更新現有標籤的值,然後按一下「儲存」。
你也可以刪除現有標籤或新增標籤。如要編輯標籤的鍵,請新增具有相同鍵名稱的新標籤,然後刪除舊標籤。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
- SECRET_ID:密鑰 ID。
- KEY:標籤的鍵。
- VALUE:標籤的值。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud secrets update SECRET_ID --update-labels=KEY=VALUE
Windows (PowerShell)
gcloud secrets update SECRET_ID --update-labels=KEY=VALUE
Windows (cmd.exe)
gcloud secrets update SECRET_ID --update-labels=KEY=VALUE
REST
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID: Google Cloud 專案 ID。
- SECRET_ID:密鑰 ID。
- KEY:標籤的鍵。
- VALUE:標籤的值。
HTTP 方法和網址:
PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels
JSON 要求內文:
{
"labels": {
"KEY": "VALUE"
}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X PATCH \
-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?update_mask=labels"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"labels": {
"key": "value"
},
"etag": "\"161477e6071da9\""
}
C#
如要執行這段程式碼,請先設定 C# 開發環境,並安裝 Secret Manager C# SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Go
如要執行這段程式碼,請先設定 Go 開發環境,並安裝 Secret Manager Go SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Java
如要執行這段程式碼,請先設定 Java 開發環境,並安裝 Secret Manager Java SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Node.js
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Secret Manager Node.js SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
PHP
如要執行這段程式碼,請先瞭解如何在 Google Cloud 上使用 PHP,並安裝 Secret Manager PHP SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Secret Manager Python SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Ruby
如要執行這段程式碼,請先設定 Ruby 開發環境,然後安裝 Secret Manager Ruby SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
移除標籤
如要移除標籤,請按照下列步驟操作:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
選取要編輯的密鑰。
-
開啟「資訊面板」,然後按一下「標籤」分頁標籤。
-
按一下「刪除」 即可移除不再需要的標籤。
-
按一下 [儲存]。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
- SECRET_ID:密鑰 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud secrets update SECRET_ID --clear-labels
Windows (PowerShell)
gcloud secrets update SECRET_ID --clear-labels
Windows (cmd.exe)
gcloud secrets update SECRET_ID --clear-labels
REST
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID: Google Cloud 專案 ID。
- SECRET_ID:密鑰 ID。
HTTP 方法和網址:
PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels
JSON 要求內文:
{
"labels": {}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X PATCH \
-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?update_mask=labels"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID?update_mask=labels" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID",
"createTime": "2024-03-25T08:24:13.153705Z",
"etag": "\"161477e6071da9\"",
"labels": {}
}
Go
如要執行這段程式碼,請先設定 Go 開發環境,並安裝 Secret Manager Go SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Java
如要執行這段程式碼,請先設定 Java 開發環境,並安裝 Secret Manager Java SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Node.js
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Secret Manager Node.js SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
PHP
如要執行這段程式碼,請先瞭解如何在 Google Cloud 上使用 PHP,並安裝 Secret Manager PHP SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Secret Manager Python SDK。在 Compute Engine 或 GKE 上,您必須使用 cloud-platform 範圍進行驗證。