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의 결과 메시지입니다.

성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.

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

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

signedPublicKeyAndChallenge

string

인증서 서명 요청 (SPKAC 형식, base64 인코딩)이 이 필드에 반환됩니다. 이 필드는 기기에서 챌린지 응답에 CSR이 포함된 경우에만 설정됩니다. (이제 사용자 및 시스템 응답에 모두 CSR을 포함하는 옵션을 사용할 수 있습니다.)

deviceSignal

string

지원이 중단되었습니다. JSON 문자열 표현으로 나타낸 기기 신호입니다. 대신 deviceSignals를 사용하는 것이 좋습니다.

deviceSignals

object (DeviceSignals)

기기 신호

keyTrustLevel

enum (KeyTrustLevel)

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

profileCustomerId

string

Google Admin SDK(https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers)에서 정의한 이 프로필이 속한 고유한 고객 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에서는 값이 일반 기기에서는 항상 '사용'으로, 개발자 모드인 기기에서는 '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 (International Mobile Equipment Identity)입니다. ChromeOS에서만 사용할 수 있습니다.

meid[]

string

기기의 MEID (Mobile Equipment Identifier)입니다. 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에서만 사용 가능합니다.

OperatingSystem

지원되는 운영 체제.

열거형
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 지정되지 않음.
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 브라우저