本文說明如何使用 Cloud de Confiance 控制台、Google Cloud CLI 和 Logging API 建立及管理 Cloud Logging 值區。此外,本文也提供在Cloud de Confiance 專案層級建立及管理記錄值區的操作說明。您無法在資料夾或機構層級建立記錄檔值區,但 Cloud Logging 會自動在資料夾和機構層級為您建立 _Default 和 _Required 記錄檔值區。
如需值區的概念總覽,請參閱「儲存記錄項目」。
本文不會說明如何建立使用客戶自行管理的加密金鑰 (CMEK) 的記錄檔 bucket。如要設定 CMEK,請參閱「為記錄儲存空間設定 CMEK」。
事前準備
設定專案、IAM 角色,然後選取您打算使用的介面。
設定專案和角色
如要開始使用 bucket,請按照下列步驟操作:
- 設定專案:
-
Cloud de Confiance
-
如要取得建立、升級及連結記錄檔 bucket 所需的權限,請要求管理員在專案中授予您記錄設定寫入者 (
roles/logging.configWriter) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。如需權限和角色的完整清單,請參閱「使用 IAM 控管存取權」。
- 瞭解可儲存記錄檔的支援區域。
- 如果您打算使用 Google Cloud CLI 或 Cloud Logging API 建立或管理記錄儲存空間,請瞭解
LogBucket格式規定。
選取要使用的介面
Cloud de Confiance 控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,無須設定驗證。
gcloud
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud initREST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
建立值區
每個Cloud de Confiance 專案最多可建立 100 個 bucket。您無法在資料夾或機構中建立記錄檔值區。
如要為 Cloud de Confiance 專案建立使用者定義的記錄檔 bucket,請按照下列步驟操作:
Cloud de Confiance 控制台
如要在 Cloud de Confiance 專案中建立記錄檔 bucket,請按照下列步驟操作:
-
在 Cloud de Confiance 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
按一下「建立記錄檔 bucket」。
輸入 bucket 的「名稱」和「說明」。
如要選取記錄的儲存區域,請按一下「選取記錄檔 bucket 區域」選單,然後選取區域。
選用:如要為 bucket 中的記錄檔設定自訂保留期限,請按一下「Next」(下一步)。
在「保留期限」欄位中,輸入您希望 Cloud Logging 保留記錄檔的天數 (1 到400 days天)。如未自訂保留期限,則預設值為
30 days。您也可以在建立記錄檔儲存空間後,更新保留期限。
按一下「建立值區」。
完成這些步驟可能需要一些時間。
gcloud
如要建立記錄檔 bucket,請執行 gcloud logging buckets create 指令:
gcloud logging buckets create BUCKET_ID --location=LOCATION
舉例來說,如果您想在 global 區域使用 BUCKET_ID
my-bucket 建立 bucket,指令會如下所示:
gcloud logging buckets create my-bucket --location global --description "My first bucket"
REST
如要建立 bucket,請使用 projects.locations.buckets.create 方法。如下準備方法的引數:
將
parent參數設為要在其中建立 Bucket 的資源:projects/PROJECT_ID/locations/LOCATION變數 LOCATION 是指您要儲存記錄的區域。
舉例來說,如果您想在
global區域為專案my-project建立 bucket,parent參數會如下所示:projects/my-project/locations/global設定
bucketId參數,例如my-bucket。呼叫同步方法
projects.locations.buckets.create來建立 bucket。
建立 bucket 後,請建立接收器,將記錄項目傳送至 bucket,並設定記錄檢視畫面,控管哪些使用者可以存取 bucket 中的記錄,以及他們可以查看哪些記錄。您也可以更新 bucket 來設定自訂保留期限。
列出及查看記錄檔 bucket 的詳細資料
本節說明如何列出及查看專案、資料夾或機構中的記錄儲存區詳細資料。
列出值區
如要列出與 Cloud de Confiance 專案相關聯的記錄檔 bucket,並查看保留設定等詳細資料,請按照下列步驟操作:
Cloud de Confiance 控制台
在 Cloud de Confiance 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
名為「記錄檔值區」的表格會列出與目前專案相關聯的值區。Cloud de Confiance
表格會列出每個記錄檔 bucket 的下列屬性:
- 名稱:記錄檔 bucket 的名稱。
- 說明:bucket 的說明。
- 保留期限:Cloud Logging 儲存 bucket 資料的天數。
- 區域:儲存 bucket 資料的地理位置。
- 狀態:儲存空間是否已鎖定或未鎖定。
如果 Cloud Logging 即將刪除值區,該值區的表格項目會標註 warning 警告符號。
gcloud
執行 gcloud logging buckets list 指令:
gcloud logging buckets list
您會看到記錄 bucket 的下列屬性:
LOCATION:儲存值區資料的區域。BUCKET_ID:記錄檔 bucket 的名稱。RETENTION_DAYS:Cloud Logging 儲存 bucket 資料的天數。LIFECYCLE_STATE:指出 Cloud Logging 是否正在刪除值區。LOCKED:儲存空間是否已鎖定或解除鎖定。CREATE_TIME:表示 Bucket 建立時間的時間戳記。UPDATE_TIME:時間戳記,表示 Bucket 上次修改的時間。
您也可以只查看一個值區的屬性。舉例來說,如要查看 global 區域中 _Default 記錄檔 bucket 的詳細資料,請執行 gcloud logging buckets describe 指令:
gcloud logging buckets describe _Default --location=global
REST
如要列出與 Cloud de Confiance 專案相關聯的記錄值區,請在 Logging API 中使用 projects.locations.buckets.list。
查看值區詳細資料
如要查看單一記錄檔 bucket 的詳細資料,請執行下列操作:
Cloud de Confiance 控制台
在 Cloud de Confiance 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在記錄檔 bucket 上,按一下「更多」圖示 more_vert,然後選取「查看 bucket 詳細資料」。
對話方塊會列出記錄檔 bucket 的下列屬性:
- 名稱:記錄檔 bucket 的名稱。
- 說明:記錄檔 bucket 的說明。
- 保留期限:Cloud Logging 儲存 bucket 資料的天數。
- 區域:儲存 bucket 資料的地理位置。
gcloud
執行 gcloud logging buckets describe 指令。
舉例來說,下列指令會回報 _Default 儲存空間的詳細資料:
gcloud logging buckets describe _Default --location=global
您會看到記錄檔 bucket 的下列屬性:
createTime:表示 Bucket 建立時間的時間戳記。description:記錄檔 bucket 的說明。lifecycleState:指出 Cloud Logging 是否正在刪除值區。name:記錄檔 bucket 的名稱。retentionDays:Cloud Logging 儲存 bucket 資料的天數。updateTime:時間戳記,表示 Bucket 上次修改的時間。
REST
如要查看單一記錄檔儲存空間的詳細資料,請在 Logging API 中使用 projects.locations.buckets.get。
管理值區
本節說明如何使用 Google Cloud CLI 或 Cloud de Confiance 控制台管理記錄 bucket。
更新 bucket
如要更新值區的屬性 (例如說明或保留期限),請按照下列步驟操作:
Cloud de Confiance 控制台
如要更新 bucket 的屬性,請按照下列步驟操作:
-
在 Cloud de Confiance 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找到要更新的 bucket,然後按一下「更多」圖示 more_vert。
選取「編輯 bucket」。
視需要編輯 bucket。
按一下「Update bucket」(更新 bucket)。
gcloud
如要更新 bucket 的屬性,請執行 gcloud logging buckets update 指令:
gcloud logging buckets update BUCKET_ID --location=LOCATION UPDATED_ATTRIBUTES
例如:
gcloud logging buckets update my-bucket --location=global --description "Updated description"
REST
如要更新 bucket 的屬性,請在 Logging API 中使用 projects.locations.buckets.patch。
設定自訂保留時間
建立記錄檔值區時,您可以自訂 Cloud Logging 在值區中儲存記錄檔的期限。如果 _Default 記錄檔 bucket 位於專案中,您也可以設定該記錄檔 bucket 的保留期限。
您無法變更 _Required 記錄檔值區的保留期限。此外,您也無法延長資料夾或機構中記錄檔值區的保留期限。不過,您可以建立記錄檔接收器,將資料夾或機構層級的記錄項目轉送至專案中的記錄檔 bucket,然後設定該記錄檔 bucket 的保留期限。
如果縮短記錄檔 bucket 的保留期限,系統會提供 7 天的寬限期,不會刪除過期的記錄。您無法查詢或查看過期的記錄。不過,在這 7 天內,您可以延長 Bucket 的保留期限,恢復完整存取權。寬限期內儲存的記錄檔會產生保留費用。
強制執行保留政策是最終一致性程序。如果記錄項目早於記錄檔 bucket 的保留期限,但您仍將這些項目寫入 bucket,則可能短暫看到這些項目。舉例來說,如果您將 10 天前的記錄項目傳送至保留期限為 7 天的記錄檔 bucket,這些記錄項目就會儲存,然後在期限過後清除。這些記錄項目不會計入保留費用。但會計入儲存空間費用。為盡量減少儲存空間費用,請勿寫入早於值區保留期限的記錄項目。
如要更新自訂記錄檔值區或專案中 _Default 記錄檔值區的保留期限,請按照下列步驟操作:
Cloud de Confiance 控制台
如要更新記錄檔 bucket 的保留期限,請按照下列步驟操作:
-
在 Cloud de Confiance 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找到要更新的 bucket,然後依序點選「更多」圖示 more_vert 和「編輯 bucket」。
在「保留」欄位中,輸入您希望 Cloud Logging 保留記錄檔的天數 (1 到400 days天)。
按一下「Update bucket」(更新 bucket)。新的保留期限會顯示在「記錄檔值區」清單中。
gcloud
如要更新使用者定義記錄檔 bucket 或專案中 _Default 記錄檔 bucket 的保留期限,請先設定 RETENTION_DAYS 的值,然後執行 gcloud logging buckets update 指令:
gcloud logging buckets update BUCKET_ID --location=LOCATION --retention-days=RETENTION_DAYS
舉例來說,如要將 global 位置的 _Default bucket 中的記錄保留一年,指令會如下所示:
gcloud logging buckets update _Default --location=global --retention-days=365
如果您延長 bucket 的保留期限,保留規則會從延長期限後開始套用,不會追溯套用。適用保留期限結束後,記錄就無法復原。
鎖定 bucket
鎖定值區以防更新時,系統也會鎖定值區的保留政策。保留政策鎖定後,您必須等待 bucket 中的每筆記錄項目達到 bucket 的保留期限,才能刪除 bucket。如要避免意外刪除含有已鎖定記錄檔 bucket 的專案,請為專案新增防刪除鎖定。詳情請參閱「透過防刪除鎖定保護專案」。
如要防止任何人更新或刪除記錄檔 bucket,請鎖定該 bucket。如要鎖定值區,請執行下列步驟:
Cloud de Confiance 控制台
Cloud de Confiance 控制台不支援鎖定記錄檔 bucket。
gcloud
如要鎖定值區,請執行加上 --locked 旗標的 gcloud logging buckets update 指令:
gcloud logging buckets update BUCKET_ID --location=LOCATION --locked
例如:
gcloud logging buckets update my-bucket --location=global --locked
REST
如要鎖定 bucket 的屬性,請在 Logging API 中使用 projects.locations.buckets.patch。將 locked 參數設為 true。
刪除值區
您可以刪除符合下列任一條件的記錄檔值區:
如果記錄檔值區儲存的記錄檔項目尚未達到值區的保留期限,您就無法刪除已鎖定更新的記錄檔值區。
發出刪除指令後,記錄檔 bucket 會進入 DELETE_REQUESTED 狀態,並維持 7 天。在這段時間範圍內,記錄服務會繼續將記錄傳送至記錄檔 bucket。如要停止將記錄檔轉送至記錄檔 bucket,請刪除或修改將記錄檔項目轉送至 bucket 的記錄檔接收器。
您無法建立與 DELETE_REQUESTED 狀態的記錄檔 bucket 同名的新記錄檔 bucket。
如要刪除記錄檔 bucket,請按照下列步驟操作:
Cloud de Confiance 控制台
如要刪除記錄檔 bucket,請按照下列步驟操作:
-
在 Cloud de Confiance 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找到要刪除的 bucket,然後按一下「更多」more_vert。
選取「刪除值區」。
在確認面板中,按一下「刪除」。
在「記錄儲存空間」頁面中,值區會顯示待刪除的指標。值區 (包括其中的所有記錄) 會在 7 天後刪除。
gcloud
如要刪除記錄檔 bucket,請執行 gcloud logging buckets delete 指令:
gcloud logging buckets delete BUCKET_ID --location=LOCATION
如果記錄檔 bucket 連結了 BigQuery 資料集,您就無法刪除該 bucket:
- 如要列出與記錄檔 bucket 相關聯的連結,請執行
gcloud logging links list指令。 - 如要刪除連結的 BigQuery 資料集,請執行
gcloud logging links delete指令。
REST
如要刪除 bucket,請在 Logging API 中使用 projects.locations.buckets.delete。
還原已刪除的 bucket
您可以還原或取消刪除處於待刪除狀態的記錄檔值區。如要還原記錄檔 bucket,請按照下列步驟操作:
Cloud de Confiance 控制台
如要還原待刪除的記錄檔 bucket,請按照下列步驟操作:
-
在 Cloud de Confiance 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找到要還原的值區,然後依序點按「更多」圖示 more_vert 和「還原已刪除的值區」。
在確認面板中,按一下「還原」。
在「記錄檔儲存空間」頁面中,系統會從記錄檔 bucket 移除待刪除指標。
gcloud
如要還原待刪除的記錄檔 bucket,請執行 gcloud logging buckets undelete 指令:
gcloud logging buckets undelete BUCKET_ID --location=LOCATION
REST
如要還原待刪除的 bucket,請在 Logging API 中使用 projects.locations.buckets.undelete。
讀取及寫入記錄項目
您不會直接將記錄檔寫入記錄檔 bucket。而是將記錄寫入Cloud de Confiance 資源:專案、資料夾或機構。 Cloud de Confiance 父項資源中的接收器隨後會將記錄傳送至目的地,包括記錄儲存空間。當記錄檔符合接收器的篩選條件,且接收器有權將記錄檔轉送至記錄檔 bucket 時,接收器就會將記錄檔轉送至記錄檔 bucket 目的地。詳情請參閱「路由記錄項目」。
每個記錄檔 bucket 都有一組記錄檢視畫面。如要從記錄檔值區讀取記錄,您需要記錄檔值區的記錄檢視存取權。記錄檢視畫面可讓您只授予使用者存取記錄檔值區中部分記錄的權限。如要進一步瞭解記錄檢視畫面,請參閱「儲存記錄項目」和「設定記錄值區的記錄檢視畫面」。
如要從記錄儲存區讀取記錄,請執行下列操作:
Cloud de Confiance 控制台
-
前往 Cloud de Confiance 控制台的 「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
如要自訂要在 Logs Explorer 中顯示的記錄,請按一下「縮小範圍」,然後選取選項。舉例來說,您可以查看儲存在專案或記錄檢視中的記錄。
按一下 [套用]。「Query results」(查詢結果) 窗格會重新載入,並顯示符合所選選項的記錄。
詳情請參閱「Logs Explorer 總覽:縮小範圍」。
gcloud
如要從記錄值區讀取記錄,請使用 gcloud logging read 指令並新增 LOG_FILTER 來選取資料:
gcloud logging read LOG_FILTER --bucket=BUCKET_ID --location=LOCATION --view=LOG_VIEW_ID
REST
如要從記錄儲存區讀取記錄,請使用 entries.list 方法。設定 resourceNames 指定適當的 bucket 和記錄檢視畫面,並設定 filter 選取資料。
如要進一步瞭解篩選語法,請參閱「Logging 查詢語言」。
疑難排解常見問題
如果使用記錄檔儲存空間時遇到問題,請參閱下列疑難排解步驟和常見問題解答。
為什麼我無法刪除這個值區?
如要刪除值區,請按照下列步驟操作:
確認您具備刪除值區的適當權限。如需所需權限清單,請參閱「使用 IAM 控管存取權」。
列出 bucket 的屬性,判斷 bucket 是否已鎖定。如果 bucket 已鎖定,請檢查 bucket 的保留期限。除非值區中的所有記錄檔都達到保留期限,否則無法刪除鎖定的值區。
哪些服務帳戶正在將記錄檔轉送至我的值區?
如要判斷是否有任何服務帳戶具備將記錄檔傳送至值區的 IAM 權限,請按照下列步驟操作:
-
前往 Cloud de Confiance 控制台的「IAM」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「IAM & Admin」(IAM 與管理) 的結果。
在「權限」分頁中,按「角色」查看。畫面上會顯示表格,列出與Cloud de Confiance 專案相關聯的所有 IAM 角色和主體。
在資料表的「Filter」(篩選器)文字方塊 filter_list 中,輸入「Logs Bucket Writer」(記錄檔 Bucket 寫入者)。
畫面上會顯示具備「記錄儲存空間寫入者」角色的所有主體。如果主體是服務帳戶,其 ID 會包含
s3ns-system.iam.gserviceaccount.com字串。選用:如要移除服務帳戶,使其無法將記錄檔傳送至 Cloud de Confiance 專案,請選取服務帳戶的核取方塊 check_box_outline_blank,然後按一下「移除」。
Why do I see logs for a Cloud de Confiance project even though I excluded them from my _Default sink?
您可能正在集中式 Cloud de Confiance 專案的記錄檔 bucket 中查看記錄,該專案會匯總整個機構的記錄。
如果您使用 Logs Explorer 存取這些記錄,並看到您從 _Default 接收器排除的記錄,則檢視畫面可能設為Cloud de Confiance 專案層級。
如要修正這個問題,請在「縮小範圍」選單中選取「記錄檢視」,然後選取與 _Default 值區相關聯的記錄檢視Cloud de Confiance 專案。您應該不會再看到排除的記錄。
後續步驟
如要瞭解記錄檔 bucket API 方法,請參閱LogBucket參考文件。
如果您管理機構或資料夾,可以指定子項資源的 _Default 和 _Required 記錄檔儲存空間位置。您也可以設定記錄檔 bucket 是否使用 CMEK,以及 _Default 記錄檔接收器的行為。詳情請參閱「調整機構和資料夾的預設設定」。
如要瞭解如何使用記錄值區處理常見用途,請參閱下列主題: