Method: challenge.verify

Vérifie la réponse au défi.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "challengeResponse": string,
  "expectedIdentity": string
}
Champs
challengeResponse

string (bytes format)

Obligatoire. Réponse générée au défi, représentation en octets de SignedData.

Chaîne encodée en base64.

expectedIdentity

string

Facultatif. Le service peut éventuellement fournir des informations d'identité sur l'appareil ou l'utilisateur associé à la clé. Pour une EMK, cette valeur est le domaine enregistré. Pour un EUK, cette valeur correspond à l'adresse e-mail de l'utilisateur. Si cette valeur est présente, elle est comparée au contenu de la réponse. En l'absence de correspondance, la validation échoue.

Corps de la réponse

Message de résultat pour VerifiedAccess.VerifyChallengeResponse.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation 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
}
Champs
devicePermanentId

string

L'ID permanent de l'appareil est renvoyé dans ce champ (pour la réponse de la machine uniquement).

virtualDeviceId

string

ID de l'appareil virtuel. La définition de l'ID d'appareil virtuel est spécifique à la plate-forme.

customerId

string

Numéro client unique auquel cet appareil appartient, tel qu'il est défini dans le SDK Google Admin à l'adresse https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

signedPublicKeyAndChallenge

string

Une demande de signature de certificat (au format SPKAC, encodée en base64) est renvoyée dans ce champ. Ce champ est défini uniquement si l'appareil a inclus CSR dans sa réponse à la question d'authentification. (l'option permettant d'inclure une requête de signature de certificat est désormais disponible pour les réponses de l'utilisateur et de la machine)

deviceSignal

string

Obsolète. Signal d'appareil dans une représentation sous forme de chaîne JSON. Utilisez plutôt deviceSignals.

deviceSignals

object (DeviceSignals)

Signaux de l'appareil.

keyTrustLevel

enum (KeyTrustLevel)

Niveau de confiance de la clé certifiée par l'appareil.

profileCustomerId

string

Numéro client unique auquel ce profil appartient, tel qu'il est défini par le SDK Google Admin à l'adresse https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

virtualProfileId

string

ID d'un profil sur l'appareil.

profileKeyTrustLevel

enum (KeyTrustLevel)

Niveau de confiance de la clé certifiée par le profil.

attestedDeviceId

string

ID de l'appareil certifié (ADID).

deviceEnrollmentId

string

ID d'enregistrement pour les appareils ChromeOS.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

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

Pour en savoir plus, consultez la page Présentation de l'authentification.

DeviceSignals

Signaux de l'appareil, tels qu'ils sont signalés par Chrome. Sauf indication contraire, les signaux sont disponibles sur toutes les plates-formes.

Représentation 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)
  }
}
Champs
deviceManufacturer

string

Nom du fabricant de l'appareil.

deviceModel

string

Nom du modèle de l'appareil.

operatingSystem

enum (OperatingSystem)

Type de système d'exploitation actuellement exécuté sur l'appareil.

osVersion

string

Version actuelle du système d'exploitation. Sous Windows et Linux, la valeur inclut également les informations sur le correctif de sécurité.

displayName

string

Nom à afficher de l'appareil, tel que défini par l'utilisateur.

diskEncryption

enum (DiskEncryption)

État de chiffrement du disque. Sous ChromeOS, le disque principal est toujours CHIFFRÉ.

serialNumber

string

Numéro de série de l'appareil. Sous Windows, il s'agit du numéro de série du BIOS. Non disponible sur la plupart des distributions Linux.

osFirewall

enum (OsFirewall)

État du pare-feu au niveau du système d'exploitation. Sous ChromeOS, cette valeur sera toujours ACTIVÉE sur les appareils standards et INCONNUE sur les appareils en mode développeur.

systemDnsServers[]

string

Liste des adresses de tous les serveurs DNS au niveau de l'OS configurés dans les paramètres réseau de l'appareil.

hostname

string

Nom d'hôte de l'appareil.

macAddresses[]

string

Adresses MAC de l'appareil

screenLockSecured

enum (ScreenLockSecured)

État de la protection par mot de passe via le verrouillage de l'écran. Sous ChromeOS, cette valeur est toujours ACTIVÉE, car il n'existe aucun moyen de désactiver l'obligation de saisir un mot de passe ou un code pour déverrouiller l'appareil.

allowScreenLock

boolean

Valeur de la règle AllowScreenLock sur l'appareil. Pour en savoir plus, consultez https://chromeenterprise.google/policies/?policy=AllowScreenLock. Disponible sur ChromeOS uniquement.

imei[]

string

Identité internationale de l'équipement mobile (IMEI) de l'appareil. Disponible sur ChromeOS uniquement.

meid[]

string

Identifiant d'équipement mobile (MEID) de l'appareil. Disponible sur ChromeOS uniquement.

secureBootMode

enum (SecureBootMode)

Indique si la fonctionnalité de démarrage sécurisé est activée dans le logiciel de démarrage de l'appareil. Disponible sous Windows uniquement.

windowsMachineDomain

string

Domaine Windows joint par la machine actuelle. Disponible sous Windows uniquement.

windowsUserDomain

string

Domaine Windows pour l'utilisateur actuel de l'OS. Disponible sous Windows uniquement.

deviceEnrollmentDomain

string

Domaine d'enregistrement du client qui gère actuellement l'appareil.

browserVersion

string

Version actuelle du navigateur Chrome ayant généré cet ensemble de signaux. Exemple de valeur: "107.0.5286.0".

deviceAffiliationIds[]

string

ID d'affiliation des organisations affiliées à l'organisation qui gère actuellement l'appareil. Lorsque les ensembles d'ID d'affiliation d'appareils et de profils se chevauchent, cela signifie que les organisations qui gèrent l'appareil et l'utilisateur sont affiliées. Pour en savoir plus sur l'affiliation des utilisateurs, consultez la page https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.

profileAffiliationIds[]

string

ID d'affiliation des organisations affiliées à l'organisation qui gère actuellement l'utilisateur ou l'utilisateur ChromeOS du profil Chrome.

builtInDnsClientEnabled

boolean

Indique si le client DNS intégré à Chrome est utilisé. Le client DNS OS est utilisé dans les autres cas. Cette valeur peut être contrôlée par une règle d'entreprise: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.

chromeRemoteDesktopAppBlocked

boolean

Indique si l'accès à l'application Bureau à distance Chrome est bloqué par une règle.

safeBrowsingProtectionLevel

enum (SafeBrowsingProtectionLevel)

Niveau de protection de la navigation sécurisée. Ce paramètre peut être contrôlé par une règle d'entreprise: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.

siteIsolationEnabled

boolean

Indique si le paramètre d'isolation de sites (ou site par processus) est activé. Ce paramètre peut être contrôlé par une règle d'entreprise: https://chromeenterprise.google/policies/#SitePerProcess

passwordProtectionWarningTrigger

enum (PasswordProtectionWarningTrigger)

Indique si la fonctionnalité Avertissement de protection par mot de passe est activée ou non. La protection par mot de passe avertit les utilisateurs lorsqu'ils réutilisent leur mot de passe protégé sur des sites potentiellement suspects. Ce paramètre est contrôlé par une règle d'entreprise: https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger.

Notez qu'une règle non configurée n'a pas le même effet que lorsqu'elle est explicitement définie sur PASSWORD_PROTECTION_OFF.

realtimeUrlCheckMode

enum (RealtimeUrlCheckMode)

Indique si l'analyse des URL non sécurisées de niveau professionnel (personnalisée) est activée ou non. Ce paramètre peut être contrôlé par une règle d'entreprise: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode

thirdPartyBlockingEnabled

boolean

Indique si Chrome bloque l'injection de logiciels tiers ou non. Ce paramètre peut être contrôlé par une règle d'entreprise: https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Disponible sous Windows uniquement.

trigger

enum (Trigger)

Déclencheur ayant généré cet ensemble de signaux.

profileEnrollmentDomain

string

Domaine d'enregistrement du client qui gère actuellement la fiche.

crowdStrikeAgent

object (CrowdStrikeAgent)

Propriétés de l'agent CrowdStrike installées sur l'appareil, le cas échéant. Disponible sous Windows et macOS uniquement.

OperatingSystem

Systèmes d'exploitation compatibles.

Enums
OPERATING_SYSTEM_UNSPECIFIED NON SPÉCIFIÉE.
CHROME_OS ChromeOS.
CHROMIUM_OS ChromiumOS.
WINDOWS Windows.
MAC_OS_X Mac OS X.
LINUX Linux

DiskEncryption

États possibles du chiffrement pour le disque principal.

Enums
DISK_ENCRYPTION_UNSPECIFIED URL indéterminée.
DISK_ENCRYPTION_UNKNOWN Impossible d'évaluer l'état de chiffrement dans Chrome.
DISK_ENCRYPTION_DISABLED Le disque principal n'est pas chiffré.
DISK_ENCRYPTION_ENCRYPTED Le disque principal est chiffré.

OsFirewall

États possibles du pare-feu au niveau du système d'exploitation.

Enums
OS_FIREWALL_UNSPECIFIED URL indéterminée.
OS_FIREWALL_UNKNOWN Impossible d'évaluer l'état du pare-feu de l'OS dans Chrome.
OS_FIREWALL_DISABLED Le pare-feu de l'OS est désactivé.
OS_FIREWALL_ENABLED Le pare-feu de l'OS est activé.

ScreenLockSecured

États possibles de la protection par mot de passe via le verrouillage de l'écran.

Enums
SCREEN_LOCK_SECURED_UNSPECIFIED URL indéterminée.
SCREEN_LOCK_SECURED_UNKNOWN Chrome n'a pas pu évaluer l'état du mécanisme de verrouillage de l'écran.
SCREEN_LOCK_SECURED_DISABLED Le verrouillage de l'écran n'est pas protégé par un mot de passe.
SCREEN_LOCK_SECURED_ENABLED Le verrouillage de l'écran est protégé par un mot de passe.

SecureBootMode

États possibles du mode démarrage sécurisé de l'appareil.

Enums
SECURE_BOOT_MODE_UNSPECIFIED URL indéterminée.
SECURE_BOOT_MODE_UNKNOWN Chrome n'a pas pu déterminer le mode de démarrage sécurisé.
SECURE_BOOT_MODE_DISABLED Le démarrage sécurisé a été désactivé dans le logiciel de démarrage.
SECURE_BOOT_MODE_ENABLED Le démarrage sécurisé a été activé sur le logiciel de démarrage.

SafeBrowsingProtectionLevel

Valeurs possibles pour le niveau de protection de la navigation sécurisée.

Enums
SAFE_BROWSING_PROTECTION_LEVEL_UNSPECIFIED URL indéterminée.
INACTIVE La navigation sécurisée est désactivée.
STANDARD La navigation sécurisée est active, en mode standard.
ENHANCED La navigation sécurisée est active, en mode de protection renforcée.

PasswordProtectionWarningTrigger

Valeurs possibles pour le déclencheur d'avertissement de protection par mot de passe.

Enums
PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED URL indéterminée.
POLICY_UNSET La règle n'est pas définie.
PASSWORD_PROTECTION_OFF Aucun avertissement de protection par mot de passe ne s'affichera.
PASSWORD_REUSE L'avertissement de protection par mot de passe s'affiche si un mot de passe protégé est réutilisé.
PHISHING_REUSE L'avertissement de protection par mot de passe s'affiche si un mot de passe protégé est réutilisé sur un site Web d'hameçonnage connu.

RealtimeUrlCheckMode

Valeurs possibles pour le mode de vérification des URL en temps réel.

Enums
REALTIME_URL_CHECK_MODE_UNSPECIFIED URL indéterminée.
REALTIME_URL_CHECK_MODE_DISABLED Désactivée. Les vérifications courantes de la navigation sécurisée sont effectuées.
REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME La vérification en temps réel des URL du frame principal est activée.

CrowdStrikeAgent

Propriétés de l'agent CrowdStrike installé sur un appareil.

Représentation JSON
{
  "agentId": string,
  "customerId": string
}
Champs
agentId

string

L'ID de l'agent CrowdStrike.

customerId

string

Numéro client auquel appartient l'agent.

Déclencheur

Valeurs possibles pour le déclencheur.

Enums
TRIGGER_UNSPECIFIED URL indéterminée.
TRIGGER_BROWSER_NAVIGATION Lorsque vous accédez à une URL dans un navigateur.
TRIGGER_LOGIN_SCREEN Lorsque vous vous connectez à un compte sur l'écran de connexion de ChromeOS.

KeyTrustLevel

Niveau de confiance de la clé certifiée.

Enums
KEY_TRUST_LEVEL_UNSPECIFIED NON SPÉCIFIÉE.
CHROME_OS_VERIFIED_MODE Appareil ChromeOS en mode validé.
CHROME_OS_DEVELOPER_MODE Appareil ChromeOS en mode développeur.
CHROME_BROWSER_HW_KEY Navigateur Chrome avec la clé stockée dans le matériel de l'appareil.
CHROME_BROWSER_OS_KEY Navigateur Chrome avec la clé stockée au niveau du système d'exploitation.
CHROME_BROWSER_NO_KEY le navigateur Chrome sans clé d'attestation ;