Method: challenge.verify

Verifica la respuesta del desafío.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "challengeResponse": string,
  "expectedIdentity": string
}
Campos
challengeResponse

string (bytes format)

Obligatorio. La respuesta generada al desafío, la representación de bytes de SignedData.

String codificada en base64.

expectedIdentity

string

Opcional. De manera opcional, el servicio puede proporcionar información de identidad sobre el dispositivo o el usuario asociado con la clave. Para una EMK, este valor es el dominio inscrito. Para un EUK, este valor es la dirección de correo electrónico del usuario. Si está presente, este valor se comparará con el contenido de la respuesta y la verificación fallará si no hay coincidencias.

Cuerpo de la respuesta

Mensaje de resultado para VerifiedAccess.VerifyChallengeResponse.

La respuesta que se muestra cuando se realiza correctamente para los perfiles administrados en navegadores no administrados NO tendrá los campos devicePermanentId, keyTrustLevel, virtualDeviceId y customerId. EN VEZ DE ESO, los perfiles administrados tendrán los campos profileCustomerId, virtualProfileId y profileKeyTrustLevel.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación 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
}
Campos
devicePermanentId

string

El ID permanente del dispositivo se muestra en este campo (solo para la respuesta de la máquina).

virtualDeviceId

string

Es el ID de dispositivo virtual del dispositivo. La definición del ID de dispositivo virtual es específica de la plataforma.

customerId

string

Es el ID de cliente único al que pertenece este dispositivo, según se define en el SDK de Admin de Google en https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers.

signedPublicKeyAndChallenge

string

La solicitud de firma de certificado (en formato SPKAC, codificada en base64) se muestra en este campo. Este campo se establecerá solo si el dispositivo incluyó la CSR en su respuesta de desafío. (la opción para incluir CSR ahora está disponible para las respuestas de los usuarios y las máquinas)

deviceSignal

string

Obsoleta. Indicador del dispositivo en representación de cadena JSON. En su lugar, usa deviceSignals.

deviceSignals

object (DeviceSignals)

Indicadores del dispositivo

keyTrustLevel

enum (KeyTrustLevel)

Nivel de confianza de la clave certificada del dispositivo

profileCustomerId

string

Es el ID de cliente único al que pertenece este perfil, según lo define el SDK de Admin de Google en https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers.

virtualProfileId

string

Es el ID de un perfil en el dispositivo.

profileKeyTrustLevel

enum (KeyTrustLevel)

Nivel de confianza de la clave certificada del perfil

attestedDeviceId

string

ID del dispositivo presentado (ADID).

deviceEnrollmentId

string

Es el ID de inscripción del dispositivo para dispositivos ChromeOS.

Alcances de autorización

Se requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/verifiedaccess

Para obtener más información, consulta Descripción general de la autenticación.

DeviceSignals

Los indicadores del dispositivo informados por Chrome. A menos que se especifique lo contrario, los indicadores están disponibles en todas las plataformas.

Representación 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)
  }
}
Campos
deviceManufacturer

string

Es el nombre del fabricante del dispositivo.

deviceModel

string

Es el nombre del modelo del dispositivo.

operatingSystem

enum (OperatingSystem)

Es el tipo de sistema operativo que se ejecuta actualmente en el dispositivo.

osVersion

string

Es la versión actual del sistema operativo. En Windows y Linux, el valor también incluirá información sobre el parche de seguridad.

displayName

string

Es el nombre visible del dispositivo, tal como lo define el usuario.

diskEncryption

enum (DiskEncryption)

Es el estado de encriptación del disco. En ChromeOS, el disco principal siempre está ENCRIPTADO.

serialNumber

string

El número de serie del dispositivo. En Windows, representa el número de serie del BIOS. No está disponible en la mayoría de las distribuciones de Linux.

osFirewall

enum (OsFirewall)

Es el estado del firewall a nivel del SO. En ChromeOS, el valor siempre será ENABLED en dispositivos normales y UNKNOWN en dispositivos en modo de desarrollador. En Chrome M131, se introdujo la compatibilidad con macOS 15 (Sequoia) y versiones posteriores.

systemDnsServers[]

string

Es la lista de las direcciones de todos los servidores DNS a nivel del SO configurados en la configuración de red del dispositivo.

hostname

string

Es el nombre de host del dispositivo.

macAddresses[]

string

Direcciones MAC del dispositivo

screenLockSecured

enum (ScreenLockSecured)

El estado de la protección por contraseña del bloqueo de pantalla. En ChromeOS, este valor siempre estará habilitado, ya que no hay forma de inhabilitar la solicitud de una contraseña o un PIN para desbloquear el dispositivo.

allowScreenLock

boolean

Es el valor de la política AllowScreenLock en el dispositivo. Para obtener más información, consulta https://chromeenterprise.google/policies/?policy=AllowScreenLock. Solo está disponible en ChromeOS.

imei[]

string

Identidad internacional de equipo móvil (IMEI) del dispositivo. Disponible solo en ChromeOS.

meid[]

string

El identificador de equipo móvil (MEID) del dispositivo. Solo está disponible en ChromeOS.

secureBootMode

enum (SecureBootMode)

Si el software de inicio del dispositivo tiene habilitada la función de inicio seguro. Disponible solo en Windows.

windowsMachineDomain

string

Es el dominio de Windows al que se unió la máquina actual. Solo está disponible en Windows.

windowsUserDomain

string

Es el dominio de Windows del usuario del SO actual. Solo está disponible en Windows.

deviceEnrollmentDomain

string

Es el dominio de inscripción del cliente que administra el dispositivo actualmente.

browserVersion

string

Es la versión actual del navegador Chrome que generó este conjunto de indicadores. Valor de ejemplo: "107.0.5286.0".

deviceAffiliationIds[]

string

IDs de afiliación de las organizaciones afiliadas a la organización que administra el dispositivo actualmente. Cuando los conjuntos de IDs de afiliación del dispositivo y del perfil se superponen, significa que las organizaciones que administran el dispositivo y el usuario están afiliadas. Para obtener más información sobre la afiliación de los usuarios, visita https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.

profileAffiliationIds[]

string

Son los IDs de afiliación de las organizaciones afiliadas a la organización que administra actualmente el usuario del perfil de Chrome o el usuario de ChromeOS.

builtInDnsClientEnabled

boolean

Indica si se usa el cliente DNS integrado de Chrome. De lo contrario, se usa el cliente DNS del SO. Es posible que una política empresarial controle este valor: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.

chromeRemoteDesktopAppBlocked

boolean

Si el acceso a la aplicación del Escritorio remoto de Chrome está bloqueado mediante una política

safeBrowsingProtectionLevel

enum (SafeBrowsingProtectionLevel)

Nivel de protección de la Navegación segura. Ese parámetro de configuración puede estar controlado por una política empresarial: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.

siteIsolationEnabled

boolean

Si el parámetro de configuración de aislamiento de sitios (también conocido como sitio por proceso) está habilitado. Es posible que ese parámetro de configuración esté controlado por una política empresarial: https://chromeenterprise.google/policies/#SitePerProcess

passwordProtectionWarningTrigger

enum (PasswordProtectionWarningTrigger)

Indica si la función de advertencia de protección de la contraseña está habilitada o no. La protección de contraseñas alerta a los usuarios cuando reutilizan su contraseña protegida en sitios potencialmente sospechosos. Este parámetro de configuración se controla mediante una política empresarial: https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger.

Ten en cuenta que si no estableces la política, no tendrá el mismo efecto que si la estableces explícitamente como PASSWORD_PROTECTION_OFF.

realtimeUrlCheckMode

enum (RealtimeUrlCheckMode)

Indica si el análisis de URLs no seguras de nivel empresarial (es decir, personalizado) está habilitado o no. Es posible que una política empresarial controle este parámetro de configuración: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode

thirdPartyBlockingEnabled

boolean

Si Chrome bloquea o no la inyección de software de terceros Es posible que una política empresarial controle este parámetro de configuración: https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Solo está disponible en Windows.

trigger

enum (Trigger)

El activador que generó este conjunto de indicadores.

profileEnrollmentDomain

string

Es el dominio de inscripción del cliente que administra el perfil actualmente.

crowdStrikeAgent

object (CrowdStrikeAgent)

Las propiedades del agente de Crowdstrike instaladas en el dispositivo, si las hay Solo está disponible en Windows y macOS.

Sistema operativo

Sistemas operativos compatibles

Enumeraciones
OPERATING_SYSTEM_UNSPECIFIED UNSPECIFIED.
CHROME_OS ChromeOS.
CHROMIUM_OS ChromiumOS.
WINDOWS Windows.
MAC_OS_X Mac OS X.
LINUX Linux

DiskEncryption

Los posibles estados de encriptación del disco principal.

Enumeraciones
DISK_ENCRYPTION_UNSPECIFIED Sin especificar.
DISK_ENCRYPTION_UNKNOWN Chrome no pudo evaluar el estado de encriptación.
DISK_ENCRYPTION_DISABLED El disco principal no está encriptado.
DISK_ENCRYPTION_ENCRYPTED El disco principal está encriptado.

OsFirewall

Estados posibles del firewall a nivel del SO.

Enumeraciones
OS_FIREWALL_UNSPECIFIED Sin especificar.
OS_FIREWALL_UNKNOWN Chrome no pudo evaluar el estado del firewall del SO.
OS_FIREWALL_DISABLED El firewall del SO está inhabilitado.
OS_FIREWALL_ENABLED El firewall del SO está habilitado.

ScreenLockSecured

Posibles estados de la protección por contraseña del bloqueo de pantalla.

Enumeraciones
SCREEN_LOCK_SECURED_UNSPECIFIED Sin especificar.
SCREEN_LOCK_SECURED_UNKNOWN Chrome no pudo evaluar el estado del mecanismo de bloqueo de pantalla.
SCREEN_LOCK_SECURED_DISABLED El bloqueo de pantalla no está protegido por contraseña.
SCREEN_LOCK_SECURED_ENABLED El bloqueo de pantalla está protegido con contraseña.

SecureBootMode

Estados posibles del modo de arranque seguro del dispositivo.

Enumeraciones
SECURE_BOOT_MODE_UNSPECIFIED Sin especificar.
SECURE_BOOT_MODE_UNKNOWN Chrome no pudo determinar el modo de inicio seguro.
SECURE_BOOT_MODE_DISABLED Se inhabilitó el inicio seguro en el software de inicio.
SECURE_BOOT_MODE_ENABLED Se habilitó el inicio seguro en el software de inicio.

SafeBrowsingProtectionLevel

Valores posibles para el nivel de protección de la Navegación segura.

Enumeraciones
SAFE_BROWSING_PROTECTION_LEVEL_UNSPECIFIED Sin especificar.
INACTIVE La Navegación segura está inhabilitada.
STANDARD La Navegación segura está activa en el modo estándar.
ENHANCED La Navegación segura está activa en el modo mejorado.

PasswordProtectionWarningTrigger

Valores posibles para el activador de advertencia de protección de contraseñas.

Enumeraciones
PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED Sin especificar.
POLICY_UNSET No se estableció la política.
PASSWORD_PROTECTION_OFF No se mostrará ninguna advertencia de protección de contraseñas.
PASSWORD_REUSE Se muestra una advertencia de protección de contraseñas si se vuelve a usar una contraseña protegida.
PHISHING_REUSE La advertencia de la protección de contraseñas se muestra si una contraseña protegida se reutiliza en un sitio web conocido de phishing.

RealtimeUrlCheckMode

Valores posibles para el modo de verificación de URL en tiempo real.

Enumeraciones
REALTIME_URL_CHECK_MODE_UNSPECIFIED Sin especificar.
REALTIME_URL_CHECK_MODE_DISABLED Inhabilitada Se aplican las verificaciones de la Navegación segura para consumidores.
REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME Habilita la verificación en tiempo real de las URLs del marco principal.

CrowdStrikeAgent

Son las propiedades del agente de CrowdStrike instalado en un dispositivo.

Representación JSON
{
  "agentId": string,
  "customerId": string
}
Campos
agentId

string

El ID de agente de Crowdstrike.

customerId

string

El ID de cliente al que pertenece el agente.

Activador

Valores posibles para el activador.

Enumeraciones
TRIGGER_UNSPECIFIED Sin especificar.
TRIGGER_BROWSER_NAVIGATION Cuando navegas a una URL en un navegador.
TRIGGER_LOGIN_SCREEN Cuando accedes a una cuenta en la pantalla de acceso de ChromeOS.

KeyTrustLevel

Es el nivel de confianza de la clave certificada.

Enumeraciones
KEY_TRUST_LEVEL_UNSPECIFIED UNSPECIFIED.
CHROME_OS_VERIFIED_MODE Dispositivo ChromeOS en modo verificado.
CHROME_OS_DEVELOPER_MODE Dispositivo ChromeOS en modo de desarrollador
CHROME_BROWSER_HW_KEY Navegador Chrome con la clave almacenada en el hardware del dispositivo
CHROME_BROWSER_OS_KEY Navegador Chrome con la clave almacenada a nivel del SO
CHROME_BROWSER_NO_KEY Navegador Chrome sin una clave de certificación