標記存放區

您可以使用標籤,在機構內將存放區和其他資源分組,以便進行報表、稽核和存取權控管。 Google Cloud Google Cloud

如要在 Artifact Registry 中將存放區分組,以利自動化和計費,請使用標籤。標記和標籤各自獨立運作,您可以將兩者套用至相同存放區。如要進一步瞭解標記和標籤之間的差異,請參閱「標記和標籤」。

什麼是代碼?

標記是可以套用至資源的鍵/值組合,用於精細控管存取權。

專案管理員會在機構層級為 Google Cloud 的資源建立標記,並在 Resource Manager 中管理這些標記。將標籤附加至 Artifact Registry 存放區後,您可以使用 IAM 條件搭配標籤,授予存放區的條件式存取權。您無法將標記附加至個別構件。

請注意下列限制:

  • 機構政策可以有條件地參照從父項專案和更上層繼承的標記,但不支援直接附加至存放區的標記。

  • 系統不會針對存放區附加標記和查看標記繫結產生 Cloud 稽核記錄

如要進一步瞭解標記和使用標記的條件式存取權控管,請參閱「標記和存取權控管」一文。

所需權限

如要取得管理標記所需的權限,請管理員授予下列 IAM 角色:

  • 標記檢視者 (roles/resourcemanager.tagViewer) 標記附加的資源
  • 在機構層級查看及管理標記: 機構檢視者 (roles/resourcemanager.organizationViewer) 機構
  • 建立、更新及刪除代碼定義: 您要建立、更新或刪除代碼的資源必須具備代碼管理員 (roles/resourcemanager.tagAdmin) 權限
  • 在資源中附加及移除標記: 標記使用者 (roles/resourcemanager.tagUser) 在標記值和要附加/移除標記值的資源上

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

將標記附加至存放區

專案管理員建立標記後,您就可以將標記附加至存放區。每個標記都有鍵和值。將值繫結至存放區,即可標記存放區。

如要將標記附加至存放區,請按照下列步驟操作:

主控台

  1. 向管理員索取要附加的標記值。

    您可以附加其中一種識別碼類型的標記值:

    • 命名空間名稱,例如 123456789012/env/dev
    • 永久 ID,例如 tagValues/567890123456
  2. 在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。

    開啟「Repositories」(存放區) 頁面

  3. 選取要標記的存放區。

  4. 在「存放區詳細資料」部分,按一下「顯示更多」

    系統會顯示存放區的現有標記,包括繼承的標記。

  5. 按一下「編輯標記」編輯圖示。

  6. 在「直接代碼」部分,按一下「選取範圍」

  7. 選取存放區專案。

  8. 在「鍵」欄位中輸入內容來篩選標記清單,然後選取標記鍵。

  9. 在「值」欄位中輸入內容,篩選標記清單,然後選取標記值。

  10. 按一下 [儲存]

  11. 按一下「確認」。

    標記已附加至存放區。

gcloud CLI

  1. 向管理員索取要附加的標記值。

    您可以附加其中一種識別碼類型的標記值:

    • 命名空間名稱,例如 123456789012/env/dev
    • 永久 ID,例如 tagValues/567890123456
  2. 使用下列指令附加標記值:

    gcloud resource-manager tags bindings create \
        --tag-value=TAG_VALUE \
        --parent=REPOSITORY_ID \
        --location=LOCATION
    

    替換下列值:

    • TAG_VALUE 是要附加的標記值永久 ID 或命名空間限定名稱。

    • REPOSITORY_ID 是存放區的完整 ID,包括用於識別資源類型的 API 網域名稱 (//artifactregistry.googleapis.com/)。例如://artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo

    • LOCATION 是存放區的位置

    請見如下範例:

    • 標記值:815471563813/env/dev
    • 專案:my-project
    • 存放區:my-repo
    • 存放區位置:us-east1

    下列 gcloud CLI 指令會將標記附加至存放區:

    gcloud resource-manager tags bindings create \
        --tag-value=815471563813/env/dev \
        --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
        --location=us-east1
    

列出附加至存放區的標記

您可以列出附加至您有權存取資源的標記。

主控台

  1. 在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。

    開啟「Repositories」(存放區) 頁面

  2. 選取要查看的存放區。

  3. 在「存放區詳細資料」部分,按一下「顯示更多」

    「標記」清單會顯示所有存放區標記,包括直接標記,以及資源階層中較高層級的繼承標記。

gcloud CLI

如要列出附加至存放區的標記,請執行下列指令:

gcloud resource-manager tags bindings list \
        --parent=REPOSITORY_ID \
        --location=LOCATION

這項指令只會列出直接附加至指定資源的標記,因此不會傳回從上層專案或更上層繼承的標記。如要列出從上層專案沿用的標記,請指定專案,而非使用 --parent 旗標的存放區。

舉例來說,下列指令會列出專案 my-project 和位置 us-east1 中,附加至存放區 my-repo 的標記:

gcloud resource-manager tags bindings list \
    --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
    --location=us-east1

這個指令會列出附加至專案編號 7890123456 的標記:

gcloud resource-manager tags bindings list \
    --parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \

從存放區卸離標記

您可以卸離直接附加至存放區的標記。如要移除從父項專案或資源階層其他部分繼承的標記,專案管理員必須從標記附加的資源分離標記。

如要移除附加至存放區的標記,請按照下列步驟操作:

主控台

  1. 取得要移除的標記值。如果您不知道標記值,請列出附加至存放區的標記。

  2. 在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。

    開啟「Repositories」(存放區) 頁面

  3. 選取存放區。

  4. 在「存放區詳細資料」部分,按一下「顯示更多」

    系統會顯示存放區的現有標記,包括繼承的標記。

  5. 按一下「編輯標記」編輯圖示。

  6. 在「直接標記」部分中,找出要移除的標記。

  7. 找出要移除的標記,然後按一下旁邊的「刪除」 圖示。

  8. 按一下 [儲存]

  9. 按一下「確認」。

    標記會從存放區中移除。

gcloud CLI

  1. 取得要移除的標記值。如果您不知道標記值,請列出附加至存放區的標記。

  2. 使用下列指令卸離標記值:

    gcloud resource-manager tags bindings delete \
        --tag-value=TAG_VALUE \
        --parent=REPOSITORY_ID \
        --location=LOCATION
    

    替換下列值:

    • 要卸離的 TAG_VALUE 標記值。

    • REPOSITORY_ID 是存放區的完整 ID,包括用於識別資源類型的 API 網域名稱 (//artifactregistry.googleapis.com/)。例如://artifactregistry.googleapis.com/projects/my-project/my-repo

    • LOCATION 是存放區的位置

    請見如下範例:

    • 標記值:815471563813/env/dev
    • 專案:my-project
    • 存放區:my-repo
    • 存放區位置:us-east1

    下列 gcloud CLI 指令會從存放區卸離標記:

    gcloud resource-manager tags bindings delete \
        --tag-value=815471563813/env/dev \
        --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
        --location=us-east1
    

後續步驟