监控 OS Login 审核日志


通过查看 OS Login 审核日志,您可以监控对启用了 OS Login 和 OS Login 双重身份验证 (2FA) 的虚拟机实例的连接尝试。 这些审核日志始终处于启用状态,且无法通过数据访问配置停用。

您还可以使用 Google Workspace Admin SDK 跟踪与 OS Login 相关的事件和活动,例如添加、删除或更新 SSH 密钥或删除 POSIX 信息。

准备工作

  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. 设置默认区域和可用区

查看 OS Login 审核日志

要显示 OS Login 连接尝试的列表,请查询 Cloud Audit Logs。

控制台

  1. 在 Google Cloud 控制台中,转到日志浏览器页面。

    转到日志浏览器

  2. 查询字段中,输入以下查询:

    protoPayload.serviceName="oslogin.googleapis.com"
    

  3. 如果您查找的事件是在一小时之前发生的,请点击时钟符号并输入自定义范围来设置自定义时间范围。

    设置查询时间范围。

  4. 点击运行查询。结果会显示在查询结果部分中。

  5. 点击每个结果旁边的展开箭头 以显示详细信息。

  6. 如需了解 OS Login 审核日志的类型及其含义,请继续阅读本文档的检查 OS Login 审核日志部分。

gcloud

  1. 使用 gcloud logging read 命令查看 Cloud Audit Logs:

    gcloud logging read --freshness=TIME 'protoPayload.serviceName="oslogin.googleapis.com"'
    

    TIME 替换为您要查询的时间。例如,1h 会查询过去一小时内的日志条目。如需了解日期和时间格式,请参阅 gcloud topic datetimes

    结果显示。

  2. 如需了解 OS Login 审核日志的类型及其含义,请继续阅读本文档的检查 OS Login 审核日志部分。

检查 OS Login 审核日志

检查审核日志的 methodNameprincipalEmail 字段,了解对启用了 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 审核日志属性

以下部分介绍审核日志的属性。某些属性在所有审核日志中是通用的,其他属性则为 CheckPolicyStartSessionContinueSession 方法的专用属性。

通用 OS Login 审核日志属性

下表中列出的属性在所有 OS Login 审核日志中是通用的。

属性
serviceName oslogin.googleapis.com
resourceName 包含项目编号的字符串,指示审核日志所属的登录请求。例如,projects/myproject12345
severity 日志消息的严重级别。例如 INFOWARNING。 如需详细了解严重级别,请参阅 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 LOGINADMIN_LOGIN request.policy 检查的结果。可以是 truefalse,具体取决于用户是否获得指定政策的授权。

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 会话状态。AuthenticatedChallenge requiredChallenge 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 会话状态。例如 AuthenticatedChallenge requiredChallenge pending
response.challenges.status SUCCESS 表示用户已成功连接到虚拟机。
response.challenges 可供您为通过此轮身份验证而尝试的一组验证。其中最多有一项验证已开始,并且状态为 READY。其他验证则作为可选项提供,用户可以指定这些可选项来取代系统推荐的主要验证方案。

后续步骤