本文說明如何使用標記管理 Cloud Logging 記錄 bucket。標記是在機構或專案層級建立,可讓您為資源加上註解。您也可以根據資源是否具備特定標記,有條件地授予身分與存取權管理 (IAM) 角色,或有條件地拒絕 IAM 權限。如需標記相關資訊,請參閱「標記總覽」。
舉例來說,如果您使用 BigQuery 分析 Cloud Billing 資料,則可將 project:production 標記附加至儲存生產資源記錄資料的記錄檔 bucket,並將 project:development 標記附加至儲存開發資源記錄資料的記錄檔 bucket。接著,您就可以使用標記查詢 Cloud Billing 資料,並查看開發和生產環境的費用明細。
標記可明確附加至記錄儲存區,或從上層機構、資料夾和專案沿用。
事前準備
如要開始使用標記管理記錄值區,請按照下列步驟操作:
- 確認您已建立代碼並設定值。您可以使用資源管理工具管理標記定義。如要瞭解如何建立及管理代碼,請參閱「建立及管理代碼」。
-
如要取得使用標記管理記錄檔 bucket 的權限,請要求管理員在專案或機構中授予下列 IAM 角色:
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備使用標記管理記錄檔儲存空間所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要使用標記管理記錄檔 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) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。這個預先定義的角色具備
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:記錄檔 bucket 的名稱。例如:
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID。LOCATION:記錄值區的位置。
API
如要將標記附加至記錄水桶,請使用 tagBindings.create 方法。
Terraform
如要使用 Terraform 將標記附加至記錄檔 bucket,請執行下列其中一項操作:
- 如要為
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:記錄檔 bucket 的名稱。例如:
//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:記錄檔 bucket 的名稱。例如:
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID。LOCATION:記錄值區的位置。
API
如要移除記錄 Bucket 的標記,請使用 tagBindings.delete 方法。
Terraform
如要使用 Terraform 移除記錄 bucket 的標記,請刪除設定中的標記繫結資源,然後執行 terraform apply 來套用變更。
限制
您無法使用 IAM 角色授權,控管主體在 Google Cloud 專案中列出記錄值區時,可查看哪些記錄值區。校長會看到完整清單或空白清單。不過,您可以使用 IAM 角色授權和 IAM 條件,限制主體可在記錄值區執行的動作。舉例來說,您可以限制主體是否可刪除特定記錄值區。
如果您使用 Cloud Billing 資料匯出功能搭配 BigQuery,標記可能需要最多一小時才會匯出。如果標記是在一小時內新增或移除,或是記錄儲存空間存在時間不到一小時,則可能不會顯示在匯出檔案中。
自訂角色和角色授權 (附有 IAM 條件)
如果您打算使用 IAM 自訂角色,並將 IAM 條件附加至角色授權,則可能需要建立多個自訂角色。如果將 IAM 條件附加至角色授權,部分 IAM 權限會失效。
如果角色授權包含 IAM 條件,下列 Cloud Logging IAM 權限就會失效:
logging.buckets.listlogging.buckets.create
因此,您可能需要建立一個具有 list 和 create 權限的角色,以及另一個包含其他儲存空間專屬權限的角色。舉例來說,您可以建立包含 logging.buckets.delete 和 logging.buckets.update 權限的角色。
授予包含 list 和 create 權限的角色時,請勿將 IAM 條件附加至角色授權。授予含有 delete 和 update 權限的角色後,您可以新增 IAM 條件,將授權限制為具有特定標記的資源。
後續步驟
瞭解如何使用標記設定機構政策。
如要瞭解如何在 Cloud Billing 資料匯出中使用標記,請參閱 Cloud Billing 資料匯出說明文件。