本頁說明如何為區域密鑰新增註解,以及如何編輯及查看這些註解。
總覽
您可以使用註解,儲存有關密鑰的自訂中繼資料。舉例來說,您可能想使用密鑰要掛接的路徑為密鑰加上註解。註解有助於:
-
根據用途、環境 (開發、暫存、實際工作環境) 或機密程度分類密鑰。方便您在 Secret Manager 中搜尋、篩選及整理密鑰。
-
指出密碼值的特定格式或結構,協助工作負載正確解讀密碼值。
-
提供有關如何使用密鑰的提示,或處理密鑰時的任何特殊考量。
舉例來說,如果您的密碼含有資料庫密碼,可以新增下列註解:
-
environment:production
-
purpose:database_access
-
owner:database_team
這些註解可協助您輕鬆識別密鑰的用途、環境,以及負責人。此外,存取這項密鑰的工作負載可以使用註解,確認自己使用的是正確的正式環境密碼。
註解與標籤不同。標籤用於排序、篩選及分組資源,而註解則用於在密鑰上儲存任意非識別的中繼資料。在標籤中指定中繼資料時,字元和字元長度會受到限制。註解中的中繼資料可以是各種規模的結構化或非結構化資料,也可以加入標籤不允許的字元。
必要的角色
-
如要在密鑰上新增註解及更新註解,您必須具備密鑰、專案、資料夾或機構的 Secret Manager 管理員角色 (
roles/secretmanager.admin
)。 -
如要查看註解,您必須擁有密鑰、專案、資料夾或機構的 Secret Manager 檢視者角色 (
roles/secretmanager.viewer
)。
您無法在密鑰版本上授予身分與存取權管理 (IAM) 角色。詳情請參閱「使用 IAM 控管存取權」。
為密鑰新增註解
建立新密鑰或更新現有密鑰時,您可以新增註解。 註解中的中繼資料會以鍵/值組合形式儲存。如要新增註解,請使用下列其中一種方法:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
在「Secret Manager」頁面中,按一下「區域性密鑰」分頁標籤,然後按一下「建立區域性密鑰」。
-
在「建立區域密鑰」頁面的「名稱」欄位中,輸入密鑰名稱。
-
輸入密鑰值 (例如
abcd1234
)。您也可以使用「上傳檔案」選項,上傳含有密鑰值的文字檔。這項動作會自動建立密鑰版本。 -
從「Region」(區域) 清單中,選取要儲存區域密鑰的位置。
-
前往「備註」部分,然後按一下「新增備註」。
-
輸入鍵和對應的值。
-
按一下「建立密鑰」。
gcloud
使用下方的任何指令資料之前,請先替換以下項目:
- SECRET_ID:密鑰的 ID 或密鑰的完整 ID
- LOCATION:密鑰的 Google Cloud 位置
- KEY:註解鍵
- VALUE:註解鍵的對應值
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud secrets create SECRET_ID --location=LOCATION \ --set-annotations=KEY1=VAL1,KEY2=VAL2
Windows (PowerShell)
gcloud secrets create SECRET_ID --location=LOCATION ` --set-annotations=KEY1=VAL1,KEY2=VAL2
Windows (cmd.exe)
gcloud secrets create SECRET_ID --location=LOCATION ^ --set-annotations=KEY1=VAL1,KEY2=VAL2
回應會包含密鑰和註解。
REST
使用任何要求資料之前,請先替換以下項目:
- LOCATION:密鑰的 Google Cloud 位置
- PROJECT_ID:專案 ID Google Cloud
- SECRET_ID:密鑰的 ID 或密鑰的完整 ID
- KEY:註解鍵
- VALUE:註解鍵的對應值
HTTP 方法和網址:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=annotations
JSON 要求主體:
{'annotations': {'KEY1': 'VALUE1', 'KEY2': 'VALUE2' }}
如要傳送要求,請選擇以下其中一個選項:
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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=annotations"
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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=annotations" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-02T07:14:00.281541Z", "etag": "\"16211dcd99c386\"", "annotations": { "key1": "value1", "key2": "value2" } }
如要為現有密鑰新增註解,請參閱本文件的「編輯註解」一節。
註解鍵必須符合下列規定:
-
密鑰不得重複。您無法在同一個密鑰中重複使用金鑰。
-
鍵的長度必須介於 1 至 63 個字元之間。
-
索引鍵的 UTF-8 編碼長度不得超過 128 個位元組。
-
金鑰開頭和結尾必須為英數字元。
-
鍵的英數字元之間可以有破折號、底線和半形句號。
-
註解鍵和值的總大小必須小於 16 KiB。
編輯註解
如要編輯註解,請使用下列其中一種做法:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
在「Secret Manager」頁面中,按一下「區域性密鑰」分頁標籤。
-
在清單中找出密鑰,然後點選與該密鑰相關的「動作」
選單。在「動作」選單中,按一下「編輯」。 -
在「Edit secret」(編輯密鑰) 頁面,前往「Annotations」(註解) 區段。您可以在這裡變更現有註解的值、刪除註解或新增註解。
-
完成變更後,按一下「更新密鑰」。
gcloud
編輯現有註解
使用下方的任何指令資料之前,請先替換以下項目:
- SECRET_ID:密鑰的 ID 或密鑰的完整 ID
- LOCATION:密鑰的 Google Cloud 位置
- KEY:註解鍵
- VALUE:註解鍵的對應值
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION --update-annotations= KEY=VAL
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION --update-annotations= KEY=VAL
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION --update-annotations= KEY=VAL
回應會編輯密鑰和註解。
移除特定註解
如要移除註解,請使用下列指令:
gcloud secrets update SECRET_ID --location=LOCATION --remove-annotations= KEY=VAL
清除所有註解
如要清除所有註解,請使用下列指令:
gcloud secrets update SECRET_ID --location=LOCATION --clear-annotations
REST
如要清除所有註解,請使用下列指令:
使用任何要求資料之前,請先替換以下項目:
- LOCATION:密鑰的 Google Cloud 位置
- PROJECT_ID:專案 ID Google Cloud
- SECRET_ID:密鑰的 ID 或密鑰的完整 ID
HTTP 方法和網址:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=annotations
JSON 要求主體:
{'annotations': {}}
如要傳送要求,請選擇以下其中一個選項:
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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=annotations"
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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=annotations" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-02T07:14:00.281541Z", "etag": "\"16211dd90b37e7\"" }
查看註解
如要查看附加至密鑰的註解,請使用下列其中一種方法:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
在「Secret Manager」頁面中,按一下「區域密鑰」分頁標籤,然後按一下要查看註解的密鑰。
-
系統會開啟密鑰詳細資料頁面。按一下「總覽」分頁標籤。 您可以在這裡查看附加至密鑰的註解。鍵會列在左欄,值則會顯示在右欄。
gcloud
使用下方的任何指令資料之前,請先替換以下項目:
- SECRET_ID:密鑰的 ID 或密鑰的完整 ID
- LOCATION:密鑰的 Google Cloud 位置
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud secrets describe SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets describe SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets describe SECRET_ID --location=LOCATION
回應會包含密鑰和註解。
REST
使用任何要求資料之前,請先替換以下項目:
- LOCATION:密鑰的 Google Cloud 位置
- PROJECT_ID:專案 ID Google Cloud
- SECRET_ID:密鑰的 ID 或密鑰的完整 ID
HTTP 方法和網址:
GET https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/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.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-02T07:14:00.281541Z", "etag": "\"16211dcd99c386\"", "annotations": { "key1": "value1", "key2": "value2" } }