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

serialNumber

string

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

osFirewall

enum (OsFirewall)

OS 層級防火牆的狀態。在 ChromeOS 中,一般裝置上的值會一律為 Enabled,在開發人員模式的裝置上為 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。

作業系統

支援的作業系統。

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