為金鑰加上標籤

Cloud Key Management Service 可讓您為 Cloud KMS 金鑰新增標籤。標籤為鍵/值組合,用於將相關的 Cloud KMS 金鑰分組,並儲存有關 Cloud KMS 金鑰的中繼資料。

標籤會在帳單中顯示,方便您瞭解每個標籤的成本分布情形。

您可以使用 Google Cloud CLI 與 Cloud KMS REST API 來新增、更新及移除金鑰標籤。

您可以將標籤與其他 Google Cloud 資源搭配使用,例如虛擬機器資源儲存空間值區。如要進一步瞭解如何在 Google Cloud中使用標籤,請參閱「建立及管理標籤」一文。

什麼是標籤?

標籤是一種鍵/值組合,可指派給 Google Cloud Cloud KMS 金鑰。有助於在大規模環境下整理資源,並依所需精細程度管理成本。每項資源均可加上標籤,並根據標籤篩選資源。標籤相關資訊會轉送到帳單系統,方便依照標籤詳細分析帳單費用。使用內建的帳單報表,可依資源標籤篩選成本並加以分組。 此外,亦可使用標籤查詢帳單資料匯出檔

標籤需求條件

套用於資源的標籤必須符合下列需求條件:

  • 每項資源最多可以有 64 個標籤。
  • 每個標籤都必須是鍵/值組合。
  • 鍵的長度必須至少為 1 個字元,最多 63 個字元,且不能空白。值可以空白,長度上限為 63 個字元。
  • 鍵和值只能使用小寫字母、數字字元、底線和連字號。所有字元都必須使用 UTF-8 編碼,允許國際字元。鍵的開頭必須是小寫字母或國際字元。
  • 標籤中的鍵部分不得重複,但可讓多個資源使用相同的鍵。

上述限制適用於各個標籤的鍵和值,以及帶有標籤的個別 Google Cloud 資源;但是在每項專案內,所有資源可套用的標籤總數並無上限。

標籤的常見用法

以下是一些常見的標籤用途:

  • 團隊或成本中心標籤:依據團隊或成本中心來新增標籤,藉此區別不同團隊 (例如 team:researchteam:analytics) 擁有的 Cloud KMS 金鑰。這類標籤可用於成本會計或預算編列作業。

  • 元件標籤:例如 component:rediscomponent:frontendcomponent:ingestcomponent:dashboard

  • 環境或階段標籤:例如 environment:productionenvironment:test

  • 狀態標籤:例如 state:activestate:readytodeletestate:archive

  • 擁有權標籤:用於識別各項作業的責任團隊,例如:team:shopping-cart

我們不建議建立大量的不重複標籤,例如幫時間戳記或每個 API 呼叫的個別值建立標籤。這種做法的問題在於,如果標籤值頻繁變更,或標籤鍵使目錄變得雜亂,就難以有效篩選資源並製作報表。

標籤和標記

標籤是一種註解,可用於查詢資源,但無法設定政策條件。標記則可作為判斷條件:系統可依據資源是否具備特定標記,允許或拒絕相應的政策,進而實現精細的政策控管。詳情請參閱「標記總覽」。

建立具有標籤的金鑰

建立金鑰時,您可以提供一或多個鍵/值組合做為標籤來為金鑰加上標籤。

控制台

  1. 前往 Google Cloud 控制台的「Key Management」頁面。

    前往「金鑰管理」

  2. 找出您要在哪個金鑰環中建立金鑰,然後按一下該金鑰環名稱。

  3. 按一下 [Create key] (建立金鑰)

  4. 在「金鑰名稱」中輸入金鑰名稱。

  5. 視需要設定金鑰。

  6. 按一下「其他設定」

  7. 如要新增標籤,請按一下「新增標籤」,然後輸入「鍵」和「值」

  8. 點選「建立」

gcloud

如要在指令列上使用 Cloud KMS,請先安裝或升級至最新版本的 Google Cloud CLI

這個範例說明如何建立新金鑰,並為金鑰指派標籤。您也可以為現有金鑰新增標籤。

gcloud kms keys create KEY_NAME \
    --keyring KEY_RING \
    --location LOCATION \
    --purpose PURPOSE \
    --labels "LABEL_LIST"

更改下列內容:

  • KEY_NAME:金鑰名稱。
  • KEY_RING:要在其中建立金鑰的金鑰環。
  • LOCATION:金鑰環的位置,例如 global
  • PURPOSE:金鑰的用途,例如 encryption
  • LABEL_LIST:以半形逗號分隔的鍵/值組合清單,每個組合的格式為 LABEL_KEY=LABEL_VALUE。例如:env=prod,team=research。每個標籤鍵只能在 Cloud Key Management Service 金鑰上使用一次。如果標籤鍵指定多次,但值不同,則每個新值都會覆寫先前的值。

如要瞭解所有旗標和可能的值,請執行含有 --help 旗標的指令。

C#

如要執行這段程式碼,請先設定 C# 開發環境,然後安裝 Cloud KMS C# SDK


using Google.Cloud.Kms.V1;

public class CreateKeyLabelsSample
{
    public CryptoKey CreateKeyLabels(
      string projectId = "my-project", string locationId = "us-east1", string keyRingId = "my-key-ring",
      string id = "my-asymmetric-encrypt-key")
    {
        // Create the client.
        KeyManagementServiceClient client = KeyManagementServiceClient.Create();

        // Build the parent key ring name.
        KeyRingName keyRingName = new KeyRingName(projectId, locationId, keyRingId);

        // Build the key.
        CryptoKey