通过查看 OS Login 审核日志,您可以监控对启用了 OS Login 和 OS Login 双重身份验证 (2FA) 的虚拟机实例的连接尝试。 这些审核日志始终处于启用状态,且无法通过数据访问配置停用。
您还可以使用 Google Workspace Admin SDK 跟踪与 OS Login 相关的事件和活动,例如添加、删除或更新 SSH 密钥或删除 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
在 Google Cloud 控制台中,转到日志浏览器页面。
在查询字段中,输入以下查询:
protoPayload.serviceName="oslogin.googleapis.com"
如果您查找的事件是在一小时之前发生的,请点击时钟符号并输入自定义范围来设置自定义时间范围。
点击运行查询。结果会显示在查询结果部分中。
点击每个结果旁边的展开箭头
以显示详细信息。如需了解 OS Login 审核日志的类型及其含义,请继续阅读本文档的检查 OS Login 审核日志部分。
使用
gcloud logging read
命令查看 Cloud Audit Logs:gcloud logging read --freshness=TIME 'protoPayload.serviceName="oslogin.googleapis.com"'
将
TIME
替换为您要查询的时间。例如,1h
会查询过去一小时内的日志条目。如需了解日期和时间格式,请参阅 gcloud topic datetimes。结果显示。
如需了解 OS Login 审核日志的类型及其含义,请继续阅读本文档的检查 OS Login 审核日志部分。
展开
protoPayload
部分以查看连接尝试的methodName
字段。如需了解每个methodName
字段的含义,请参阅下表:方法 连接类型 说明 google.cloud.oslogin.v1.OsLoginService.CheckPolicy
所有 OS Login 连接 表示对虚拟机的连接尝试。 对于非 2FA 连接,成功响应表示用户已连接到虚拟机。对于 2FA 连接,成功的连接由成功的 CheckPolicy
调用和成功的ContinueSession
调用表示。google.cloud.oslogin.OsLoginService.v1.StartSession
OS Login 2FA 连接 表示新的 2FA 身份验证会话。在 StartSession
调用中,客户端向服务器声明其功能并获取有关可用验证的信息。google.cloud.oslogin.OsLoginService.v1.ContinueSession
OS Login 2FA 连接 表示身份验证会话的延续。客户端完成服务器在之前的
StartSession
调用中发出的验证,并完成另一个类型的验证。然后,ContinueSession
方法接受对验证或方法的响应,并通过或拒绝身份验证尝试。展开
authenticationInfo
部分以查看principalEmail
字段。principalEmail
字段显示尝试连接到虚拟机的用户的电子邮件地址。- 详细了解日志记录查询语言以自定义 OS Login 审核日志查询。
- 了解到 Linux 虚拟机的 SSH 连接在 Compute Engine 上的工作原理。
查看 OS Login 审核日志
要显示 OS Login 连接尝试的列表,请查询 Cloud Audit Logs。
控制台
gcloud
检查 OS Login 审核日志
检查审核日志的
methodName
和principalEmail
字段,了解对启用了 OS Login 的虚拟机的连接尝试类型以及发起这些连接尝试的用户。OS Login 审核日志属性
以下部分介绍审核日志的属性。某些属性在所有审核日志中是通用的,其他属性则为
CheckPolicy
、StartSession
和ContinueSession
方法的专用属性。通用 OS Login 审核日志属性
下表中列出的属性在所有 OS Login 审核日志中是通用的。
属性 值 serviceName
oslogin.googleapis.com
resourceName
包含项目编号的字符串,指示审核日志所属的登录请求。例如, projects/myproject12345
。severity
日志消息的严重级别。例如 INFO
或WARNING
。 如需详细了解严重级别,请参阅 LogSeverity。authenticationInfo.principalEmail
方法正在验证的用户的电子邮件地址。 request.numericProjectId
Google Cloud 项目的编号。 CheckPolicy
审核日志属性下表中列出的属性适用于
CheckPolicy
审核日志。属性 值 methodName
google.cloud.oslogin.v1.OsLoginService.CheckPolicy
request.@type
type.googleapis.com/google.cloud.oslogin.v1.CheckPolicyRequest
request.policy
要检查的权限。可以是 LOGIN
(检查用户是否有登录虚拟机的权限)或ADMIN_LOGIN
(检查用户是否有虚拟机的管理员权限)。response.success
LOGIN
或ADMIN_LOGIN
request.policy
检查的结果。可以是true
或false
,具体取决于用户是否获得指定政策的授权。StartSession
审核日志属性下表中列出的属性适用于启用了 OS Login 2FA 的虚拟机的
StartSession
审核日志。属性 值 methodName
google.cloud.oslogin.OsLoginService.v1.StartSession
request.@type
type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.StartSessionRequest
request.supportedChallengeTypes
可供您从中选择的验证类型或 2FA 方法列表。 response.authenticationStatus
会话状态。 Authenticated
、Challenge required
或Challenge pending
之一。response.sessionId
唯一标识会话的 ID 字符串。此会话 ID 将传递给序列中的 ContinueSession
调用。response.challenges
在此轮身份验证中您可以尝试通过的一组验证。其中最多有一项验证已开始,并且状态为 READY
。其他验证则作为可选项提供,用户可以指定这些可选项来取代系统推荐的主要验证方案。ContinueSession
审核日志属性下表中列出的属性适用于启用了 OS Login 2FA 的虚拟机的
ContinueSession
审核日志。属性 值 methodName
google.cloud.oslogin.OsLoginService.v1.ContinueSession
request.sessionId
唯一标识上一次会话的 ID 字符串。此会话 ID 从 StartSession
调用传递而来。request.@type
type.googleapis.com/google.cloud.oslogin.OsLoginService.v1.ContinueSessionRequest
request.challengeId
标识要启动或执行哪项验证的 ID 字符串。此 ID 必须属于 response.challenges
调用在StartSession
响应中返回的验证类型。request.action
完成验证需要执行的操作。 response.authenticationStatus
会话状态。例如 Authenticated
、Challenge required
或Challenge pending
。response.challenges.status
SUCCESS
表示用户已成功连接到虚拟机。response.challenges
可供您为通过此轮身份验证而尝试的一组验证。其中最多有一项验证已开始,并且状态为 READY
。其他验证则作为可选项提供,用户可以指定这些可选项来取代系统推荐的主要验证方案。后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-11-21。
-