Method: challenge.verify

验证质询响应。

HTTP 请求

POST https://verifiedaccess.googleapis.com/v2/challenge:verify

网址采用 gRPC 转码语法。

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "challengeResponse": string,
  "expectedIdentity": string
}
字段
challengeResponse

string (bytes format)

必需。对质询生成的响应,即 SignedData 的字节表示法。

使用 base64 编码的字符串。

expectedIdentity

string

可选。服务可以选择提供与密钥关联的设备或用户的身份信息。对于 EMK,此值为已注册网域。对于 EUK,此值为用户的电子邮件地址。如果存在,系统会将此值与响应内容进行比对,如果不匹配,验证将会失败。

响应正文

VerifiedAccess.VerifyChallengeResponse 的结果消息。

对于非受管浏览器上的受管理个人资料,如果成功,返回的响应将不包含 devicePermanentId、keyTrustLevel、virtualDeviceId 和 customerId 字段。 受管理的个人资料将改为包含 profileCustomerId、virtualProfileId 和 profileKeyTrustLevel 字段。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "devicePermanentId": string,
  "virtualDeviceId": string,
  "customerId": string,
  "signedPublicKeyAndChallenge": string,
  "deviceSignal": string,
  "deviceSignals": {
    object (DeviceSignals)
  },
  "keyTrustLevel": enum (KeyTrustLevel),
  "profileCustomerId": string,
  "virtualProfileId": string,
  "profileKeyTrustLevel": enum (KeyTrustLevel),
  "attestedDeviceId": string,
  "deviceEnrollmentId": string
}
字段
devicePermanentId

string

设备永久 ID 会在此字段中返回(仅适用于机器响应)。

virtualDeviceId

string

设备的虚拟设备 ID。虚拟设备 ID 的定义因平台而异。

customerId

string

此设备所属的唯一客户 ID,由 Google Admin SDK 定义,网址为 https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

signedPublicKeyAndChallenge

string

此字段会返回证书签名请求(采用 SPKAC 格式,采用 base64 编码)。只有当设备在质询响应中包含 CSR 时,才会设置此字段。(现在,用户和机器响应均可包含 CSR 选项)

deviceSignal

string

已弃用。以 JSON 字符串表示的设备信号。最好改用 deviceSignals

deviceSignals

object (DeviceSignals)

设备信号。

keyTrustLevel

enum (KeyTrustLevel)

设备经过证明的密钥信任级别。

profileCustomerId

string

此个人资料所属的唯一客户 ID(由 Google Admin SDK 定义,网址为 https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

virtualProfileId

string

设备上个人资料的 ID。

profileKeyTrustLevel

enum (KeyTrustLevel)

配置文件证明的密钥信任级别。

attestedDeviceId

string

经认证的设备 ID (ADID)。

deviceEnrollmentId

string

ChromeOS 设备的设备注册 ID。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/verifiedaccess

如需了解详情,请参阅身份验证概览

DeviceSignals

Chrome 报告的设备信号。除非另有说明,否则信号适用于所有平台。

JSON 表示法
{
  "deviceManufacturer": string,
  "deviceModel": string,
  "operatingSystem": enum (OperatingSystem),
  "osVersion": string,
  "displayName": string,
  "diskEncryption": enum (DiskEncryption),
  "serialNumber": string,
  "osFirewall": enum (OsFirewall),
  "systemDnsServers": [
    string
  ],
  "hostname": string,
  "macAddresses": [
    string
  ],
  "screenLockSecured": enum (ScreenLockSecured),
  "allowScreenLock": boolean,
  "imei": [
    string
  ],
  "meid": [
    string
  ],
  "secureBootMode": enum (SecureBootMode),
  "windowsMachineDomain": string,
  "windowsUserDomain": string,
  "deviceEnrollmentDomain": string,
  "browserVersion": string,
  "deviceAffiliationIds": [
    string
  ],
  "profileAffiliationIds": [
    string
  ],
  "builtInDnsClientEnabled": boolean,
  "chromeRemoteDesktopAppBlocked": boolean,
  "safeBrowsingProtectionLevel": enum (SafeBrowsingProtectionLevel),
  "siteIsolationEnabled": boolean,
  "passwordProtectionWarningTrigger": enum (PasswordProtectionWarningTrigger),
  "realtimeUrlCheckMode": enum (RealtimeUrlCheckMode),
  "thirdPartyBlockingEnabled": boolean,
  "trigger": enum (Trigger),
  "profileEnrollmentDomain": string,
  "crowdStrikeAgent": {
    object (CrowdStrikeAgent)
  }
}
字段
deviceManufacturer

string

设备制造商的名称。

deviceModel

string

设备型号的名称。

operatingSystem

enum (OperatingSystem)

设备上当前运行的操作系统的类型。

osVersion

string

操作系统的当前版本。在 Windows 和 Linux 上,该值还将包含安全补丁信息。

displayName

string

设备的显示名称(由用户定义)。

diskEncryption

enum (DiskEncryption)

磁盘的加密状态。在 ChromeOS 上,主磁盘始终处于加密状态。

serialNumber

string

设备的序列号。在 Windows 上,此字段表示 BIOS 的序列号。不适用于大多数 Linux 发行版。

osFirewall

enum (OsFirewall)

操作系统级防火墙的状态。在 ChromeOS 上,常规设备上的值始终为 ENABLED,处于开发者模式的设备上的值为 UNKNOWN。Chrome M131 引入了对 MacOS 15 (Sequoia) 及更高版本的支持。

systemDnsServers[]

string

在设备的网络设置中配置的所有操作系统级 DNS 服务器的地址列表。

hostname

string

设备的主机名。

macAddresses[]

string

设备的 MAC 地址。

screenLockSecured

enum (ScreenLockSecured)

屏幕锁定密码保护的状态。在 ChromeOS 中,此值将始终为“已启用”,因为在解锁设备时无法停用要求输入密码或 PIN 码的设置。

allowScreenLock

boolean

设备上 AllowScreenLock 政策的值。如需了解详情,请参阅 https://chromeenterprise.google/policies/?policy=AllowScreenLock。仅适用于 ChromeOS。

imei[]

string

设备的国际移动设备识别码 (IMEI)。仅适用于 ChromeOS。

meid[]

string

设备的移动设备标识符 (MEID)。仅适用于 ChromeOS。

secureBootMode

enum (SecureBootMode)

设备的启动软件是否已启用安全启动功能。仅适用于 Windows。

windowsMachineDomain

string

当前计算机加入的 Windows 网域。仅适用于 Windows。

windowsUserDomain

string

当前操作系统用户的 Windows 网域。仅适用于 Windows。

deviceEnrollmentDomain

string

当前正在管理设备的客户的注册域名。

browserVersion

string

生成这组信号的 Chrome 浏览器的当前版本。示例值:“107.0.5286.0”。

deviceAffiliationIds[]

string

与当前管理设备的组织关联的组织的联属 ID。如果设备和个人资料关联 ID 集重叠,则表示管理设备和用户的组织之间存在关联。如需详细了解用户关联,请访问 https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936

profileAffiliationIds[]

string

与当前管理 Chrome 个人资料用户或 ChromeOS 用户的组织关联的组织的关联 ID。

builtInDnsClientEnabled

boolean

是否使用 Chrome 的内置 DNS 客户端。否则会使用 OS DNS 客户端。此值可能由以下企业政策控制:https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled

chromeRemoteDesktopAppBlocked

boolean

是否通过政策阻止了对 Chrome 远程桌面应用的访问。

safeBrowsingProtectionLevel

enum (SafeBrowsingProtectionLevel)

安全浏览保护等级。此设置可能受企业政策控制:https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel

siteIsolationEnabled

boolean

网站隔离(也称为“每个进程一个网站”)设置是否已启用。此设置可能会由企业政策控制:https://chromeenterprise.google/policies/#SitePerProcess

passwordProtectionWarningTrigger

enum (PasswordProtectionWarningTrigger)

密码保护警告功能是否已启用。当用户在潜在的可疑网站上重复使用受保护的密码时,密码保护服务会向用户发出提醒。此设置由企业政策控制:https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger

请注意,未设置政策与将政策明确设置为 PASSWORD_PROTECTION_OFF 的效果不同。

realtimeUrlCheckMode

enum (RealtimeUrlCheckMode)

是否启用企业级(即自定义)不安全网址扫描。此设置可能受企业政策控制:https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode

thirdPartyBlockingEnabled

boolean

Chrome 是否阻止第三方软件注入。此设置可能受企业政策控制:https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled。仅适用于 Windows。

trigger

enum (Trigger)

生成这组信号的触发器。

profileEnrollmentDomain

string

当前正在管理商家资料的客户的注册网域。

crowdStrikeAgent

object (CrowdStrikeAgent)

设备上安装的 Crowdstrike 代理属性(如有)。仅适用于 Windows 和 MacOS。

OperatingSystem

支持的操作系统。

枚举
OPERATING_SYSTEM_UNSPECIFIED 未指定。
CHROME_OS ChromeOS。
CHROMIUM_OS ChromiumOS。
WINDOWS 窗户。
MAC_OS_X Mac OS X。
LINUX Linux

DiskEncryption

主磁盘可能的加密状态。

枚举
DISK_ENCRYPTION_UNSPECIFIED 未指定。
DISK_ENCRYPTION_UNKNOWN Chrome 无法评估加密状态。
DISK_ENCRYPTION_DISABLED 主磁盘未加密。
DISK_ENCRYPTION_ENCRYPTED 主磁盘已加密。

OsFirewall

操作系统级防火墙的可能状态。

枚举
OS_FIREWALL_UNSPECIFIED 未指定。
OS_FIREWALL_UNKNOWN Chrome 无法评估操作系统防火墙状态。
OS_FIREWALL_DISABLED 操作系统防火墙已停用。
OS_FIREWALL_ENABLED 操作系统防火墙处于启用状态。

ScreenLockSecured

屏幕锁定密码保护功能的可能状态。

枚举
SCREEN_LOCK_SECURED_UNSPECIFIED 未指定。
SCREEN_LOCK_SECURED_UNKNOWN Chrome 无法评估屏幕锁定机制的状态。
SCREEN_LOCK_SECURED_DISABLED 屏幕锁定功能未受密码保护。
SCREEN_LOCK_SECURED_ENABLED 屏幕锁定功能受密码保护。

SecureBootMode

设备安全启动模式的可能状态。

枚举
SECURE_BOOT_MODE_UNSPECIFIED 未指定。
SECURE_BOOT_MODE_UNKNOWN Chrome 无法确定安全启动模式。
SECURE_BOOT_MODE_DISABLED 启动软件上的安全启动功能已停用。
SECURE_BOOT_MODE_ENABLED 启动软件上启用了安全启动。

SafeBrowsingProtectionLevel

安全浏览保护等级的可能值。

枚举
SAFE_BROWSING_PROTECTION_LEVEL_UNSPECIFIED 未指定。
INACTIVE “安全浏览”功能已停用。
STANDARD “安全浏览”功能处于开启状态且会在标准模式下运行。
ENHANCED “安全浏览”功能处于开启状态且在增强模式下运行。

PasswordProtectionWarningTrigger

“密码保护警告”触发器的可能值。

枚举
PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED 未指定。
POLICY_UNSET 未设置此政策。
PASSWORD_PROTECTION_OFF 系统将一律不显示密码保护服务警告。
PASSWORD_REUSE 重复使用受保护的密码时,系统会显示密码保护服务警告。
PHISHING_REUSE 如果受保护的密码在已知的钓鱼式网站上重复使用,系统会显示密码保护警告。

RealtimeUrlCheckMode

“实时网址检查模式”的可能值。

枚举
REALTIME_URL_CHECK_MODE_UNSPECIFIED 未指定。
REALTIME_URL_CHECK_MODE_DISABLED 已停用。已执行消费者安全浏览检查。
REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME 已为主帧网址启用实时检查功能。

CrowdStrikeAgent

设备上安装的 CrowdStrike 代理的属性。

JSON 表示法
{
  "agentId": string,
  "customerId": string
}
字段
agentId

string

CrowdStrike 代理的代理 ID。

customerId

string

代理所属的客户 ID。

触发器

触发器的可能值。

枚举
TRIGGER_UNSPECIFIED 未指定。
TRIGGER_BROWSER_NAVIGATION 在浏览器中导航到网址时。
TRIGGER_LOGIN_SCREEN 在 ChromeOS 登录屏幕上登录账号时。

KeyTrustLevel

经过认证的密钥的信任级别。

枚举
KEY_TRUST_LEVEL_UNSPECIFIED 未指定。
CHROME_OS_VERIFIED_MODE 处于已验证模式的 ChromeOS 设备。
CHROME_OS_DEVELOPER_MODE 处于开发者模式的 ChromeOS 设备。
CHROME_BROWSER_HW_KEY 密钥存储在设备硬件中的 Chrome 浏览器。
CHROME_BROWSER_OS_KEY 将密钥存储在操作系统级别的 Chrome 浏览器。
CHROME_BROWSER_NO_KEY 不含认证密钥的 Chrome 浏览器。