本文說明如何建立及管理 Cloud Logging 值區的記錄檢視區塊。記錄檔檢視畫面可讓您進階且精細地控管誰有權存取記錄檔 bucket 內的記錄檔。
您可以使用 Google Cloud 控制台、gcloud CLI、Terraform 或 Cloud Logging API,設定及管理記錄檢視區塊。
如需 Logging 儲存模型的相關資訊,請參閱「轉送功能和儲存空間簡介」。
關於記錄檢視
記錄檢視畫面可讓您授予使用者權限,僅存取記錄 bucket 中儲存的部分記錄。舉例來說,假設您將貴機構的記錄檔儲存在中央專案中。您可以為每個將記錄提供給記錄檔 bucket 的專案建立一個記錄檢視。接著,您可以授予每位使用者一或多個記錄檢視的存取權,藉此限制使用者可查看的記錄。
每個記錄檔 bucket 最多可建立 30 個記錄檢視畫面。
控管記錄檢視畫面存取權
Cloud Logging 會使用 IAM 政策,控管哪些人可以存取記錄檢視畫面。IAM 政策可存在於資源、專案、資料夾和機構層級。如果是 Cloud Logging,您可以為每個記錄檢視區塊建立 IAM 政策。為判斷主體是否已獲得某項動作的授權,IAM 會評估所有適用的政策,並先從資源層級開始評估。
如果主體在Google Cloud 專案中具有 roles/logging.viewAccessor 角色,就能存取專案中任何記錄檔 bucket 的檢視畫面和記錄。
如要只授予主體特定記錄檢視畫面的存取權,請執行下列任一操作:
為記錄檢視畫面建立 IAM 政策,然後在該政策中新增 IAM 繫結,授予主體記錄檢視畫面的存取權。
如果您建立大量記錄檢視畫面,建議採用這種做法。
在包含記錄檢視的專案中,將
roles/logging.viewAccessor的 IAM 角色授予主體,但附加 IAM 條件,將授權限制在特定記錄檢視。如果省略條件,您就會授予主體所有記錄檢視的存取權。對於 Google Cloud 專案,政策檔案中最多只能有 20 個角色繫結,這些繫結包含相同角色和主體,但條件運算式不同。
詳情請參閱本文的下列章節:
自動建立的記錄檢視畫面
Cloud Logging 會自動為每個記錄檔 bucket 建立 _AllLogs 檢視區塊,並為 _Default 記錄檔 bucket 建立 _Default 檢視區塊:
_AllLogs檢視畫面:您可以查看記錄檔 bucket 中的所有記錄。_Default檢視畫面:您可以在記錄檔 bucket 中查看所有非資料存取稽核記錄。
您無法修改 Cloud Logging 自動建立的檢視區塊,但可以刪除 _AllLogs 檢視區塊。
記錄檔檢視畫面與數據分析檢視畫面的差異
記錄檢視畫面和分析檢視畫面不同。
記錄檔 bucket 的記錄檢視畫面會控管您可查看的記錄檔 bucket 記錄項目。使用 Observability Analytics 時,LogEntry 資料結構會決定您查詢的資料結構定義。
分析檢視畫面包含對一或多個記錄檢視畫面執行的 SQL 查詢。使用 Observability Analytics 時,您可以針對 Analytics 檢視區塊撰寫查詢。由於分析檢視區的建立者會決定結構定義,因此分析檢視區的其中一個用途,就是將 LogEntry 格式的記錄資料轉換為更適合您的格式。
記錄檢視畫面的篩選器
每個記錄檢視畫面都包含篩選器,可決定要在檢視畫面中顯示哪些記錄項目。篩選器是使用 Logging 查詢語言編寫。
記錄檢視畫面可以採用基本篩選器或彈性篩選器:
基本篩選器使用的 Logging 查詢語言指令非常有限。在大多數情況下,這組指令就已足夠。
彈性篩選器支援其他指令和運算子。 不過,使用擴充指令集會導致 Logs Explorer 中的「所有資源」和「所有記錄名稱」選單遭到停用。
基本篩選器
基本篩選器可包含下列項目:
使用
source函式的資料來源。source函式會從機構、資料夾和專案階層中的特定資源傳回記錄項目。 Google Cloud使用
log_id函式取得的記錄 ID。log_id函式會傳回與logName欄位中指定LOG_ID引數相符的記錄檔項目。合取
AND子句。使用
resource.type=FIELD_NAME 比較的有效資源類型。
您可以對資料來源、記錄 ID 或資源類型套用否定運算子。您無法將這個運算子套用至複合陳述式。舉例來說,您無法使用 NOT (A AND B) 形式的陳述式。此外,您無法在記錄檢視篩選器中加入邏輯 OR 運算子。
如要瞭解篩選語法詳情,請參閱「比較」一文。
彈性篩選條件
彈性篩選器可包含下列項目:
使用
source函式的資料來源。source函式會從機構、資料夾和專案階層中的特定資源傳回記錄項目。 Google Cloud使用
log_id函式取得的記錄 ID。log_id函式會傳回與logName欄位中指定LOG_ID引數相符的記錄檔項目。合取
AND子句。析取
OR子句。套用至資料來源、記錄 ID 或比較值的欄位的否定
NOT陳述式。您無法將這個運算子套用至複合陳述式。
篩選器也可以比較下列項目與值:
- 資源類型
- 資源標籤
- 標籤
- App Hub 標籤
您可以使用 Logging 查詢語言支援的任何比較運算子。舉例來說,您可以使用下列任一運算子:
= -- equal
!= -- not equal
> < >= <= -- numeric ordering
: -- "has" matches any substring in the log entry field
=~ -- regular expression search for a pattern
!~ -- regular expression search not for a pattern
如要瞭解篩選語法詳情,請參閱「比較」一文。
篩選器範例
本節提供記錄檢視畫面的篩選器範例。
範例:多個陳述式篩選器
下列篩選器說明多陳述式篩選器的結構。個別陳述式會以邏輯 AND 運算子連結。
這個篩選器只會納入來自名為 myproject 的專案的 Compute Engine stdout 記錄項目: Google Cloud
source("projects/myproject") AND
resource.type = "gce_instance" AND
log_id("stdout")
範例:包含析取子句的多陳述式篩選器
下列範例說明如何使用不相交 OR 子句。在這個範例中,OR 子句會選取從名為 myproject 的專案寫入的記錄項目,而這些記錄項目是由 App Engine 或 Google Kubernetes Engine 寫入: Google Cloud
source("projects/myproject") AND
(resource.type="gae_app" OR resource.type="gke_cluster")
範例:依資源標籤篩選
下列陳述式篩選器只會納入 container_name 為 mycontainer 的記錄項目:
resource.labels.container_name="mycontainer"
範例:依標籤篩選
下列陳述式篩選器只會納入使用者定義標籤 test 值為 FALSE 的記錄項目:
labels.test="FALSE"
範例:依 App Hub 標籤篩選
下列陳述式篩選器只會納入 App Hub application.location 列為 global 的記錄項目:
apphub.application.location="global"
範例:使用否定運算子排除記錄項目
您也可以對支援的篩選欄位套用否定運算子。舉例來說,下列篩選器會從記錄檢視畫面中排除 Compute Engine 記錄項目:
NOT resource.type = "gce_instance"
您無法對複合陳述式套用否定運算子。
舉例來說,系統不支援 NOT (A AND B) 形式的陳述式。
事前準備
建立或更新記錄檢視區塊前,請先完成下列步驟:
如果尚未建立,請在適當的 Google Cloud 專案中建立 Logging bucket,並為該 bucket 設定自訂記錄檢視畫面。
-
如要取得建立及管理記錄檢視區塊,以及授予記錄檢視區塊存取權所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
- 記錄設定寫入者 (
roles/logging.configWriter) -
如要將角色繫結新增至專案:
專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin) -
如要將角色繫結新增至記錄檢視畫面:Logging 管理員 (
roles/logging.admin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
- 記錄設定寫入者 (
選取要使用的介面:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。
gcloud
在 Google Cloud 控制台中啟用 Cloud Shell。
控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。 Google Cloud Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。
Terraform
如要在本機開發環境中使用本頁的 Terraform 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果您使用 Cloud Shell,則不需要執行這項操作。
如果系統傳回驗證錯誤,且您使用外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「 為本機開發環境設定 ADC」。
-
指定篩選器,決定要將哪些記錄納入檢視畫面。
判斷誰應有權存取記錄檢視畫面,以及是否要將繫結新增至記錄檢視畫面或 Google Cloud 專案的 IAM 政策。詳情請參閱「控管記錄檢視畫面存取權」。
建立記錄檢視畫面
每個記錄檔 bucket 最多可建立 30 個記錄檢視畫面。
控制台
如要建立記錄檢視畫面,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 選取儲存記錄檔 bucket 的專案、資料夾或機構。
- 在「記錄檔 bucket」窗格中,選取要建立記錄檢視區的記錄檔 bucket 名稱。
- 在記錄檔 bucket 的詳細資料頁面中,前往「記錄檢視」窗格,然後按一下「建立記錄檢視」。
在「定義記錄檢視」頁面中,完成下列步驟:
- 輸入記錄檢視的名稱。記錄檢視區塊建立後,您就無法變更這個名稱。名稱長度上限為 100 個字元,只能包含英文字母、數字、底線和連字號。
- 輸入記錄檢視的說明。
- 在「Build filter」(建構篩選器) 欄位中,輸入決定記錄檔 bucket 中哪些記錄項目會納入記錄檢視的運算式。如要瞭解這個欄位的結構,請參閱本文的「記錄檢視篩選器」一節。
選用:如要將角色繫結新增至記錄檢視資源,請按照下列步驟操作:
- 按一下「繼續」,前往「設定權限」頁面。
- 按一下 「授予存取權」。
- 在「新增主體」部分,展開「新主體」選單,然後選取主體。
- 在「指派角色」部分,選取「記錄檢視存取權」角色。
- 按一下 [儲存]。
按一下 [Save View] (儲存檢視表)。
如果您在建立流程中未授予主體記錄檢視權,請完成下一節的步驟。
gcloud
如要建立記錄檢視畫面,請按照下列步驟操作:
請執行
gcloud logging views create指令。使用下方的任何指令資料之前,請先替換以下項目:
- LOG_VIEW_ID:記錄檢視的 ID,最多 100 個字元,只能包含英文字母、數字、底線和連字號。
- BUCKET_NAME:記錄檔 bucket 的名稱。
- LOCATION:記錄檔 bucket 的位置。
- FILTER:定義記錄檢視畫面的篩選器。如果為空白,記錄檢視畫面會顯示所有記錄。舉例來說,如要依 Compute Engine VM 執行個體記錄篩選,請輸入
"resource.type=gce_instance"。 - DESCRIPTION:記錄檢視畫面的說明。舉例來說,您可能會為說明
"Compute logs"輸入下列內容。 - PROJECT_ID:專案的 ID。如要在資料夾或機構中建立記錄檢視畫面,請將
--project替換為--folder或--organization。
執行
gcloud logging views create指令:Linux、macOS 或 Cloud Shell
gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME \ --location=LOCATION --log-filter=FILTER --description=DESCRIPTION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME ` --location=LOCATION --log-filter=FILTER --description=DESCRIPTION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME ^ --location=LOCATION --log-filter=FILTER --description=DESCRIPTION ^ --project=PROJECT_ID
這項指令不會提供回應。如要確認變更,可以執行
gcloud logging views list指令。授予主體記錄檢視權限。下一節將說明這些步驟。
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件。
如要在專案、資料夾或機構中,使用 Terraform 建立記錄檢視畫面,請按照下列步驟操作:
使用 Terraform 資源
google_logging_log_view。在指令中設定下列欄位:
name:設為記錄檢視區塊的完整名稱。舉例來說,如果是專案,這個欄位的格式如下:"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/view/LOG_VIEW_ID"在上述運算式中,LOCATION 是記錄檔 bucket 的位置。
bucket:設為記錄檔 bucket 的完整名稱。舉例來說,這個欄位可能是:"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME"filter:篩選器,用於說明記錄檢視畫面中包含哪些記錄項目。description:簡短說明。
授予主體記錄檢視權限。下一節將說明這些步驟。
授予記錄檢視的存取權
如要將主體限制在使用者定義記錄檔儲存空間的特定記錄檢視畫面,可以使用下列兩種方法:
建立大量記錄檢視區塊時,建議使用記錄檢視區塊的 IAM 政策檔案控管存取權。
記錄檢視:新增角色繫結
本節說明如何使用記錄檢視區塊的 IAM 政策檔案,控管有權存取該記錄檢視區塊中記錄項目的使用者。使用這種方法時,您會將繫結新增至記錄檢視的政策檔案,繫結會授予指定主體記錄檢視的存取權。
本節也說明如何列出記錄檢視區 IAM 政策檔案中包含的角色繫結。
控制台
如要更新記錄檢視區的身分與存取權管理政策檔案,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 選取儲存記錄檔 bucket 的專案、資料夾或機構。
- 在「記錄檔 bucket」窗格中,選取代管記錄檢視的記錄檔 bucket 名稱。
- 在記錄檔 bucket 的詳細資料頁面中,前往「記錄檢視」窗格。
找出要修改 IAM 政策檔案的記錄檢視畫面,然後依序點選「動作」more_vert和「調整權限」。
權限飛出視窗隨即開啟,顯示與記錄檢視畫面相關聯的權限。
在權限彈出式視窗中,按一下「新增主體」。
在「新增主體」部分,展開「新增主體」選單,然後選取主體。
在「指派角色」部分,選取「記錄檢視存取權」角色。
按一下 [儲存]。
權限飛出視窗會更新為新權限。
- 「記錄檢視存取者 (N)」部分會列出具有「記錄檢視存取者」角色專案層級授權的主體。這些主體可以存取專案中的所有記錄檢視畫面。
- 標示為「記錄檢視存取者條件:條件專屬說明文字 (N)」的部分,會列出具有記錄檢視存取者角色條件式專案層級授權的主體。這些主體只能存取條件指定的記錄檢視畫面。
- 標示為「Logs View Accessor condition:abcde (N)」的部分會列出具有記錄檢視層級授權的主體。
下方的螢幕截圖顯示權限彈出式視窗,其中有兩位主體獲得專案層級角色授權 (以專案圖示
識別),一位主體獲得記錄檢視層級授權:
如要關閉飛出式視窗,請按一下「X」X。
gcloud
如要更新記錄檢視區的身分與存取權管理政策檔案,請按照下列步驟操作:
請執行
gcloud logging views add-iam-policy-binding指令。使用下方的任何指令資料之前,請先替換以下項目:
- LOG_VIEW_ID:記錄檢視的 ID,最多 100 個字元,只能包含英文字母、數字、底線和連字號。
- PRINCIPAL:要授予角色的主體 ID。主體 ID 通常採用以下格式:
PRINCIPAL-TYPE:ID。 例如:user:my-user@example.com。 如需PRINCIPAL可採用的完整格式清單,請參閱「主體 ID」。 - BUCKET_NAME:記錄檔 bucket 的名稱。
- LOCATION:記錄檔 bucket 的位置。
- PROJECT_ID:專案的 ID。如有需要,請將
--project替換為--folder或--organization。
執行
gcloud logging views add-iam-policy-binding指令:Linux、macOS 或 Cloud Shell
gcloud logging views add-iam-policy-binding LOG_VIEW_ID \ --member=PRINCIPAL --role='roles/logging.viewAccessor' \ --bucket=BUCKET_NAME --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud logging views add-iam-policy-binding LOG_VIEW_ID ` --member=PRINCIPAL --role='roles/logging.viewAccessor' ` --bucket=BUCKET_NAME --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud logging views add-iam-policy-binding LOG_VIEW_ID ^ --member=PRINCIPAL --role='roles/logging.viewAccessor' ^ --bucket=BUCKET_NAME --location=LOCATION ^ --project=PROJECT_ID
以下說明新增單一繫結時的回應:
Updated IAM policy for logging view [projects/PROJECT_ID/locations/global/buckets/BUCKET_NAME/views/LOG_VIEW_ID]. bindings: - members: - PRINCIPAL role: roles/logging.viewAccessor etag: BwYXfSd9-Gw= version: 1
如要驗證更新,請執行
gcloud logging views get-iam-policy指令:使用下方的任何指令資料之前,請先替換以下項目:
- LOG_VIEW_ID:記錄檢視的 ID,最多 100 個字元,只能包含英文字母、數字、底線和連字號。
- BUCKET_NAME:記錄檔 bucket 的名稱。
- LOCATION:記錄檔 bucket 的位置。
- PROJECT_ID:專案的 ID。如有需要,請將
--project替換為--folder或--organization。
執行
gcloud logging views get-iam-policy指令:Linux、macOS 或 Cloud Shell
gcloud logging views get-iam-policy LOG_VIEW_ID \ --bucket=BUCKET_NAME --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud logging views get-iam-policy LOG_VIEW_ID ` --bucket=BUCKET_NAME --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud logging views get-iam-policy LOG_VIEW_ID ^ --bucket=BUCKET_NAME --location=LOCATION ^ --project=PROJECT_ID
如果記錄檢視畫面不含任何繫結,回應就只會包含
etag欄位。下圖說明記錄檢視畫面包含單一繫結時的回應:bindings: - members: - PRINCIPAL role: roles/logging.viewAccessor etag: BwYXfSd9-Gw= version: 1
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件。
如要使用 Terraform 佈建記錄檢視的 IAM 關聯,可以使用下列幾種不同的資源:
google_logging_log_view_iam_policygoogle_logging_log_view_iam_bindinggoogle_logging_log_view_iam_member
詳情請參閱「Cloud Logging LogView 的 IAM 政策」。
如要使用 Terraform 列出記錄檢視區塊的 IAM 關聯,請使用資料來源 google_logging_log_view_iam_policy。
Google Cloud project:新增角色繫結
本節說明如何將角色繫結新增至 Google Cloud 專案,以及如何列出附加至專案的繫結。使用這種方法時,如要限制主體只能存取特定記錄檔檢視區塊中儲存的記錄檔項目,必須在授予項目中新增 IAM 條件。
控制台
如要將角色繫結新增至Google Cloud 專案的 IAM 政策檔案,請在您建立記錄檔 bucket 的專案中執行下列操作:
-
前往 Google Cloud 控制台的「IAM」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「IAM & Admin」(IAM 與管理) 的結果。
「IAM」頁面會列出所有主體、其 IAM 角色,以及套用至專案層級的這些角色所附加的任何條件。這個頁面不會顯示附加至記錄檢視區塊政策檔案的角色繫結。
按一下 「授予存取權」。
在「New principals」(新增主體) 欄位中,新增使用者的電子郵件帳戶。
在「Select a role」(選取角色) 下拉式選單中,選取「Logs View Accessor」(記錄檢視存取者)。
這個角色可讓使用者讀取所有檢視畫面。如要限制使用者存取特定檢視畫面,請根據資源名稱新增條件。
按一下「新增 IAM 條件」。
輸入條件的「標題」和「說明」。
在「條件類型」下拉式選單中,依序選取「資源」 >「名稱」。
在「運算子」下拉式選單中,選取「為」。
在「Value」(值) 欄位中,輸入記錄檢視區塊的 ID,包括檢視區塊的完整路徑。
例如:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID
按一下「儲存」加入條件。
按一下「儲存」即可設定權限。
gcloud
如要將角色繫結新增至Google Cloud 專案的 IAM 政策檔案,請完成下列步驟:
建立包含條件的 JSON 或 YAML 檔案。
舉例來說,您可以建立名為
condition.yaml的檔案,並在當中加入下列內容:expression: "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID\"" title: "My title" description: "My description"選用:如要確認 JSON 或 YAML 檔案格式正確,請執行下列指令:
gcloud alpha iam policies lint-condition --condition-from-file=condition.yaml呼叫
gcloud projects add-iam-policy-binding方法,更新 Google Cloud 專案的 IAM 政策。使用下列指令之前,請先替換以下項目:
- PROJECT_ID:專案的 ID。
- PRINCIPAL:要授予角色的主體 ID。主體 ID 通常採用以下格式:
PRINCIPAL-TYPE:ID。 例如:user:my-user@example.com。 如需PRINCIPAL可採用的完整格式清單,請參閱「主體 ID」。
執行
gcloud projects add-iam-policy-binding指令:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --condition-from-file=condition.yaml上述指令的回應會包含所有角色繫結。
- condition: description: My description expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID" title: My title members: - PRINCIPAL role: roles/logging.viewAccessor選用:如要列出 Google Cloud 專案的角色繫結,請使用
gcloud projects get-iam-policy指令:gcloud projects get-iam-policy PROJECT_ID使用下列指令之前,請先替換以下項目:
- PROJECT_ID:專案的 ID。
上述指令的回應會包含所有角色繫結。
- condition: description: My description expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID" title: My title members: - PRINCIPAL role: roles/logging.viewAccessor
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件。
如要使用 Terraform 為專案佈建 IAM 關聯,可以使用下列幾種資源:
google_project_iam_policygoogle_project_iam_bindinggoogle_project_iam_member
詳情請參閱「專案的 IAM 政策」。
如要使用 Terraform 列出專案的 IAM 關聯,請使用資料來源 google_project_iam_policy。
列出記錄檢視區塊的所有角色繫結
Google Cloud 控制台的「IAM」頁面會列出專案層級的角色繫結。這個頁面不會列出附加至資源 (例如記錄檢視畫面) 的角色繫結。本節說明如何查看特定記錄檢視區塊的所有角色繫結。
如要列出附加至記錄檢視區塊的 IAM 繫結,請完成下列步驟。
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 選取儲存記錄檔 bucket 的專案、資料夾或機構。
- 在「記錄檔 bucket」窗格中,選取代管記錄檢視的記錄檔 bucket 名稱。
- 在記錄檔 bucket 的詳細資料頁面中,前往「記錄檢視」窗格。
如要查看記錄檢視畫面的角色繫結,請按一下「動作」more_vert,然後選取「調整權限」。
權限飛出視窗會顯示與記錄檢視畫面相關的所有權限:
- 「記錄檢視存取者 (N)」部分會列出具有「記錄檢視存取者」角色專案層級授權的主體。這些主體可以存取專案中的所有記錄檢視畫面。
- 標示為「記錄檢視存取者條件:條件專屬說明文字 (N)」的部分,會列出具有記錄檢視存取者角色條件式專案層級授權的主體。這些主體只能存取條件指定的記錄檢視畫面。
- 標示為「Logs View Accessor condition:abcde (N)」的部分會列出具有記錄檢視層級授權的主體。
下方的螢幕截圖顯示權限彈出式視窗,其中有兩位主體獲得專案層級角色授權 (以專案圖示
識別),一位主體獲得記錄檢視層級授權:
如要關閉飛出式視窗,請按一下「X」X。
列出記錄檔 bucket 中的記錄檔檢視畫面
控制台
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 選取儲存記錄檔 bucket 的專案、資料夾或機構。
在「記錄檔 bucket」窗格中,選取代管記錄檢視的記錄檔 bucket 名稱。
記錄檔 bucket 的詳細資料頁面隨即開啟。「記錄檢視」窗格會列出記錄檔 bucket 中的記錄檢視。
gcloud
如要列出為記錄檔 bucket 建立的記錄檢視區塊,請使用 gcloud logging views list 指令。
使用下方的任何指令資料之前,請先替換以下項目:
- BUCKET_NAME:記錄檔 bucket 的名稱。
- LOCATION:記錄檔 bucket 的位置。
- PROJECT_ID:專案的 ID。如有需要,請將
--project替換為--folder或--organization。
執行
gcloud logging views list
指令:
Linux、macOS 或 Cloud Shell
gcloud logging views list \ --bucket=BUCKET_NAME --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud logging views list ` --bucket=BUCKET_NAME --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud logging views list ^ --bucket=BUCKET_NAME --location=LOCATION ^ --project=PROJECT_ID
回應資料是記錄檢視區塊清單。每個記錄檢視畫面都會顯示篩選器,以及建立和上次更新日期。如果建立和更新日期為空白,表示記錄檢視是在 Google Cloud 專案建立時建立。以下範例輸出內容顯示,所查詢的記錄檔 bucket 有兩個檢視區塊 ID,分別是 _AllLogs 和 compute:
VIEW_ID: _AllLogs FILTER: CREATE_TIME: UPDATE_TIME: VIEW_ID: compute FILTER: resource.type="gce_instance" CREATE_TIME: 2024-02-20T17:41:17.405162921Z UPDATE_TIME: 2024-02-20T17:41:17.405162921Z
Terraform
您可以使用 Terraform 建立及修改記錄檢視區塊。 不過,您無法使用 Terraform 列出記錄檢視區塊。
更新記錄檢視
控制台
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 選取儲存記錄檔 bucket 的專案、資料夾或機構。
- 在「記錄檔 bucket」窗格中,選取代管記錄檢視的記錄檔 bucket 名稱。
- 在記錄檔 bucket 的詳細資料頁面中,前往「記錄檢視」窗格。
在要更新詳細資料的記錄檢視畫面中,依序按一下「更多」圖示 more_vert 和「編輯畫面」。
您可以編輯記錄檢視畫面的說明和篩選器。
完成變更後,按一下「儲存檢視畫面」。
gcloud
如要更新或修改記錄檢視區塊,請使用 gcloud logging views update 指令。如果您不知道檢視區塊 ID,請參閱「列出記錄檢視區塊」。
使用下方的任何指令資料之前,請先替換以下項目:
- LOG_VIEW_ID:記錄檢視的 ID,最多 100 個字元,只能包含英文字母、數字、底線和連字號。
- BUCKET_NAME:記錄檔 bucket 的名稱。
- LOCATION:記錄檔 bucket 的位置。
- FILTER:定義記錄檢視畫面的篩選器。如果為空白,記錄檢視畫面會顯示所有記錄。舉例來說,如要依 Compute Engine VM 執行個體記錄篩選,請輸入
"resource.type=gce_instance"。 - DESCRIPTION:記錄檢視畫面的說明。舉例來說,您可能會為說明
"New description for the log view"輸入下列內容。 - PROJECT_ID:專案的 ID。如有需要,請將
--project替換為--folder或--organization。
執行
gcloud logging views update
指令:
Linux、macOS 或 Cloud Shell
gcloud logging views update LOG_VIEW_ID \ --bucket=BUCKET_NAME --location=LOCATION \ --log-filter=FILTER --description=DESCRIPTION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud logging views update LOG_VIEW_ID ` --bucket=BUCKET_NAME --location=LOCATION ` --log-filter=FILTER --description=DESCRIPTION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud logging views update LOG_VIEW_ID ^ --bucket=BUCKET_NAME --location=LOCATION ^ --log-filter=FILTER --description=DESCRIPTION ^ --project=PROJECT_ID
這項指令不會提供回應。如要確認變更,可以執行 gcloud logging views describe 指令。
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件。
如要使用 Terraform 修改專案、資料夾或機構中的記錄檢視畫面,請使用 Terraform 資源 google_logging_log_view。
刪除記錄檢視
如果不再需要您建立的記錄檢視畫面,可以刪除。 不過,在刪除記錄檢視區塊之前,建議您先確認是否有其他資源 (例如已儲存的查詢) 正在參照該記錄檢視區塊。
您無法刪除_Default記錄檔 bucket 中的_Default記錄檢視。
控制台
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 選取儲存記錄檔 bucket 的專案、資料夾或機構。
- 在「記錄檔 bucket」窗格中,選取代管記錄檢視的記錄檔 bucket 名稱。
- 在記錄檔 bucket 的詳細資料頁面中,前往「記錄檢視畫面」窗格,然後選取要刪除的記錄檢視畫面核取方塊。
- 在「記錄檢視畫面」窗格的工具列中,按一下「刪除檢視畫面」圖示 ,然後完成對話方塊。
gcloud
如要刪除記錄檢視畫面,請按照下列步驟操作:
建議:檢查 Google Cloud 專案,確保系統未參照記錄檢視畫面。建議您檢查下列項目:
- 從「記錄檔探索工具」或「可觀測性分析」頁面執行的查詢,這些查詢已儲存或共用。
- 自訂資訊主頁。
使用
gcloud logging views delete指令。 如果您不知道檢視區塊 ID,請參閱「列出記錄檢視區塊」。使用下方的任何指令資料之前,請先替換以下項目:
- LOG_VIEW_ID:記錄檢視的 ID,最多 100 個字元,只能包含英文字母、數字、底線和連字號。
- BUCKET_NAME:記錄檔 bucket 的名稱。
- LOCATION:記錄檔 bucket 的位置。
- PROJECT_ID:專案的 ID。如有需要,請將
--project替換為--folder或--organization。
執行
gcloud logging views delete指令:Linux、macOS 或 Cloud Shell
gcloud logging views delete LOG_VIEW_ID \ --bucket=BUCKET_NAME --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud logging views delete LOG_VIEW_ID ` --bucket=BUCKET_NAME --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud logging views delete LOG_VIEW_ID ^ --bucket=BUCKET_NAME --location=LOCATION ^ --project=PROJECT_ID
回應會確認刪除作業。舉例來說,以下顯示刪除名為
tester的記錄檢視區塊時的回應:Deleted [tester].
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件。
描述記錄檢視
控制台
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 在「記錄檔 bucket」窗格中,選取代管記錄檢視的記錄檔 bucket 名稱。
- 在記錄檔 bucket 的詳細資料頁面中,前往「記錄檢視」窗格。
- 在要查看詳細資料的記錄檢視畫面中,依序點按「更多」圖示 more_vert 和「編輯畫面」。
- 如要在不儲存變更的情況下關閉對話方塊,請按一下「取消」。
gcloud
如要擷取記錄檢視區塊的詳細資訊,請使用 gcloud logging views describe 指令。如果您不知道檢視區塊 ID,請參閱「列出記錄檢視區塊」。
使用下方的任何指令資料之前,請先替換以下項目:
- LOG_VIEW_ID:記錄檢視的 ID,最多 100 個字元,只能包含英文字母、數字、底線和連字號。
- BUCKET_NAME:記錄檔 bucket 的名稱。
- LOCATION:記錄檔 bucket 的位置。
- PROJECT_ID:專案的 ID。如有需要,請將
--project替換為--folder或--organization。
執行
gcloud logging views describe
指令:
Linux、macOS 或 Cloud Shell
gcloud logging views describe LOG_VIEW_ID \ --bucket=BUCKET_NAME --location=LOCATION\ --project=PROJECT_ID
Windows (PowerShell)
gcloud logging views describe LOG_VIEW_ID ` --bucket=BUCKET_NAME --location=LOCATION` --project=PROJECT_ID
Windows (cmd.exe)
gcloud logging views describe LOG_VIEW_ID ^ --bucket=BUCKET_NAME --location=LOCATION^ --project=PROJECT_ID
回應一律會包含記錄檢視區塊的說明和完整名稱。 如果篩選器欄位不是空白,也會包含篩選器。以下是回應範例:
createTime: '2024-02-20T17:41:17.405162921Z' filter: resource.type="gce_instance" name: projects/my-project/locations/global/buckets/my-bucket/views/compute updateTime: '2024-02-20T17:41:17.405162921Z'
Terraform
您可以使用 Terraform 建立及修改記錄檢視區塊。 不過,您無法使用 Terraform 顯示記錄檢視區塊的詳細資料。
查看與記錄檢視區塊相關聯的記錄
您可以使用 Logs Explorer 或「Observability Analytics」頁面,在記錄檢視畫面中顯示記錄項目。使用 Logs Explorer 時,您必須設定範圍並選取記錄檢視畫面。使用「Observability Analytics」頁面時,您會查詢記錄檢視畫面。
如要使用 Logs Explorer 查詢記錄檢視畫面,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
選取要搜尋記錄項目的資源:
工具列顯示「專案記錄」
時,請展開選單,選取「記錄檢視」,然後選取要查詢的記錄檢視。如果工具列顯示類似
「1 個記錄檢視」,請展開選單,選取「記錄檢視」,然後選取要查詢的記錄檢視。否則工具列會顯示
圖示和記錄範圍名稱,例如「_Default」。展開選單,選取「記錄檢視」,然後選取要查詢的記錄檢視。
詳情請參閱記錄探索器說明文件。
後續步驟
如要瞭解如何控管記錄項目中特定欄位的存取權,請參閱「設定欄位層級的存取權」。