設定記錄檔 bucket 的記錄檢視畫面

本文說明如何建立及管理 Cloud Logging 值區中的記錄檔檢視。記錄檔檢視畫面可讓您進階控管誰有權存取記錄檔 bucket 內的記錄檔。

您可以使用 Google Cloud 控制台、gcloud CLI、Terraform 或 Cloud Logging API,設定及管理記錄檢視區塊。

如需有關 Logging 儲存空間模型的概略資訊,請參閱「轉送功能和儲存空間簡介」。

關於記錄檢視

記錄檢視畫面可讓您只授予使用者存取記錄 bucket 中部分記錄的權限。舉例來說,假設您將貴機構的記錄檔儲存在中央專案中,您可以為每個將記錄檔提供給記錄檔 bucket 的專案建立一個記錄檢視。接著,您可以授予每位使用者一或多個記錄檢視的存取權,藉此限制使用者可查看的記錄。

每個記錄檔 bucket 最多可建立 30 個記錄檢視畫面。

控管記錄檢視的存取權

Cloud Logging 會使用 IAM 政策控管記錄檔檢視表的存取權。IAM 政策可存在於資源、專案、資料夾和機構層級。在 Cloud Logging 中,您可以為每個記錄檢視畫面建立 IAM 政策。如要判斷主體是否已獲得某項動作的授權,IAM 會評估所有適用的政策,並先從資源層級開始評估。

專案中具有 roles/logging.viewAccessor 角色的主體,可以存取專案中任何記錄檔 bucket 的檢視畫面和記錄。Google Cloud

如要只授予主體特定記錄檢視畫面存取權,請執行下列任一操作:

  • 為記錄檢視畫面建立 IAM 政策,然後將 IAM 繫結新增至該政策,授予主體記錄檢視畫面的存取權。

    如果您建立大量記錄檢視畫面,建議採用這種做法。

  • 在包含記錄檢視區的專案中,將 roles/logging.viewAccessor 的 IAM 角色授予主體,但附加 IAM 條件,將授權限制在特定記錄檢視區。如果省略條件,您就會授予主體所有記錄檢視的存取權。如果 Google Cloud 專案的政策檔案包含相同角色和主體,但條件運算式不同,則角色繫結數量上限為 20 個。

詳情請參閱本文的下列各節:

自動建立的記錄檢視

Cloud Logging 會自動為每個記錄 bucket 建立 _AllLogs 檢視區塊,並為 _Default 記錄 bucket 建立 _Default 檢視區塊:

  • _AllLogs 檢視畫面:您可以查看記錄檔值區中的所有記錄。
  • _Default 檢視畫面:您可以查看記錄 bucket 中的所有非資料存取稽核記錄。

您無法修改 Cloud Logging 自動建立的檢視區塊,但可以刪除 _AllLogs 檢視區塊。

記錄檢視畫面篩選器

每個記錄檢視畫面都包含篩選器,可決定要在檢視畫面中顯示哪些記錄項目。篩選器是使用 Logging 查詢語言編寫。

記錄檢視畫面可以採用基本篩選器或彈性篩選器:

  • 基本篩選器使用的 Logging 查詢語言指令集非常有限。在大多數情況下,這組指令就夠用了。

  • 彈性篩選器支援其他指令和運算子。 不過,使用擴充指令集會導致 Logs Explorer 中的「所有資源」和「所有記錄名稱」選單遭到停用。

基本篩選器

基本篩選器可包含下列項目:

您可以對資料來源、記錄 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 的 Google Cloud 專案寫入的記錄項目,而這些記錄項目是由 App Engine 或 Google Kubernetes Engine 寫入:

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) 形式的陳述式。

事前準備

建立或更新記錄檢視區塊前,請先完成下列步驟:

  1. 如果尚未建立,請在適當的 Google Cloud 專案中建立 Logging bucket,並為該 bucket 設定自訂記錄檢視畫面。

  2. 如要取得建立及管理記錄檢視區塊,以及授予記錄檢視區塊存取權所需的權限,請要求管理員在專案中授予您下列 IAM 角色:

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

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

  3. 選取要使用的介面:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證。

    gcloud

    安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:

    gcloud init

    Terraform

    如要在本機開發環境中使用本頁的 Terraform 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。

    1. 安裝 Google Cloud CLI。

    2. 設定 gcloud CLI,使用您的聯合身分。

      詳情請參閱「 使用聯合身分登入 gcloud CLI」。

    3. 為使用者帳戶建立本機驗證憑證:

      gcloud auth application-default login

      如果系統傳回驗證錯誤,請確認您已 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Google Cloud 驗證說明文件中的「 為本機開發環境設定 ADC」。

  4. 指定篩選器,決定要將哪些記錄納入檢視。

  5. 判斷哪些人應有權存取記錄檢視畫面,以及是否要將繫結新增至記錄檢視畫面或 Google Cloud 專案的 IAM 政策。詳情請參閱「控管記錄檢視畫面存取權」。

建立記錄檢視畫面

每個記錄檔 bucket 最多可建立 30 個記錄檢視畫面。

控制台

如要建立記錄檢視畫面,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:

    前往「Logs Storage」(記錄檔儲存空間)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 選取儲存記錄檔 bucket 的專案、資料夾或機構。
  3. 在「記錄檔 bucket」窗格中,選取要建立記錄檢視區的記錄 bucket 名稱。
  4. 在記錄儲存空間的詳細資料頁面中,前往「記錄檢視畫面」窗格,然後按一下「建立記錄檢視畫面」。
  5. 在「定義記錄檢視畫面」頁面中,完成下列步驟:

    1. 輸入記錄檢視的名稱。記錄檢視區塊建立後,您就無法變更名稱。名稱最多只能有 100 個字元,且只能包含英文字母、數字、底線和連字號。
    2. 輸入記錄檢視的說明。
    3. 在「Build filter」(建立篩選器) 欄位中,輸入決定記錄檢視要納入記錄 bucket 中哪些記錄項目的運算式。如要瞭解這個欄位的結構,請參閱本文的「記錄檢視篩選器」一節。
  6. 選用步驟:如要將角色繫結新增至記錄檢視資源,請按照下列步驟操作:

    1. 按一下「繼續」,前往「設定權限」頁面。
    2. 按一下 「授予存取權」。
    3. 在「新增主體」部分,展開「新主體」選單,然後選取主體。
    4. 在「指派角色」部分,選取「記錄檢視存取權」角色。
    5. 按一下 [儲存]。
  7. 按一下 [Save View] (儲存檢視表)。

  8. 如果您在建立流程中未授予主體記錄檢視權,請完成下一節的步驟。

gcloud

如要建立記錄檢視畫面,請按照下列步驟操作:

  1. 請執行 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 指令。

  2. 授予主體記錄檢視存取權。下一節將說明這些步驟。

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件。

如要使用 Terraform 在專案、資料夾或機構中建立記錄檢視畫面,請執行下列操作:

  1. 使用 Terraform 資源 google_logging_log_view。

    在指令中設定下列欄位:

    • name:設為記錄檢視區塊的完整名稱。舉例來說,如果是專案,這個欄位的格式如下:

      "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/view/LOG_VIEW_ID"
      

      在上一個運算式中,LOCATION 是記錄儲存空間的位置。

    • bucket:設為記錄 bucket 的完整名稱。舉例來說,這個欄位可能如下所示:

      "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME"
      
    • filter:篩選器,用於說明記錄檢視畫面中包含哪些記錄項目。

    • description:簡短說明。

  2. 授予主體記錄檢視存取權。下一節將說明這些步驟。

授予記錄檢視的存取權

如要將主體限制在使用者定義的記錄檔儲存空間中的特定記錄檔檢視畫面,可以使用下列兩種方法:

建立大量記錄檢視區塊時,建議使用記錄檢視區塊的 IAM 政策檔案控管存取權。

記錄檢視畫面:新增角色繫結

本節說明如何使用記錄檢視區塊的 IAM 政策檔案,控管哪些人可以存取該記錄檢視區塊中的記錄項目。使用這種方法時,您會將繫結新增至記錄檢視的政策檔案,繫結會授予指定主體記錄檢視的存取權。

本節也說明如何列出記錄檢視區 IAM 政策檔案中包含的角色繫結。

控制台

如要更新記錄檢視區塊的 IAM 政策檔案,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:

    前往「Logs Storage」(記錄檔儲存空間)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 選取儲存記錄檔 bucket 的專案、資料夾或機構。
  3. 在「記錄 bucket」窗格中,選取代管記錄檢視畫面的記錄 bucket 名稱。
  4. 在記錄值區的詳細資料頁面中,前往「記錄檢視畫面」窗格。
  5. 如要修改記錄檢視畫面的 IAM 政策檔案,請按一下「動作」,然後選取「調整權限」。

    權限彈出式視窗隨即開啟,並顯示與記錄檢視畫面相關聯的權限。

  6. 在權限彈出式視窗中,按一下「新增主體」。

  7. 在「新增主體」部分,展開「新增主體」選單,然後選取主體。

  8. 在「指派角色」部分,選取「記錄檢視存取權」角色。

  9. 按一下 [儲存]。

    權限飛出式視窗會更新為新權限。

    • 「記錄檢視存取者 (N)」部分會列出獲派專案層級「記錄檢視存取者」角色的主體。這些主體可以存取專案中的所有記錄檢視畫面。
    • 標示為「記錄檢視存取者條件:條件專屬說明文字 (N)」的部分會列出主體,這些主體已獲有條件授予專案層級的「記錄檢視存取者」角色。這些主體只能存取條件指定的記錄檢視畫面。
    • 標示為「Logs View Accessor condition:abcde (N)」的部分會列出具有記錄檢視層級授權的主體。

    下方的螢幕截圖顯示權限彈出式視窗,其中有兩個主體獲得專案層級的角色授權 (以專案圖示 識別),一個主體獲得記錄檢視層級的授權:

    權限彈出式視窗的插圖。

  10. 如要關閉飛出式視窗,請按一下「X」X。

gcloud

如要更新記錄檢視區塊的 IAM 政策檔案,請按照下列步驟操作:

  1. 請執行 gcloud logging views add-iam-policy-binding 指令。

    使用下列任何指令資料之前,請先替換以下項目:

    • LOG_VIEW_ID:記錄檢視的 ID,最多 100 個字元,只能包含英文字母、數字、底線和連字號。
    • PRINCIPAL:要授予角色的主體 ID。主體 ID 通常採用以下格式: PRINCIPAL-TYPE:ID。 例如:。如要查看 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
    

  2. 如要驗證更新,請執行 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_policy
  • google_logging_log_view_iam_binding
  • google_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 的專案中執行下列操作:

  1. 前往 Google Cloud 控制台的「IAM」頁面:

    前往 IAM

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「IAM & Admin」(IAM 與管理) 的結果。

    「IAM」頁面會列出所有主體、其 IAM 角色,以及套用至專案層級的這些角色所附加的任何條件。這個頁面不會顯示附加至記錄檢視畫面政策檔案的角色繫結。

  2. 按一下 「授予存取權」。

  3. 在「New principals」(新增主體) 欄位中,新增使用者的電子郵件帳戶。

  4. 在「Select a role」(選取角色) 下拉式選單中,選取「Logs View Accessor」(記錄檢視存取者)。

    這個角色可讓使用者讀取所有檢視畫面。如要限制使用者存取特定檢視畫面,請根據資源名稱新增條件。

    1. 按一下「新增 IAM 條件」。

    2. 輸入條件的「標題」和「說明」。

    3. 在「條件類型」下拉式選單中,依序選取「資源」 >「名稱」。

    4. 在「運算子」下拉式選單中,選取「為」。

    5. 在「值」欄位中,輸入記錄檢視畫面的 ID,包括檢視畫面的完整路徑。

      例如:

      projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID
    6. 按一下「儲存」加入條件。

  5. 按一下「儲存」即可設定權限。

gcloud

如要將角色繫結新增至Google Cloud 專案的 IAM 政策檔案,請完成下列步驟:

  1. 建立含有條件的 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"
    
  2. 選用:如要確認 JSON 或 YAML 檔案格式是否正確,請執行下列指令:

    gcloud alpha iam policies lint-condition --condition-from-file=condition.yaml
    
  3. 呼叫 gcloud projects add-iam-policy-binding 方法,更新 Google Cloud 專案的 IAM 政策。

    使用下列指令前,請先替換以下項目:

    • PROJECT_ID:專案的 ID。
    • PRINCIPAL:要授予角色的主體 ID。主體 ID 通常採用以下格式: PRINCIPAL-TYPE:ID。 例如:。如要查看 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
    
  4. 選用:如要列出 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_policy
  • google_project_iam_binding
  • google_project_iam_member

詳情請參閱「專案的 IAM 政策」。

如要使用 Terraform 列出專案的 IAM 關聯,請使用資料來源 google_project_iam_policy。

列出記錄檢視區塊的所有角色繫結

控制台的「IAM」頁面會列出專案層級的角色繫結。 Google Cloud 這個頁面不會列出附加至資源 (例如記錄檢視畫面) 的角色繫結。本節說明如何查看特定記錄檢視區塊的所有角色繫結。

如要列出附加至記錄檢視區塊的 IAM 繫結,請完成下列步驟。

  1. 在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:

    前往「Logs Storage」(記錄檔儲存空間)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 選取儲存記錄檔 bucket 的專案、資料夾或機構。
  3. 在「記錄 bucket」窗格中,選取代管記錄檢視畫面的記錄 bucket 名稱。
  4. 在記錄值區的詳細資料頁面中,前往「記錄檢視畫面」窗格。
  5. 如要查看記錄檢視畫面的角色繫結,請按一下「動作」,然後選取「調整權限」。

    權限彈出式視窗會顯示與記錄檢視畫面相關的所有權限:

    • 「記錄檢視存取者 (N)」部分會列出獲派專案層級「記錄檢視存取者」角色的主體。這些主體可以存取專案中的所有記錄檢視畫面。
    • 標示為「記錄檢視存取者條件:條件專屬說明文字 (N)」的部分會列出主體,這些主體已獲有條件授予專案層級的「記錄檢視存取者」角色。這些主體只能存取條件指定的記錄檢視畫面。
    • 標示為「Logs View Accessor condition:abcde (N)」的部分會列出具有記錄檢視層級授權的主體。

    下方的螢幕截圖顯示權限彈出式視窗,其中有兩個主體獲得專案層級的角色授權 (以專案圖示 識別),一個主體獲得記錄檢視層級的授權:

    權限彈出式視窗的插圖。

  6. 如要關閉飛出式視窗,請按一下「X」X。

列出記錄檔 bucket 中的記錄檢視畫面

控制台

  1. 在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:

    前往「Logs Storage」(記錄檔儲存空間)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 選取儲存記錄檔 bucket 的專案、資料夾或機構。
  3. 在「記錄 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 列出記錄檢視畫面。

更新記錄檢視畫面

控制台

  1. 在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:

    前往「Logs Storage」(記錄檔儲存空間)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 選取儲存記錄檔 bucket 的專案、資料夾或機構。
  3. 在「記錄 bucket」窗格中,選取代管記錄檢視畫面的記錄 bucket 名稱。
  4. 在記錄值區的詳細資料頁面中,前往「記錄檢視畫面」窗格。
  5. 在要更新詳細資料的記錄檢視畫面中,依序點按「更多」圖示 和「編輯畫面」。

    您可以編輯記錄檢視的說明和篩選器。

  6. 完成變更後,按一下「儲存檢視畫面」。

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 記錄檢視。

控制台

  1. 在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:

    前往「Logs Storage」(記錄檔儲存空間)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 選取儲存記錄檔 bucket 的專案、資料夾或機構。
  3. 在「記錄 bucket」窗格中,選取代管記錄檢視畫面的記錄 bucket 名稱。
  4. 在記錄 bucket 的詳細資料頁面中,前往「記錄檢視畫面」窗格,然後選取要刪除的記錄檢視畫面核取方塊。
  5. 在「記錄檢視畫面」窗格的工具列中,按一下「刪除檢視畫面」圖示 ,然後完成對話方塊。

gcloud

如要刪除記錄檢視畫面,請按照下列步驟操作:

  1. 建議:檢查 Google Cloud 專案,確保未參照記錄檢視畫面。建議檢查下列項目:

    • 從「Logs Explorer」頁面執行的查詢 (已儲存或共用)。
  2. 使用 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 供應商參考文件。

描述記錄檢視

控制台

  1. 在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:

    前往「Logs Storage」(記錄檔儲存空間)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 在「記錄 bucket」窗格中,選取代管記錄檢視畫面的記錄 bucket 名稱。
  3. 在記錄值區的詳細資料頁面中,前往「記錄檢視畫面」窗格。
  4. 在要查看詳細資料的記錄檢視畫面中,依序點選 更多 和 編輯畫面。
  5. 如要關閉對話方塊而不儲存任何變更,請按一下「取消」。

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,在記錄檢視中顯示記錄項目。

如要使用 Logs Explorer 查詢記錄檢視畫面,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。

  2. 選取要搜尋記錄項目的資源:

    • 工具列顯示 「專案記錄」時,請展開選單,選取「記錄檢視」,然後選取要查詢的記錄檢視。

    • 如果工具列顯示「1 個記錄檢視」,請展開選單,選取「記錄檢視」,然後選取要查詢的記錄檢視。

    • 否則工具列會顯示 圖示和記錄範圍名稱,例如 _Default。展開選單,選取「記錄檢視畫面」,然後選取要查詢的記錄檢視畫面。

詳情請參閱「記錄檔總管」說明文件。