Method: challenge.verify

Vérifie la réponse à la requête.

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 à la requête, représentation par 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és à la clé. Pour une clé EMK, cette valeur correspond au domaine enregistré. Pour une clé 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 et la vérification échouera en l'absence de correspondance.

Corps de la réponse

Message de résultat pour VerifiedAccess.VerifyChallengeResponse.

La réponse renvoyée en cas de réussite pour les profils gérés sur les navigateurs non gérés ne contient PAS les champs devicePermanentId, keyTrustLevel, virtualDeviceId et customerId. Les profils gérés disposeront À LA PLACE des champs profileCustomerId, virtualProfileId et profileKeyTrustLevel.

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 de l'appareil virtuel est spécifique à la plate-forme.

customerId

string

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

signedPublicKeyAndChallenge

string

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

deviceSignal

string

Obsolète. Signal de l'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é attestée par l'appareil.

profileCustomerId

string

ID client unique auquel appartient ce profil, tel que 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é attestée par le profil.

attestedDeviceId

string

ID de l'appareil certifié (ADID).

deviceEnrollmentId

string

ID d'enregistrement de l'appareil 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 indiqué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 du 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 du chiffrement du disque. Sur 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. Sur ChromeOS, la valeur est toujours ENABLED sur les appareils standards et UNKNOWN sur les appareils en mode développeur. La compatibilité avec MacOS 15 (Sequoia) et les versions ultérieures a été introduite dans Chrome M131.

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 du verrouillage de l'écran. Sous ChromeOS, cette valeur est toujours définie sur "ENABLED", car il n'est pas possible de désactiver l'exigence d'un mot de passe ou d'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 uniquement sur ChromeOS.

imei[]

string

Code IMEI de l'appareil. Disponible sur ChromeOS uniquement.

meid[]

string

Identifiant MEID (Mobile Equipment Identifier) de l'appareil. Disponible sur ChromeOS uniquement.

secureBootMode

enum (SecureBootMode)

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

windowsMachineDomain

string

Domaine Windows auquel la machine actuelle est associée. Disponible uniquement sur Windows.

windowsUserDomain

string

Domaine Windows de l'utilisateur actuel du système d'exploitation. Disponible uniquement sur Windows.

deviceEnrollmentDomain

string

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

browserVersion

string

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

deviceAffiliationIds[]

string

Identifiants 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 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 du profil Chrome ou l'utilisateur ChromeOS.

builtInDnsClientEnabled

boolean

Indique si le client DNS intégré de Chrome est utilisé. Sinon, le client DNS de l'OS est utilisé. 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 "Isolation de sites (également appelé "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é d'avertissement de protection par mot de passe est activée ou non. qui vise à alerter les utilisateurs lorsque ceux-ci 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 que si cette règle n'est pas configurée, cela n'a pas les mêmes effets que si elle est explicitement définie sur PASSWORD_PROTECTION_OFF.

realtimeUrlCheckMode

enum (RealtimeUrlCheckMode)

Indique si l'analyse des URL non sécurisées pour les entreprises (c'est-à-dire 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 ou non l'injection de logiciels tiers. Ce paramètre peut être contrôlé par une règle d'entreprise : https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Disponible uniquement sur Windows.

trigger

enum (Trigger)

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

profileEnrollmentDomain

string

Domaine d'enregistrement du client qui gère actuellement le profil.

crowdStrikeAgent

object (CrowdStrikeAgent)

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

Système d'exploitation

Systèmes d'exploitation compatibles

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

DiskEncryption

États de chiffrement possibles pour le disque principal.

Enums
DISK_ENCRYPTION_UNSPECIFIED Non spécifié.
DISK_ENCRYPTION_UNKNOWN Impossible d'évaluer l'état du 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 Non spécifié.
OS_FIREWALL_UNKNOWN Chrome n'a pas pu évaluer l'état du pare-feu de l'OS.
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 du verrouillage de l'écran.

Enums
SCREEN_LOCK_SECURED_UNSPECIFIED Non spécifié.
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 Non spécifié.
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é sur 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 Non spécifié.
INACTIVE La navigation sécurisée est désactivée.
STANDARD La navigation sécurisée est active et en mode standard.
ENHANCED La navigation sécurisée est active, en mode renforcé.

PasswordProtectionWarningTrigger

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

Enums
PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED Non spécifié.
POLICY_UNSET La stratégie n'est pas définie.
PASSWORD_PROTECTION_OFF Aucun avertissement de protection par mot de passe ne s'affiche.
PASSWORD_REUSE Un avertissement de protection par mot de passe s'affiche si un mot de passe protégé est réutilisé.
PHISHING_REUSE Un 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 Non spécifié.
REALTIME_URL_CHECK_MODE_DISABLED Désactivée. Les vérifications de la navigation sécurisée grand public sont appliqué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

ID de l'agent Crowdstrike.

customerId

string

Numéro client auquel l'agent appartient.

Déclencheur

Valeurs possibles pour le déclencheur.

Enums
TRIGGER_UNSPECIFIED Non spécifié.
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É.
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 de l'OS.
CHROME_BROWSER_NO_KEY Navigateur Chrome sans clé d'attestation