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

출력 전용입니다. 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

출력 전용입니다. 이 프로필이 속한 고유한 고객 ID로, https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers의 Google Admin SDK에 정의되어 있습니다.

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에서는 기기 잠금 해제 시 비밀번호 또는 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
(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 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 로그인 화면에서 계정에 로그인할 때

바이러스 백신

기기의 바이러스 백신 정보입니다.

JSON 표현
{
  "state": enum (State)
}
필드
state

enum (State)

출력 전용입니다. 기기의 바이러스 백신 상태입니다. Chrome M136에서 도입되었습니다.

기기의 가능한 바이러스 백신 상태입니다.

열거형
STATE_UNSPECIFIED 지정되지 않음.
MISSING 기기에서 바이러스 백신이 감지되지 않았습니다.
DISABLED 기기에 바이러스 백신이 하나 이상 설치되었지만 사용 설정된 바이러스 백신이 없습니다.
ENABLED 기기에서 바이러스 백신이 하나 이상 사용 설정되었습니다.

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 브라우저