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 中,主要磁碟一律為 ENCRYPTED。

serialNumber

string

裝置的序號。在 Windows 上,這代表 BIOS 的序號。不適用於大多數的 Linux 發行版。

osFirewall

enum (OsFirewall)

OS 層級防火牆的狀態。在 ChromeOS 中,系統一律會在一般裝置上啟用這個值,在開發人員模式下的裝置則為 UNKNOWN。

systemDnsServers[]

string

這份清單列出了裝置網路設定中指定的所有 OS 層級 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

目前 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。

OperatingSystem

支援的作業系統。

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

列舉
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 具有儲存在 OS 層級金鑰的 Chrome 瀏覽器。
CHROME_BROWSER_NO_KEY 沒有認證金鑰的 Chrome 瀏覽器。