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

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

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

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

關於記錄檢視

記錄檢視畫面可讓您只授予使用者存取記錄 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 會自動為每個記錄檔值區建立 _AllLogs 檢視區塊,並為 _Default 記錄檔值區建立 _Default 檢視區塊:

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

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

記錄檔檢視畫面與數據分析檢視畫面的差異

記錄檢視畫面和 Analytics 檢視畫面不同。

記錄檔 bucket 的記錄檢視畫面會控管您可查看的記錄檔 bucket 記錄項目。使用 Observability Analytics 時,LogEntry 資料結構會決定您查詢的資料結構定義。

分析檢視畫面包含對一或多個記錄檢視畫面執行的 SQL 查詢。使用 Observability Analytics,您可以針對 Analytics 檢視區塊撰寫查詢。由於分析檢視區塊的建立者會決定結構定義,因此分析檢視區塊的用途之一,就是將 LogEntry 格式的記錄資料轉換為更適合您的格式。

記錄檢視畫面篩選器

每個記錄檢視畫面都包含篩選器,可決定要在檢視畫面中顯示哪些記錄項目。篩選器是使用 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 的 Google Cloud 專案的 Compute Engine stdout 記錄項目:

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_namemycontainer 的記錄項目:

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 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

    Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。

    Terraform

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

    1. 安裝 Google Cloud CLI。

    2. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    3. 如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:

      gcloud auth application-default login

      如果您使用 Cloud Shell,則不需要執行這項操作。

      如果系統傳回驗證錯誤,且您使用外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI

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

  4. 決定要在檢視畫面中納入哪些記錄。您可以使用這項資訊指定記錄檢視的篩選器

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

建立記錄檢視畫面

每個記錄值區最多可建立 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. 授予主體記錄檢視權限。下一節將說明這些步驟。

授予記錄檢視的存取權

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

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

記錄檢視:新增角色繫結

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

本節也說明如何列出記錄檢視區身分與存取權管理政策檔案中包含的角色繫結。

控制台

如要更新記錄檢視區的身分與存取權管理政策檔案,請按照下列步驟操作:

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

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

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

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

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

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

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

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

  9. 按一下 [儲存]

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

    • 「記錄 view 存取者 (N)」部分會列出具有記錄 view 存取者角色專案層級授權的主體。這些主體可存取專案中的所有記錄檢視畫面。

    • 標示為「記錄檢視存取者條件:條件專屬說明文字 (N)」的部分,會列出具有記錄檢視存取者角色條件式專案層級授權的主體。這些主體只能存取條件指定的記錄檢視畫面。

    • 標示為「Logs View Accessor condition:abcde (N)」的部分,會列出具有記錄檢視層級授權的主體。

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

    權限彈出式視窗的插圖。

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

gcloud

如要更新記錄檢視區的身分與存取權管理政策檔案,請按照下列步驟操作:

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

  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. 在「Value」(值) 欄位中,輸入記錄檢視區塊的 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 方法,更新專案的 IAM 政策。 Google Cloud

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

    • 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
    
  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

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

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

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

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

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

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

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

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

    • 「記錄 view 存取者 (N)」部分會列出具有記錄 view 存取者角色專案層級授權的主體。這些主體可存取專案中的所有記錄檢視畫面。

    • 標示為「記錄檢視存取者條件:條件專屬說明文字 (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 專案建立時建立。以下範例輸出內容顯示,所查詢的記錄值區有兩個檢視區塊 ID,分別是 _AllLogscompute

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. 在記錄檔 bucket 的詳細資料頁面中,前往「記錄檢視」窗格。
  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 專案,確認系統未參照記錄檢視畫面。建議您檢查下列項目:

    • 從「記錄檔探索工具」或「可觀測性分析」頁面執行的查詢,這些查詢已儲存或共用。
    • 自訂資訊主頁。
  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. 在記錄檔 bucket 的詳細資料頁面中,前往「記錄檢視」窗格。
  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」。展開選單,選取「記錄檢視」,然後選取要查詢的記錄檢視。

詳情請參閱「記錄探索器」說明文件。

後續步驟

如要瞭解如何控管記錄項目中特定欄位的存取權,請參閱「設定欄位層級存取權」。