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)

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

Ciąg znaków zakodowany w formacie Base64.

expectedIdentity

string

Opcjonalnie: Usługa może opcjonalnie podać informacje o tożsamości urządzenia lub użytkownika powiązanego z kluczem. W przypadku EMK ta wartość to zarejestrowana domena. W przypadku EUK jest to adres e-mail użytkownika. Jeśli jest obecna, zostanie sprawdzona pod kątem zgodności z treścią odpowiedzi. W przeciwnym razie weryfikacja się nie powiedzie.

Treść odpowiedzi

Komunikat z wynikiem wywołania VerifiedAccess.VerifyChallengeResponse.

Odpowiedź zwracana w przypadku profili zarządzanych w niezarządzanych przeglądarkach NIE będzie zawierać pól devicePermanentId, keyTrustLevel, virtualDeviceId i customerId. Profile zarządzane będą ZAMIAST tego zawierać pola profileCustomerId, virtualProfileId, profilePermanentId 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,
  "profilePermanentId": string,
  "profileKeyTrustLevel": enum (KeyTrustLevel),
  "attestedDeviceId": string,
  "deviceEnrollmentId": string
}
Pola
devicePermanentId

string

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

virtualDeviceId

string

Tylko dane wyjściowe. Identyfikator urządzenia wirtualnego. Definicja identyfikatora urządzenia wirtualnego zależy od platformy.

customerId

string

Tylko dane wyjściowe. 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

Tylko dane wyjściowe. W tym polu zwracane jest żądanie podpisania certyfikatu (w formacie SPKAC, zakodowanym w formacie base64). To pole zostanie ustawione tylko wtedy, gdy urządzenie uwzględniło CSR w odpowiedzi na wyzwanie. (opcja uwzględniania odpowiedzi CSR jest teraz dostępna zarówno w przypadku odpowiedzi od użytkowników, jak i odpowiedzi maszynowych)

deviceSignal

string

Tylko dane wyjściowe. Rola wycofana. sygnał z urządzenia w postaci ciągu znaków JSON; Zamiast tego użyj interfejsu deviceSignals.

deviceSignals

object (DeviceSignals)

Tylko dane wyjściowe. Sygnały z urządzenia.

keyTrustLevel

enum (KeyTrustLevel)

Tylko dane wyjściowe. Poziom zaufania do klucza potwierdzonego przez urządzenie.

profileCustomerId

string

Tylko dane wyjściowe. 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

Tylko dane wyjściowe. Podany przez klienta identyfikator profilu na urządzeniu.

profilePermanentId

string

Tylko dane wyjściowe. Unikalny identyfikator po stronie serwera profilu na urządzeniu.

profileKeyTrustLevel

enum (KeyTrustLevel)

Tylko dane wyjściowe. Profil poświadczony poziom zaufania klucza.

attestedDeviceId

string

Tylko dane wyjściowe. Identyfikator atestowanego urządzenia (ADID).

deviceEnrollmentId

string

Tylko dane wyjściowe. Identyfikator rejestracji urządzenia z ChromeOS.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

Więcej informacji znajdziesz w OAuth 2.0 Overview.

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,
  "antivirus": {
    object (Antivirus)
  },
  "crowdStrikeAgent": {
    object (CrowdStrikeAgent)
  }
}
Pola
deviceManufacturer

string

Tylko dane wyjściowe. Nazwa producenta urządzenia.

deviceModel

string

Tylko dane wyjściowe. Nazwa modelu urządzenia.

operatingSystem

enum (OperatingSystem)

Tylko dane wyjściowe. Typ systemu operacyjnego, który jest obecnie uruchomiony na urządzeniu.

osVersion

string

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

displayName

string

Tylko dane wyjściowe. Wyświetlana nazwa urządzenia zdefiniowana przez użytkownika.

diskEncryption

enum (DiskEncryption)

Tylko dane wyjściowe. Stan szyfrowania dysku. W ChromeOS dysk główny jest zawsze zaszyfrowany.

serialNumber

string

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

osFirewall

enum (OsFirewall)

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

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

Tylko dane wyjściowe. adresy MAC urządzenia.

screenLockSecured

enum (ScreenLockSecured)

Tylko dane wyjściowe. Stan ochrony hasłem blokady ekranu. W ChromeOS ta wartość będzie zawsze włączona, ponieważ nie można wyłączyć wymagania hasła lub kodu PIN podczas odblokowywania urządzenia.

allowScreenLock

boolean

Tylko dane wyjściowe. 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

Tylko dane wyjściowe. Identyfikator IMEI urządzenia. Dostępne tylko w ChromeOS.

meid[]

string

Tylko dane wyjściowe. Identyfikator MEID urządzenia. Dostępne tylko w ChromeOS.

secureBootMode

enum (SecureBootMode)

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

windowsMachineDomain

string

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

windowsUserDomain

string

Tylko dane wyjściowe. Domena Windows dla bieżącego użytkownika systemu operacyjnego. Dostępne tylko w systemie Windows.

deviceEnrollmentDomain

string

Tylko dane wyjściowe. Domena rejestracji klienta, który obecnie zarządza urządzeniem.

browserVersion

string

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

deviceAffiliationIds[]

string

Tylko dane wyjściowe. 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 stronie https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.

profileAffiliationIds[]

string

Tylko dane wyjściowe. Identyfikatory powiązania organizacji, które są powiązane z organizacją zarządzającą obecnie użytkownikiem profilu w Chrome lub użytkownikiem ChromeOS.

builtInDnsClientEnabled

boolean

Tylko dane wyjściowe. Określa, czy wbudowany klient DNS Chrome jest używany. 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

Tylko dane wyjściowe. Czy dostęp do aplikacji Pulpit zdalny Chrome jest zablokowany przez zasadę.

safeBrowsingProtectionLevel

enum (SafeBrowsingProtectionLevel)

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

siteIsolationEnabled

boolean

Tylko dane wyjściowe. 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)

Tylko dane wyjściowe. 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.

Uwaga: zasada nieskonfigurowana nie ma takich samych skutków jak zasada skonfigurowana na wartość PASSWORD_PROTECTION_OFF.

realtimeUrlCheckMode

enum (RealtimeUrlCheckMode)

Tylko dane wyjściowe. 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
(deprecated)

boolean

Tylko dane wyjściowe. Rola wycofana. Odpowiednia zasada została wycofana.

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)

Tylko dane wyjściowe. Wyzwalacz, który wygenerował ten zestaw sygnałów.

profileEnrollmentDomain

string

Tylko dane wyjściowe. Domena rejestracji klienta, który obecnie zarządza profilem.

antivirus

object (Antivirus)

Tylko dane wyjściowe. informacje o oprogramowaniu antywirusowym na urządzeniu. Dostępne tylko w systemie Windows.

crowdStrikeAgent

object (CrowdStrikeAgent)

Tylko dane wyjściowe. właściwości agenta Crowdstrike zainstalowanego na urządzeniu (jeśli dotyczy). 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 ChromiumOS.
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 Chrome nie udało się 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 rozruchowym.
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 będzie wyświetlane.
PASSWORD_REUSE Ostrzeżenie dotyczące ochrony hasłem jest wyświetlane, gdy chronione hasło zostanie ponownie użyte.
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 adresów URL 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

Tylko dane wyjściowe. Identyfikator agenta Crowdstrike.

customerId

string

Tylko dane wyjściowe. Identyfikator klienta, do którego należy agent.

Wyzwalacz

Możliwe wartości dla reguły.

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

Antywirus

informacje o programie antywirusowym na urządzeniu;

Zapis JSON
{
  "state": enum (State)
}
Pola
state

enum (State)

Tylko dane wyjściowe. Stan programu antywirusowego na urządzeniu. Wprowadzona w Chrome M136.

Stan

Możliwy stan programu antywirusowego na urządzeniu.

Wartości w polu enum
STATE_UNSPECIFIED Nie określono.
MISSING Na urządzeniu nie wykryto żadnego programu antywirusowego.
DISABLED Na urządzeniu jest zainstalowany co najmniej 1 program antywirusowy, ale żaden z nich nie jest włączony.
ENABLED Na urządzeniu włączono co najmniej 1 program antywirusowy.

KeyTrustLevel

Poziom zaufania do klucza poświadczonego.

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 uwierzytelniania,