您可以查看 OS 登入稽核記錄,監控已啟用 OS 登入功能的虛擬機器 (VM) 執行個體連線嘗試情形。這些稽核記錄一律為啟用狀態,無法透過資料存取設定停用。
您也可以使用 Google Workspace Admin SDK 追蹤 OS 登入相關事件和活動,例如新增、刪除或更新安全殼層金鑰,或刪除 POSIX 資訊。
事前準備
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
查看 OS Login 稽核記錄
如要顯示 OS Login 稽核記錄清單,請查詢 Cloud 稽核記錄。
主控台
在 Google Cloud 控制台中,前往「Logs Explorer」(記錄檔探索工具) 頁面。
在「Query」欄位中輸入下列查詢:
protoPayload.serviceName="oslogin.googleapis.com"
如果要搜尋的事件發生在超過 1 小時前,請按一下時鐘符號,然後輸入自訂時間範圍。
按一下 [Run query] (執行查詢)。結果會顯示在「查詢結果」部分。
按一下各個結果旁的
展開箭頭,即可查看詳細資訊。如要瞭解 OS Login 稽核記錄的類型及其含義,請繼續參閱本文件的「查看 OS Login 稽核記錄」一節。
gcloud
使用
gcloud logging read
指令查看 Cloud 稽核記錄:gcloud logging read --freshness=TIME 'protoPayload.serviceName="oslogin.googleapis.com"'
將
TIME
替換為要查詢的時間長度。舉例來說,1h
會查詢過去一小時內的記錄項目。如要瞭解日期和時間格式,請參閱 gcloud 主題日期時間。結果隨即顯示。
如要瞭解 OS Login 稽核記錄的類型及其含義,請繼續參閱本文件的「查看 OS Login 稽核記錄」一節。
查看 OS Login 稽核記錄
查看稽核記錄的 methodName
欄位,瞭解已啟用 OS 登入功能的 VM 連線嘗試類型,以及發起這些連線嘗試的使用者。
展開 protoPayload
部分,查看連線嘗試的 methodName
欄位。如要瞭解每個 methodName
欄位的意義,請參閱下表:
方法 | 連線類型 | 說明 |
---|---|---|
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ListLoginProfiles |
所有 OS 登入連線 | 表示要求列出與 VM 位於相同專案中的 OS 登入資料檔案使用者,或要求查詢個別使用者的個人資料。 使用者嘗試連線至 VM 時,系統會發出此呼叫。OS 登入代理程式也會定期呼叫此方法,以更新登入快取。 |
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy |
所有 OS 登入連線 | 表示嘗試連線至 VM:
展開 |
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession |
OS Login 2FA 連線 | 表示新的 2FA 驗證工作階段。在 StartSession 呼叫中,用戶端會向伺服器宣告其功能,並取得可用挑戰的相關資訊。 |
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession |
OS Login 2FA 連線 | 表示驗證工作階段的後續動作。用戶端完成伺服器在先前 |
OS Login 稽核記錄屬性
以下各節說明稽核記錄的屬性。部分屬性適用於所有稽核記錄,其他屬性則僅適用於 CheckPolicy
、StartSession
和 ContinueSession
方法。
常見的 OS 登入稽核記錄屬性
下表列出的屬性適用於所有 OS 登入稽核記錄。
屬性 | 值 |
---|---|
serviceName |
oslogin.googleapis.com |
resourceName |
包含專案編號的字串,代表稽核記錄所屬的登入要求。例如 projects/myproject12345 。 |
severity |
記錄訊息的嚴重性等級。例如 INFO 或 WARNING 。如要進一步瞭解嚴重性層級,請參閱
LogSeverity。 |
authenticationInfo.principalEmail |
驗證方法所要驗證的使用者電子郵件地址。 |
request.numericProjectId |
Google Cloud 專案的專案編號。 |
ListLoginProfiles
稽核記錄屬性
下表列出的屬性適用於 ListLoginProfiles
稽核記錄。
屬性 | 值 |
---|---|
methodName |
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ListLoginProfiles |
request.@type |
type.googleapis.com/google.cloud.oslogin.dataplane.ListLoginProfilesRequest |
CheckPolicy
稽核記錄屬性
下表列出的屬性適用於 CheckPolicy
稽核記錄。
屬性 | 值 |
---|---|
methodName |
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy |
request.@type |
type.googleapis.com/google.cloud.oslogin.dataplane.CheckPolicyRequest |
request.policy |
要檢查的權限。LOGIN (檢查使用者是否獲授權登入 VM) 或 ADMIN_LOGIN (檢查使用者是否獲授權在 VM 上擁有管理員存取權)。 |
response.success |
LOGIN 或 ADMIN_LOGIN
request.policy 檢查的結果。視使用者是否已取得指定政策的授權而定,可能是 true 或 false 。 |
StartSession
稽核記錄屬性
下表列出的屬性適用於已啟用 OS Login 雙重驗證機制的 VM 的 StartSession
稽核記錄。
屬性 | 值 |
---|---|
methodName |
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession |
request.@type |
type.googleapis.com/google.cloud.oslogin.dataplane.StartSessionRequest |
request.supportedChallengeTypes |
您可以選擇的驗證類型或 2FA 方法清單。 |
response.authenticationStatus |
工作階段的狀態。只能設為 Authenticated 、Challenge required 或 Challenge pending 。 |
response.sessionId |
獨特識別工作階段的 ID 字串,此工作階段 ID 會傳送到序列中的 ContinueSession 呼叫。 |
response.challenges |
您可以嘗試用來通過此輪驗證的驗證組合。在這些驗證中最多只會有一項已經啟動且其狀態為 READY 。其他則會當成提供給使用者的選項,使用者可以指定這些選項做為提議之主要驗證以外的替代方案。 |
ContinueSession
稽核記錄屬性
下表列出的屬性適用於已啟用 OS Login 雙重驗證機制的 VM 的 ContinueSession
稽核記錄。
屬性 | 值 |
---|---|
methodName |
google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession |
request.sessionId |
獨特識別工作階段的 ID 字串,此工作階段 ID 是從 StartSession 呼叫傳送。 |
request.@type |
type.googleapis.com/google.cloud.oslogin.dataplane.ContinueSessionRequest |
request.challengeId |
ID 字串,可識別要啟動或執行的驗證。此 ID 必須屬於 StartSession 回應中 response.challenges 呼叫所傳回的驗證類型。 |
request.action |
完成 挑戰的必要動作。 |
response.authenticationStatus |
工作階段的狀態。例如 Authenticated 、Challenge required 或 Challenge pending 。 |
response.challenges.status |
SUCCESS 表示使用者已成功連線至 VM。 |
response.challenges |
您可以嘗試用來通過此輪驗證的驗證組合。在這些驗證中最多只會有一項已經啟動且其狀態為 READY 。其他則會當成提供給使用者的選項,使用者可以指定這些選項做為提議之主要驗證以外的替代方案。 |
後續步驟
- 進一步瞭解Logging 查詢語言,以便自訂 OS Login 稽核記錄查詢。
- 瞭解如何透過 SSH 連線至 Linux VM,在 Compute Engine 上執行工作負載。