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 的结果消息。

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

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,如 https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers 中所述,由 Google Admin SDK 定义

signedPublicKeyAndChallenge

string

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

deviceSignal

string

已弃用。设备信号(以 JSON 字符串表示)。首选改用 deviceSignals

deviceSignals

object (DeviceSignals)

设备信号。

keyTrustLevel

enum (KeyTrustLevel)

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

profileCustomerId

string

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

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 上,对于常规设备,此值将始终处于启用状态;在处于开发者模式的设备上,此值始终为 UNKNOWN。

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 组和个人资料关联 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 UNSPECIFIED。
CHROME_OS ChromeOS。
CHROMIUM_OS Chromium 操作系统。
WINDOWS 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 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 浏览器。