本文說明如何使用標記來管理 Cloud Logging 記錄值區。標記是在機構或專案層級建立,可用於為資源加上註解。您也可以根據資源是否具備特定標記,依條件授予 Identity and Access Management (IAM) 角色或依條件拒絕 IAM 權限。如要瞭解標記,請參閱「標記總覽」。
舉例來說,如果您使用 BigQuery 分析 Cloud Billing 資料,可以將 project:production
標記附加至儲存正式版資源記錄資料的記錄資料夾,也可以將 project:development
標記附加至儲存開發版資源記錄資料的記錄資料夾。接著,您可以使用標記查詢 Cloud Billing 資料,並查看開發和發布階段的費用明細。
標記可明確附加至記錄桶,或從其父項機構、資料夾和專案繼承。
事前準備
如要開始使用標記管理記錄值區,請按照下列步驟操作:
- 請確認您已建立代碼並設定其值。您可以使用 Resource Manager 管理代碼定義。如要進一步瞭解如何建立及管理標籤,請參閱「建立及管理標籤」一文。
-
如要取得使用標記管理記錄資料集所需的權限,請要求管理員授予您專案或機構的下列 IAM 角色:
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色包含使用標記管理記錄資料集所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要使用標記管理記錄值區,您必須具備下列權限:
-
新增或移除記錄檔 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
權限,這是管理記錄資料集所需的權限。
將標記附加至記錄值區
如要為記錄值區附加標記,請按照下列步驟操作:
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
方法。
查看附加至記錄值區的標記
如要查看記錄值區附加的標記,請執行下列操作:
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
如要取得指定分桶的標記繫結清單,請使用 tagBindings.list
方法。
移除記錄值區的標記
如要移除附加至記錄資料集的標記,您必須刪除附加至記錄資料集的標記繫結。如要刪除標記,您必須從所有已附加的資源中移除標記。
Google Cloud 控制台
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出要移除標記的記錄值區。
在記錄值區中,按一下「更多」more_vert,然後點選「編輯標記」。
在對話方塊中,將游標移至要移除的標記,然後按一下
「Delete item」。按一下「儲存」即可儲存變更。系統會顯示確認變更的對話方塊。按一下「確認」,即可完成變更。
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
方法。
限制
您無法使用 IAM 角色授權,控管主體在 Google Cloud 專案中列出記錄值區時,可看到哪些記錄值區。管理員會看到完整清單或空白清單。不過,您可以使用 IAM 角色授權搭配 IAM 條件,限制主體可對記錄值區採取的動作。舉例來說,您可以限制主體是否可以刪除特定記錄值區。
如果您使用 BigQuery 匯出 Cloud Billing 資料,標記可能需要最多一小時才能在匯出作業中使用。如果標記在 1 小時內新增或移除,或是記錄值區存在時間不到 1 小時,則可能不會顯示在匯出檔案中。
使用身分與存取權管理條件的自訂角色和角色授予
如果您打算使用自訂 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 資料匯出檔案說明文件。