通过查看 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:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
查看 OS Login 审核日志
要显示 OS Login 连接尝试的列表,请查询 Cloud Audit Logs。
执行此任务所需的权限
您必须拥有以下权限才能执行此任务:
- Logging/Logs Viewer 角色或 Project/Viewer 角色。
在 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 审核日志部分。
检查 OS Login 审核日志
检查审核日志的 methodName
和 principalEmail
字段,了解对启用了 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 审核日志属性
以下部分介绍审核日志的属性。某些属性在所有审核日志中是通用的,其他属性则为 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 。其他验证则作为可选项提供,用户可以指定这些可选项来取代系统推荐的主要验证方案。 |
后续步骤
- 详细了解日志记录查询语言以自定义 OS Login 审核日志查询。
- 了解到 Linux 虚拟机的 SSH 连接在 Compute Engine 上的工作原理。