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、profilePermanentId 和 profileKeyTrustLevel 欄位。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "devicePermanentId": string,
  "virtualDeviceId": string,
  "customerId": string,
  "signedPublicKeyAndChallenge": string,
  "deviceSignal": string,
  "deviceSignals": {
    object (DeviceSignals)
  },
  "keyTrustLevel": enum (KeyTrustLevel),
  "profileCustomerId": string,
  "virtualProfileId": string,
  "profilePermanentId": 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。

profilePermanentId

string

僅供輸出。裝置上設定檔的專屬伺服器端 ID。

profileKeyTrustLevel

enum (KeyTrustLevel)

僅供輸出。設定檔認證金鑰信任層級。

attestedDeviceId

string

僅供輸出。已驗證的裝置 ID (ADID)。

deviceEnrollmentId

string

僅供輸出。ChromeOS 裝置的裝置註冊 ID。

授權範圍

需要下列 OAuth 範圍:

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

詳情請參閱 OAuth 2.0 Overview

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,
  "antivirus": {
    object (Antivirus)
  },
  "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)

僅供輸出。OS 層級防火牆的狀態。在 ChromeOS 上,一般裝置的值一律為 ENABLED,開發人員模式裝置的值則為 UNKNOWN。Chrome M131 已推出 MacOS 15 (Sequoia) 以上版本的支援功能。

systemDnsServers[]

string

裝置網路設定中設定的所有 OS 層級 DNS 伺服器的地址清單。

hostname

string

裝置的主機名稱。

macAddresses[]

string

僅供輸出。裝置的 MAC 位址。

screenLockSecured

enum (ScreenLockSecured)

僅供輸出。螢幕鎖定密碼保護狀態。在 ChromeOS 上,這個值一律會設為 ENABLED,因為無法停用解鎖裝置時需要輸入密碼或 PIN 碼的功能。

allowScreenLock

boolean

僅供輸出。裝置上的「AllowScreenLock」政策值。詳情請參閱 https://chromeenterprise.google/policies/?policy=AllowScreenLock。僅適用於 ChromeOS。

imei[]

string

僅供輸出。裝置的國際行動裝置識別碼 (IMEI)。僅適用於 ChromeOS。

meid[]

string

僅供輸出。裝置的行動設備 ID (MEID)。僅適用於 ChromeOS。

secureBootMode

enum (SecureBootMode)

僅供輸出。裝置的啟動軟體是否已啟用安全啟動功能。僅適用於 Windows。

windowsMachineDomain

string

僅供輸出。目前機器加入的 Windows 網域。僅適用於 Windows。

windowsUserDomain

string

僅供輸出。目前 OS 使用者的 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
(deprecated)

boolean

僅供輸出。已淘汰,對應的政策現已淘汰。

Chrome 是否封鎖第三方軟體注入功能。這項設定可能受公司政策控制:https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled。僅適用於 Windows。

trigger

enum (Trigger)

僅供輸出。產生這組信號的觸發事件。

profileEnrollmentDomain

string

僅供輸出。目前管理設定檔的客戶註冊網域。

antivirus

object (Antivirus)

僅供輸出。裝置上的防毒軟體相關資訊。僅適用於 Windows。

crowdStrikeAgent

object (CrowdStrikeAgent)

僅供輸出。裝置上安裝的 Crowdstrike 代理程式屬性 (如果有)。僅適用於 Windows 和 MacOS。

作業系統

支援的作業系統。

列舉
OPERATING_SYSTEM_UNSPECIFIED 未指定。
CHROME_OS ChromeOS。
CHROMIUM_OS Chromium OS。
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 層級防火牆的可能狀態。

列舉
OS_FIREWALL_UNSPECIFIED 未指明
OS_FIREWALL_UNKNOWN Chrome 無法評估作業系統防火牆狀態。
OS_FIREWALL_DISABLED 已停用作業系統防火牆。
OS_FIREWALL_ENABLED 已啟用 OS 防火牆。

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 登入畫面中登入帳戶時。

防毒

裝置上的防毒資訊。

JSON 表示法
{
  "state": enum (State)
}
欄位
state

enum (State)

僅供輸出。裝置上的防毒軟體狀態。這項元素已在 Chrome M136 推出。

裝置上的可能防毒狀態。

列舉
STATE_UNSPECIFIED 未指明
MISSING 未在裝置上偵測到任何防毒軟體。
DISABLED 裝置上安裝了至少一個防毒軟體,但沒有任何一款啟用。
ENABLED 裝置上已啟用至少一種防毒軟體。

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 瀏覽器。