Method: challenge.verify

챌린지 응답을 확인합니다.

HTTP 요청

POST https://verifiedaccess.googleapis.com/v2/challenge:verify

URL은 gRPC 트랜스코딩 구문을 사용합니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "challengeResponse": string,
  "expectedIdentity": string
}
필드
challengeResponse

string (bytes format)

필수 항목입니다. 챌린지에 대한 생성된 응답으로, SignedData의 바이트 표현입니다.

base64 인코딩 문자열입니다.

expectedIdentity

string

선택사항입니다. 서비스는 선택적으로 키와 연결된 기기 또는 사용자에 대한 ID 정보를 제공할 수 있습니다. 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

https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers의 Google Admin SDK에 정의된 대로 이 기기가 속한 고유한 고객 ID입니다.

signedPublicKeyAndChallenge

string

인증서 서명 요청(SPKAC 형식, base64로 인코딩됨)이 이 필드에 반환됩니다. 이 필드는 기기가 챌린지 응답에 CSR을 포함한 경우에만 설정됩니다. (현재 사용자 및 시스템 응답 모두에 CSR를 포함할 수 있음)

deviceSignal

string

지원 중단되었습니다. json 문자열 표현의 기기 신호입니다. 대신 deviceSignals를 사용하는 것이 좋습니다.

deviceSignals

object (DeviceSignals)

기기 신호

keyTrustLevel

enum (KeyTrustLevel)

기기에서 증명된 키 신뢰 수준입니다.

profileCustomerId

string

https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers에서 Google Admin SDK에 정의된 대로 이 프로필이 속한 고유한 고객 ID입니다.

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에서는 기기 잠금 해제 시 비밀번호 또는 PIN 요구를 사용 중지할 방법이 없으므로 이 값은 항상 ENABLED입니다.

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)

엔터프라이즈급(즉, 맞춤) 안전하지 않은 URL 검사가 사용 설정되어 있는지 여부입니다. 이 설정은 엔터프라이즈 정책(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 ChromiumOS
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

실시간 URL 확인 모드에 사용할 수 있는 값입니다.

열거형
REALTIME_URL_CHECK_MODE_UNSPECIFIED 지정되지 않았습니다.
REALTIME_URL_CHECK_MODE_DISABLED 사용 중지되었습니다. 일반 세이프 브라우징 확인이 적용됩니다.
REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME 메인 프레임 URL의 실시간 확인이 사용 설정됩니다.

CrowdStrikeAgent

기기에 설치된 CrowdStrike 에이전트의 속성입니다.

JSON 표현
{
  "agentId": string,
  "customerId": string
}
필드
agentId

string

CrowdStrike 상담사의 상담사 ID입니다.

customerId

string

상담사가 속한 고객 ID입니다.

트리거

트리거에 가능한 값입니다.

열거형
TRIGGER_UNSPECIFIED 지정되지 않았습니다.
TRIGGER_BROWSER_NAVIGATION 브라우저 내에서 URL로 이동할 때
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 키가 OS 수준에서 저장된 Chrome 브라우저입니다.
CHROME_BROWSER_NO_KEY 증명 키가 없는 Chrome 브라우저