本文說明如何使用標記管理 Cloud Logging 記錄值區。標記是在機構或專案層級建立,可讓您為資源加上註解。您也可以根據資源是否具備特定標記,有條件地授予 Identity and Access Management (IAM) 角色,或有條件地拒絕 IAM 權限。如需標記相關資訊,請參閱「標記總覽」。
舉例來說,如果您使用 BigQuery 分析 Cloud Billing 資料,則可將 project:production
標記附加至儲存生產資源記錄資料的記錄檔 bucket,並將 project:development
標記附加至儲存開發資源記錄資料的記錄檔 bucket。接著,您就可以使用標記查詢 Cloud Billing 資料,並查看開發和生產環境的費用明細。
標記可明確附加至記錄儲存區,或從上層機構、資料夾和專案沿用。
事前準備
如要開始使用標記管理記錄值區,請按照下列步驟操作:
- 確認您已建立代碼並設定值。您可以使用資源管理工具管理標記定義。如要瞭解如何建立及管理標記,請參閱「建立及管理標記」。
-
如要取得必要權限,以便使用標記管理記錄檔儲存空間,請要求管理員在專案或機構中授予下列 IAM 角色:
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備使用標記管理記錄檔儲存空間所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要使用標記管理記錄檔 bucket,您必須具備下列權限:
-
為記錄檔 bucket 新增或移除標記:
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
resourcemanager.projects.get
-
logging.buckets.createTagbinding
-
logging.buckets.deleteTagBinding
-
-
查看附加至記錄檔儲存空間的標記:
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
logging.buckets.listTagBindings
-
logging.buckets.listEffectiveTags
-
-
為記錄檔 bucket 新增或移除標記:
-
如要取得管理記錄儲存區所需的權限,請要求管理員為您授予專案的記錄設定寫入者 (
roles/logging.configWriter
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色具備
logging.buckets.list
權限,這是管理記錄儲存區的必要權限。
將標記附加至記錄檔 bucket
如要將標記附加至記錄值區,請按照下列步驟操作:
Google Cloud 控制台
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要附加標記的記錄檔值區。
在記錄值區中,按一下「更多」圖示 more_vert,然後按一下「編輯標記」。
在對話方塊的「直接代碼」部分,選取代碼建立所在的資源,找出該代碼。舉例來說,如要使用在專案層級建立的標記,請選擇「選取目前專案」做為範圍。
您也可以選取「手動輸入」選項,手動搜尋專案、機構或標記 ID。
選取適當的鍵/值組合,然後按一下「儲存」。
系統會顯示對話方塊,確認變更。按一下「確認」,完成變更。
gcloud
如要將標記附加至記錄儲存空間,請執行 gcloud resource-manager tags bindings create
指令,建立標記繫結:
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE_ID \ --parent=BUCKET_NAME \ --location=LOCATION
在上述指令中,請進行下列替換:
TAG_VALUE_ID:標記值的永久 ID 或命名空間名稱。例如,
tagValues/4567890123
。如要進一步瞭解標記 ID,請參閱「標記定義和 ID」。BUCKET_NAME:記錄值區的名稱。例如:
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
。LOCATION:記錄值區的位置。
API
如要將標記附加至記錄檔儲存空間,請使用 tagBindings.create
方法。
Terraform
如要使用 Terraform 將標記附加至記錄值區,請執行下列其中一項操作:
- 如要為
global
位置的記錄檔 bucket 建立標記繫結資源,請使用google_tags_tag_binding
- 如果是區域記錄檔 bucket,請使用
google_tags_location_tag_binding
建立標記繫結資源。
然後執行 terraform apply
來套用變更。
查看附加至記錄值區的標記
如要查看附加至記錄水桶的標記,請按照下列步驟操作:
Google Cloud 控制台
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要查看標籤的記錄值區。
「標記」欄會列出與記錄檔值區相關聯的標記。如要查看與記錄檔儲存空間相關聯的所有標記,請按一下「更多」arrow_drop_down按鈕,展開標記清單。
gcloud
執行 gcloud resource-manager tags bindings list
指令:
gcloud resource-manager tags bindings list \ --parent=BUCKET_NAME \ --location=LOCATION
在上述指令中,請進行下列替換:
BUCKET_NAME:記錄值區的名稱。例如:
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
。LOCATION:記錄值區的位置。
選用:如要查看記錄儲存空間繼承的標記,請新增 --effective
旗標。新增這個旗標後,系統會傳回類似下列內容的回應:
namespacedTagKey: 961309089256/environment namespacedTagValue: 961309089256/environment/production tagKey: tagKeys/417628178507 tagValue: tagValues/247197504380 inherited: true
如果所有標記都明確附加至記錄檔儲存空間,且沒有任何標記是繼承而來,則 inherited
欄位為 false,且會省略。
API
如要取得 bucket 的標記繫結清單,請使用 tagBindings.list
方法。
Terraform
您可以使用 Terraform 將標記附加至記錄 bucket。不過,您無法使用 Terraform 列出標記。
移除記錄 bucket 的標記
如要移除附加至記錄檔儲存空間的標記,必須刪除附加至記錄檔儲存空間的標記繫結。如要刪除標記,您必須先從所有附加資源中移除標記。
Google Cloud 控制台
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要移除標記的記錄值區。
在記錄值區中,按一下「更多」圖示 more_vert,然後按一下「編輯標記」。
在對話方塊中,將指標懸停在要移除的標記上,然後按一下
「刪除項目」。按一下「儲存」以儲存變更。系統會顯示對話方塊,確認變更。按一下「確認」,完成變更。
gcloud
執行 gcloud resource-manager tags bindings delete
指令:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE_ID \ --parent=BUCKET_NAME \ --location=LOCATION
在上述指令中,請進行下列替換:
TAG_VALUE_ID:標記值的永久 ID 或命名空間限定名稱。 例如,
tagValues/4567890123
。如要進一步瞭解標記 ID,請參閱「標記定義和 ID」。BUCKET_NAME:記錄值區的名稱。例如:
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
。LOCATION:記錄值區的位置。
API
如要移除記錄儲存區的標記,請使用 tagBindings.delete
方法。
Terraform
如要使用 Terraform 移除記錄檔儲存空間的標記,請刪除設定中的標記繫結資源,然後執行 terraform apply
來套用變更。
限制
您無法使用 IAM 角色授權,控管主體在 Google Cloud 專案中列出記錄值區時,可查看哪些記錄值區。校長會看到完整清單或空白清單。不過,您可以使用 IAM 角色授權和 IAM 條件,限制主體可在記錄值區執行的動作。舉例來說,您可以限制主體是否可刪除特定記錄值區。
如果您使用 Cloud Billing 資料匯出功能搭配 BigQuery,標記可能需要最多一小時才會匯出。如果標記是在一小時內新增或移除,或是記錄儲存空間存在時間不到一小時,則可能不會顯示在匯出檔案中。
自訂角色和角色授權 (附有 IAM 條件)
如果您打算使用自訂 IAM 角色,並將 IAM 條件附加至角色授權,則可能需要建立多個自訂角色。如果角色授權附加了 IAM 條件,部分 IAM 權限就會失效。
如果是 Cloud Logging,當角色授權包含 IAM 條件時,下列 IAM 權限會失效:
logging.buckets.list
logging.buckets.create
因此,您可能需要建立一個具有 list
和 create
權限的角色,以及另一個包含其他特定儲存空間權限的角色。舉例來說,您可以建立包含 logging.buckets.delete
和 logging.buckets.update
權限的角色。
授予包含 list
和 create
權限的角色時,請勿將 IAM 條件附加至角色授權。授予含有 delete
和 update
權限的角色後,您可以新增 IAM 條件,將授權限制為具有特定標記的資源。
後續步驟
瞭解如何使用標記設定機構政策。
如要瞭解如何在 Cloud Billing 資料匯出中使用標記,請參閱 Cloud Billing 資料匯出說明文件。