本文說明 Cloud Vision 在 Cloud 稽核記錄中建立的稽核記錄。
總覽
Google Cloud 服務會寫入稽核記錄,協助您回答 Google Cloud 資源中「人事時地物」等問題。
Google Cloud 專案的稽核記錄都僅涵蓋直接隸屬於 Google Cloud 專案的資源。資料夾、組織和帳單帳戶等其他 Google Cloud 資源也各有其實體的稽核記錄。
如需 Cloud 稽核記錄的概要總覽,請參閱「Cloud 稽核記錄總覽」。如要深入瞭解稽核記錄格式,請參閱「瞭解稽核記錄」。
可用的稽核記錄
Vision 提供下列稽核記錄類型:
-
管理員活動稽核記錄
包括寫入中繼資料或設定資訊的「管理員寫入」作業。
您無法停用管理員活動稽核記錄。
如需稽核記錄類型的完整說明,請參閱「稽核記錄類型」。
已稽核的作業
下表摘要列出與 Vision 中每個稽核記錄類型對應的 API 作業:
| 稽核記錄類別 | Vision API 作業 |
|---|---|
| 管理員活動記錄 | images.annotate |
稽核記錄格式
稽核記錄項目包含下列物件:
記錄項目本身,屬於
LogEntry類型的物件。實用的欄位包括:logName包含資源 ID 和稽核記錄類型。資源可以是專案、資料夾、組織或帳單帳戶。resource包含稽核作業的目標。timeStamp包含稽核作業的時間。protoPayload包含稽核的資訊。
稽核記錄資料,這是儲存在記錄項目
protoPayload欄位中的AuditLog物件。@type欄位設為"type.googleapis.com/google.cloud.audit.AuditLog"。serviceName欄位會指出寫入稽核記錄的服務。此欄位的格式視服務而定。
選用服務專屬稽核資訊,這是服務專屬物件。如果是較早的整合,這個物件會儲存在
AuditLog物件的serviceData欄位中;較新的整合則使用metadata欄位。
如要瞭解這些物件中的其他欄位,以及如何解讀這些資料,請參閱「瞭解稽核記錄」。
記錄檔名稱
Cloud 稽核記錄的記錄檔名稱包含資源 ID,指出擁有稽核記錄的Google Cloud 專案或其他 Google Cloud 實體,以及記錄檔包含的是管理員活動、資料存取權、政策遭拒或系統事件稽核記錄資料。
以下是稽核記錄名稱,包括資源 ID 的變數:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
服務名稱
Vision API 稽核記錄會使用服務名稱 vision.googleapis.com。
如需所有 Cloud Logging API 服務名稱及其對應受監控資源類型的清單,請參閱「將服務對應至資源」。
資源類型
Vision API 稽核記錄使用的資源類型一律為 audited_resource。
如需所有 Cloud Logging 受監控資源類型和說明資訊的清單,請參閱「受監控資源類型」。
呼叫端身分
呼叫端的 IP 位址會儲存在 AuditLog 物件的 RequestMetadata.caller_ip 欄位中。Logging 可能會遮蓋特定呼叫端身分和 IP 位址。
如要瞭解稽核記錄中會遮蓋哪些資訊,請參閱「稽核記錄中的呼叫端身分」。
啟用稽核記錄
系統一律會啟用管理員活動稽核記錄,且該記錄無法停用。
權限與角色
IAM 權限與角色會決定您能否存取 Google Cloud 資源中的稽核記錄資料。
決定要將哪些 Logging 專用權限與角色套用至您的用途時,請考量下列事項:
「記錄檢視者」角色 (
roles/logging.viewer) 可讓您以唯讀存取管理員活動、政策遭拒和系統事件稽核記錄。如果您只有這個角色,就無法查看_Defaultbucket 中的資料存取稽核記錄。「私人記錄檢視者」角色
(roles/logging.privateLogViewer) 包含roles/logging.viewer中的權限,外加讀取_Defaultbucket 中資料存取稽核記錄的權限。請注意,如果這些私人記錄檔儲存在使用者定義的 bucket 中,則任何有權讀取這些 bucket 中記錄檔的使用者,都能讀取私人記錄檔。如要進一步瞭解記錄檔 bucket,請參閱「轉送功能和儲存空間簡介」。
如要進一步瞭解適用於稽核記錄資料的 IAM 權限與角色,請參閱「使用 IAM 控管存取權」。
查看記錄
您可以查詢所有稽核記錄,也可以依稽核記錄名稱查詢記錄檔。稽核記錄名稱包含您要查看稽核記錄資訊的 Google Cloud 專案、資料夾、帳單帳戶或組織的資源 ID。查詢可以指定已建立索引的 LogEntry 欄位。如要進一步瞭解如何查詢記錄檔,請參閱「透過 Logs Explorer 建構查詢」。
您可以使用 Logs Explorer 檢視及篩選個別記錄項目。如要使用 SQL 分析記錄項目群組,請使用「記錄檔分析」頁面。如需詳細資訊,請參閱:
使用Google Cloud 控制台、Google Cloud CLI 或 Logging API,在 Cloud Logging 中查看大部分的稽核記錄。不過,如要查看與帳單相關的稽核記錄,只能使用 Google Cloud CLI 或 Logging API。
控制台
在 Google Cloud 控制台中,可以使用 Logs Explorer 擷取 Google Cloud 專案、資料夾或組織的稽核記錄項目:
-
前往 Google Cloud 控制台的「Logs Explorer」頁面:
如果是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
選取現有的 Google Cloud 專案、資料夾或組織。
如要顯示所有稽核記錄,請在查詢編輯器欄位中輸入下列任一查詢,然後按一下「Run query」(執行查詢):
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
如要顯示特定資源和稽核記錄類型的稽核記錄,請在「Query builder」(查詢建立工具) 窗格中執行下列操作:
在「Resource type」(資源類型) 中,選取要查看稽核記錄的 Google Cloud 資源。
在「Log name」(記錄檔名稱) 中,選取要查看的稽核記錄類型:
- 如要查看管理員活動稽核記錄,請選取「activity」(活動)。
- 如要查看資料存取稽核記錄,請選取「data_access」。
- 如要查看系統事件稽核記錄,請選取「system_event」。
- 如要查看政策遭拒稽核記錄,請選取「policy」(政策)。
按一下「Run query」(執行查詢)。
如果沒有看到這些選項,表示 Google Cloud 專案、資料夾或組織中沒有這類型的稽核記錄。
如果無法在 Logs Explorer 中查看記錄檔,請參閱疑難排解資訊。
如要進一步瞭解如何使用 Logs Explorer 查詢,請參閱「透過 Logs Explorer 建構查詢」。
gcloud
Google Cloud CLI 提供 Logging API 的指令列介面,並在每個記錄檔名稱中提供有效的資源 ID。例如,如果查詢包含 PROJECT_ID,則您提供的專案 ID 必須參照目前選取的Google Cloud 專案。
如要讀取 Google Cloud 專案層級的稽核記錄項目,請執行下列指令:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
--project=PROJECT_ID
如要讀取資料夾層級的稽核記錄項目,請執行下列指令:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
--folder=FOLDER_ID
如要讀取組織層級的稽核記錄項目,請執行下列指令:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
--organization=ORGANIZATION_ID
如要讀取 Cloud Billing 帳戶層級的稽核記錄項目,請執行下列指令:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
--billing-account=BILLING_ACCOUNT_ID
在指令中加入 --freshness 旗標,即可讀取超過 1 天的記錄檔。
如要進一步瞭解如何使用 gcloud CLI,請參閱 gcloud logging read。
REST
建構查詢時,請在每個記錄檔名稱中提供有效的資源 ID。例如,如果查詢包含 PROJECT_ID,則您提供的專案 ID 必須參照目前選取的Google Cloud 專案。
例如,如要使用 Logging API 查看專案層級的稽核記錄項目,請按照下列步驟操作:
前往
entries.list方法說明文件中的「Try this API」(試用這個 API) 部分。將下列內容放入「Try this API」(試用這個 API) 表單的「Request body」(要求主體) 部分。按一下這份已預先填入資料的表單就能自動填入要求主體,但您必須在每個記錄檔名稱中提供有效的 PROJECT_ID。
{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }按一下「Execute」(執行)。
轉送稽核記錄
您可以採用與轉送其他類型記錄檔相同的方式,轉送稽核記錄至支援的目的地。以下列舉幾個可能需要轉送稽核記錄的原因:
如要長時間保留稽核記錄,或使用更強大的搜尋功能,您可以將稽核記錄的副本轉送至 Cloud Storage、BigQuery 或 Pub/Sub。您可以使用 Pub/Sub 轉送至其他應用程式、其他存放區或第三方。
如要管理整個組織的稽核記錄,您可以建立匯總接收器,從組織的任何或所有 Google Cloud 專案轉送記錄檔。
如需轉送記錄檔的操作說明,請參閱「轉送記錄檔至支援的目的地」。
定價
如要進一步瞭解定價,請參閱「Google Cloud Observability 定價」頁面的 Cloud Logging 部分。