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,由 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)

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

boolean

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

trigger

enum (Trigger)

產生這組信號的觸發事件。

profileEnrollmentDomain

string

目前管理設定檔的客戶註冊網域。

crowdStrikeAgent

object (CrowdStrikeAgent)

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

作業系統

支援的作業系統。

列舉
OPERATING_SYSTEM_UNSPECIFIED 未指定。
CHROME_OS ChromeOS。
CHROMIUM_OS Chromium OS。
WINDOWS Windows。
MAC_OS_X Mac Os X。
LINUX Linux

磁碟加密

主磁碟的可能加密狀態。

列舉
DISK_ENCRYPTION_UNSPECIFIED 未指明
DISK_ENCRYPTION_UNKNOWN Chrome 無法評估加密狀態。
DISK_ENCRYPTION_DISABLED 主磁碟未加密。
DISK_ENCRYPTION_ENCRYPTED 主要磁碟已加密。

OsFirewall

作業系統層級防火牆的可能狀態。

列舉
OS_FIREWALL_UNSPECIFIED 未指明
OS_FIREWALL_UNKNOWN Chrome 無法評估 OS 防火牆狀態。
OS_FIREWALL_DISABLED OS 防火牆已停用。
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 登入畫面中登入帳戶時。

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