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,由 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 中,该值在常规设备上将始终处于启用状态,在处于开发者模式的设备上将始终为 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 集重叠,则表示管理设备和用户的组织已建立关联。如需详细了解用户关联关系,请访问 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 窗户。
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 浏览器。