Method: challenge.verify

Sprawdza odpowiedź na wyzwanie.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "challengeResponse": string,
  "expectedIdentity": string
}
Pola
challengeResponse

string (bytes format)

Wymagane. Wygenerowana odpowiedź na wyzwanie, czyli bajtowa reprezentacja SignedData.

Ciąg znaków zakodowany w formacie Base64.

expectedIdentity

string

Opcjonalnie: Usługa może opcjonalnie udostępnić informacje o tożsamości urządzenia lub użytkownika powiązanego z kluczem. W przypadku EMK ta wartość to zarejestrowana domena. W przypadku UEK ta wartość jest adresem e-mail użytkownika. Jeśli ta wartość jest dostępna, jest sprawdzana pod kątem zawartości odpowiedzi, a weryfikacja zakończy się niepowodzeniem w przypadku braku dopasowania.

Treść odpowiedzi

Komunikat z wynikiem wywołania VerifiedAccess.VerifyChallengeResponse.

Odpowiedź zwrócona po pomyślnym użyciu profili zarządzanych w niezarządzanych przeglądarkach NIE będzie zawierać pól devicePermanentId, keyTrustLevel, virtualDeviceId i customerId. Profile zarządzane będą miały pola profileCustomerId, virtualProfileId i profileKeyTrustLevel.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis 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
}
Pola
devicePermanentId

string

W tym polu zwracany jest trwały identyfikator urządzenia (tylko w przypadku odpowiedzi maszynowej).

virtualDeviceId

string

Identyfikator urządzenia wirtualnego. Definicja identyfikatora urządzenia wirtualnego zależy od platformy.

customerId

string

Unikalny identyfikator klienta, do którego należy to urządzenie, zdefiniowany w pakiecie Google Admin SDK na stronie https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers.

signedPublicKeyAndChallenge

string

Żądanie podpisania certyfikatu (w formacie SPKAC, zakodowanym w formacie base64) jest zwracane w tym polu. To pole zostanie ustawione tylko wtedy, gdy urządzenie zawiera żądanie podpisania certyfikatu w odpowiedzi na żądanie. (opcja uwzględniania odpowiedzi CSR jest teraz dostępna zarówno w przypadku odpowiedzi użytkownika, jak i odpowiedzi maszyny)

deviceSignal

string

Rola wycofana. sygnał urządzenia w postaci ciągu znaków JSON; Zamiast tego użyj elementu deviceSignals.

deviceSignals

object (DeviceSignals)

Sygnały z urządzenia.

keyTrustLevel

enum (KeyTrustLevel)

Poziom zaufania do klucza potwierdzonego przez urządzenie.

profileCustomerId

string

Niepowtarzalny identyfikator klienta, do którego należy ten profil, zdefiniowany w pakiecie Google Admin SDK na stronie https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers.

virtualProfileId

string

Identyfikator profilu na urządzeniu.

profileKeyTrustLevel

enum (KeyTrustLevel)

Profil poświadczony poziom zaufania klucza.

attestedDeviceId

string

Identyfikator atestowanego urządzenia (ADID).

deviceEnrollmentId

string

Identyfikator rejestracji urządzeń z ChromeOS.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

Więcej informacji znajdziesz w artykule Omówienie uwierzytelniania.

DeviceSignals

sygnały urządzenia zgłoszone przez Chrome; O ile nie zaznaczono inaczej, sygnały są dostępne na wszystkich platformach.

Zapis 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)
  }
}
Pola
deviceManufacturer

string

Nazwa producenta urządzenia.

deviceModel

string

Nazwa modelu urządzenia.

operatingSystem

enum (OperatingSystem)

Typ systemu operacyjnego, który jest obecnie uruchomiony na urządzeniu.

osVersion

string

Bieżąca wersja systemu operacyjnego. W systemach Windows i Linux wartość będzie zawierać również informacje o łatkach bezpieczeństwa.

displayName

string

Wyświetlana nazwa urządzenia określona przez użytkownika.

diskEncryption

enum (DiskEncryption)

Stan szyfrowania dysku. W ChromeOS dysk główny jest zawsze zaszyfrowany.

serialNumber

string

Numer seryjny urządzenia. W systemie Windows jest to numer seryjny BIOS. Niedostępne w większości dystrybucji Linuksa.

osFirewall

enum (OsFirewall)

Stan zapory sieciowej na poziomie systemu operacyjnego. Na ChromeOS wartość zawsze będzie wynosić ENABLED (WŁĄCZONY) na zwykłych urządzeniach i UNKNOWN (NIEZNANY) na urządzeniach w trybie programisty. Obsługę MacOS 15 (Sequoia) i nowszych wprowadziliśmy w Chrome M131.

systemDnsServers[]

string

Lista adresów wszystkich serwerów DNS na poziomie systemu operacyjnego skonfigurowanych w ustawieniach sieci urządzenia.

hostname

string

Nazwa hosta urządzenia.

macAddresses[]

string

adresy MAC urządzenia.

screenLockSecured

enum (ScreenLockSecured)

Stan ochrony hasłem blokady ekranu. W ChromeOS ta wartość będzie zawsze WŁĄCZONA, ponieważ nie można wyłączyć wymogu podawania hasła ani kodu PIN przy odblokowywaniu urządzenia.

allowScreenLock

boolean

Wartość zasady AllowScreenLock na urządzeniu. Więcej informacji znajdziesz na stronie https://chromeenterprise.google/policies/?policy=AllowScreenLock. Dostępne tylko w ChromeOS.

imei[]

string

Identyfikator IMEI urządzenia. Funkcja dostępna tylko w ChromeOS.

meid[]

string

Identyfikator MEID urządzenia. Dostępne tylko w ChromeOS.

secureBootMode

enum (SecureBootMode)

Czy oprogramowanie startowe urządzenia ma włączoną funkcję Bezpieczny rozruch. Dostępne tylko w systemie Windows.

windowsMachineDomain

string

Domena Windows, do której należy bieżący komputer. Dostępne tylko w systemie Windows.

windowsUserDomain

string

Domena Windows dla bieżącego użytkownika systemu operacyjnego. Funkcja dostępna tylko w systemie Windows.

deviceEnrollmentDomain

string

Domena rejestracji klienta, który obecnie zarządza urządzeniem.

browserVersion

string

Aktualna wersja przeglądarki Chrome, która wygenerowała ten zestaw sygnałów. Przykładowa wartość: „107.0.5286.0”.

deviceAffiliationIds[]

string

Identyfikatory organizacji powiązane z organizacją, która obecnie zarządza urządzeniem. Jeśli zestawy identyfikatorów przynależności urządzenia i profilu się pokrywają, oznacza to, że organizacje zarządzające urządzeniem i użytkownikiem są powiązane. Więcej informacji o przynależności użytkowników znajdziesz na https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.

profileAffiliationIds[]

string

Identyfikatory powiązań organizacji powiązanych z organizacją, która zarządza obecnie użytkownikiem profilu w Chrome lub użytkownikiem ChromeOS.

builtInDnsClientEnabled

boolean

Określa, czy jest używany wbudowany klient DNS w Chrome. W przeciwnym razie używany jest klient DNS systemu operacyjnego. Ta wartość może być kontrolowana przez zasady firmy: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.

chromeRemoteDesktopAppBlocked

boolean

Czy dostęp do aplikacji Pulpit zdalny Chrome jest zablokowany przez zasadę.

safeBrowsingProtectionLevel

enum (SafeBrowsingProtectionLevel)

Poziom ochrony Bezpiecznego przeglądania. To ustawienie może być kontrolowane przez zasady firmy: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.

siteIsolationEnabled

boolean

Czy włączone jest ustawienie Izolacja witryn (czyli witryna na proces). To ustawienie może być kontrolowane przez zasady firmy: https://chromeenterprise.google/policies/#SitePerProcess

passwordProtectionWarningTrigger

enum (PasswordProtectionWarningTrigger)

Wskazuje, czy funkcja Ostrzeżenie dotyczące ochrony hasłem jest włączona. Ochrona haseł ostrzega użytkowników, gdy używają chronionego hasła w podejrzanych witrynach. To ustawienie jest kontrolowane przez zasadę firmową: https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger.

Pamiętaj, że nieskonfigurowana zasada nie działa tak samo jak ustawienie zasady PASSWORD_PROTECTION_OFF.

realtimeUrlCheckMode

enum (RealtimeUrlCheckMode)

Określa, czy skanowanie niebezpiecznych adresów URL klasy korporacyjnej (czyli niestandardowych) jest włączone. To ustawienie może być kontrolowane przez zasady firmy: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode

thirdPartyBlockingEnabled

boolean

Czy Chrome blokuje wstrzykiwanie kodu oprogramowania innych firm. To ustawienie może być kontrolowane przez zasadę firmy: https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Dostępne tylko w systemie Windows.

trigger

enum (Trigger)

Aktywator, który wygenerował ten zestaw sygnałów.

profileEnrollmentDomain

string

Domena rejestracji klienta, który obecnie zarządza profilem.

crowdStrikeAgent

object (CrowdStrikeAgent)

Właściwości agenta Crowdstrike zainstalowane na urządzeniu (jeśli istnieją). Dostępne tylko w systemach Windows i macOS.

System operacyjny

Obsługiwane systemy operacyjne.

Wartości w polu enum
OPERATING_SYSTEM_UNSPECIFIED NIEOKREŚLONY.
CHROME_OS ChromeOS.
CHROMIUM_OS System operacyjny Chromium
WINDOWS Windows.
MAC_OS_X Mac OS X.
LINUX Linux

DiskEncryption

Możliwe stany szyfrowania dysku głównego.

Wartości w polu enum
DISK_ENCRYPTION_UNSPECIFIED Nie określono.
DISK_ENCRYPTION_UNKNOWN Chrome nie może ocenić stanu szyfrowania.
DISK_ENCRYPTION_DISABLED Dysk główny nie jest zaszyfrowany.
DISK_ENCRYPTION_ENCRYPTED Dysk główny jest zaszyfrowany.

OsFirewall

Możliwe stany zapory sieciowej na poziomie systemu operacyjnego.

Wartości w polu enum
OS_FIREWALL_UNSPECIFIED Nie określono.
OS_FIREWALL_UNKNOWN Chrome nie może ocenić stanu zapory systemu operacyjnego.
OS_FIREWALL_DISABLED Zapora systemu operacyjnego jest wyłączona.
OS_FIREWALL_ENABLED Zapora systemu operacyjnego jest włączona.

ScreenLockSecured

Możliwe stany ochrony hasłem blokady ekranu

Wartości w polu enum
SCREEN_LOCK_SECURED_UNSPECIFIED Nie określono.
SCREEN_LOCK_SECURED_UNKNOWN Przeglądarka Chrome nie mogła ocenić stanu mechanizmu blokady ekranu.
SCREEN_LOCK_SECURED_DISABLED Blokada ekranu nie jest chroniona hasłem.
SCREEN_LOCK_SECURED_ENABLED Blokada ekranu jest chroniona hasłem.

SecureBootMode

Możliwe stany trybu bezpiecznego rozruchu urządzenia.

Wartości w polu enum
SECURE_BOOT_MODE_UNSPECIFIED Nie określono.
SECURE_BOOT_MODE_UNKNOWN Chrome nie udało się określić trybu bezpiecznego rozruchu.
SECURE_BOOT_MODE_DISABLED Bezpieczny rozruch został wyłączony w oprogramowaniu startowym.
SECURE_BOOT_MODE_ENABLED Bezpieczny rozruch był włączony w oprogramowaniu startowym.

SafeBrowsingProtectionLevel

Możliwe wartości poziomu ochrony Bezpiecznego przeglądania.

Wartości w polu enum
SAFE_BROWSING_PROTECTION_LEVEL_UNSPECIFIED Nie określono.
INACTIVE Bezpieczne przeglądanie jest wyłączone.
STANDARD Bezpieczne przeglądanie działa w trybie standardowym.
ENHANCED Bezpieczne przeglądanie działa w trybie rozszerzonym.

PasswordProtectionWarningTrigger

Możliwe wartości wyzwalacza ostrzeżenia dotyczącego ochrony hasłem.

Wartości w polu enum
PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED Nie określono.
POLICY_UNSET Zasada nie jest skonfigurowana.
PASSWORD_PROTECTION_OFF Ostrzeżenie dotyczące ochrony hasłem nie jest wyświetlane.
PASSWORD_REUSE Ostrzeżenie dotyczące ochrony hasłem jest wyświetlane, gdy chronione hasło jest ponownie używane.
PHISHING_REUSE Ostrzeżenie dotyczące ochrony hasłem jest wyświetlane, jeśli chronione hasło zostanie użyte ponownie w znanej witrynie wyłudzającej informacje.

RealtimeUrlCheckMode

Możliwe wartości dla opcji Sprawdzanie URL-i w czasie rzeczywistym.

Wartości w polu enum
REALTIME_URL_CHECK_MODE_UNSPECIFIED Nie określono.
REALTIME_URL_CHECK_MODE_DISABLED Wyłączono. Zastosowano kontrole Bezpiecznego przeglądania dla użytkowników.
REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME Sprawdzanie w czasie rzeczywistym adresów URL ramki głównej jest włączone.

CrowdStrikeAgent

Właściwości agenta CrowdStrike zainstalowanego na urządzeniu.

Zapis JSON
{
  "agentId": string,
  "customerId": string
}
Pola
agentId

string

Identyfikator agenta Crowdstrike.

customerId

string

Identyfikator klienta, do którego należy agent.

Aktywator

Możliwe wartości reguły.

Wartości w polu enum
TRIGGER_UNSPECIFIED Nie określono.
TRIGGER_BROWSER_NAVIGATION Podczas otwierania adresu URL w przeglądarce
TRIGGER_LOGIN_SCREEN podczas logowania się na konto na ekranie logowania w ChromeOS.

KeyTrustLevel

Poziom zaufania atestowanego klucza.

Wartości w polu enum
KEY_TRUST_LEVEL_UNSPECIFIED NIEOKREŚLONY.
CHROME_OS_VERIFIED_MODE Urządzenie z ChromeOS w trybie zweryfikowanym.
CHROME_OS_DEVELOPER_MODE urządzenie z ChromeOS w trybie programisty,
CHROME_BROWSER_HW_KEY przeglądarka Chrome z kluczem przechowywanym na sprzęcie urządzenia;
CHROME_BROWSER_OS_KEY przeglądarka Chrome z kluczem przechowywanym na poziomie systemu operacyjnego,
CHROME_BROWSER_NO_KEY Przeglądarka Chrome bez klucza atestu.