Method: challenge.verify

Verifica a resposta do desafio.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "challengeResponse": string,
  "expectedIdentity": string
}
Campos
challengeResponse

string (bytes format)

Obrigatório. A resposta gerada para o desafio, a representação de bytes de SignedData.

Uma string codificada em base64.

expectedIdentity

string

Opcional. O serviço pode fornecer informações de identidade sobre o dispositivo ou usuário associado à chave. Para um EMK, esse valor é o domínio registrado. Para um EUK, esse valor é o endereço de e-mail do usuário. Se presente, esse valor será verificado em relação ao conteúdo da resposta, e a verificação falhará se não houver correspondência.

Corpo da resposta

Mensagem de resultado para VerifiedAccess.VerifyChallengeResponse.

A resposta retornada quando bem-sucedida para perfis gerenciados em navegadores não gerenciados NÃO terá os campos devicePermanentId, keyTrustLevel, virtualDeviceId e customerId. Os perfis gerenciados terão os campos profileCustomerId, virtualProfileId, profilePermanentId e profileKeyTrustLevel.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação 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
}
Campos
devicePermanentId

string

Apenas saída. O ID permanente do dispositivo é retornado neste campo (somente para a resposta da máquina).

virtualDeviceId

string

Apenas saída. ID do dispositivo virtual. A definição do ID do dispositivo virtual é específica da plataforma.

customerId

string

Apenas saída. ID de cliente exclusivo ao qual o dispositivo pertence, conforme definido pelo SDK Admin do Google em https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

signedPublicKeyAndChallenge

string

Apenas saída. A solicitação de assinatura de certificado (no formato SPKAC, codificada em base64) é retornada neste campo. Esse campo só será definido se o dispositivo tiver incluído o CSR na resposta de desafio. A opção de incluir o CSR agora está disponível para respostas de usuários e máquinas.

deviceSignal

string

Apenas saída. Obsoleto. Indicador do dispositivo na representação de string JSON. Use deviceSignals.

deviceSignals

object (DeviceSignals)

Apenas saída. Indicadores do dispositivo.

keyTrustLevel

enum (KeyTrustLevel)

Apenas saída. Nível de confiança da chave atestado pelo dispositivo.

profileCustomerId

string

Apenas saída. ID de cliente exclusivo ao qual o perfil pertence, conforme definido pelo SDK Admin do Google em https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

virtualProfileId

string

Apenas saída. O ID fornecido pelo cliente de um perfil no dispositivo.

profilePermanentId

string

Apenas saída. O ID exclusivo do servidor de um perfil no dispositivo.

profileKeyTrustLevel

enum (KeyTrustLevel)

Apenas saída. Nível de confiança da chave atestado pelo perfil.

attestedDeviceId

string

Apenas saída. ID do dispositivo atestado (AdID).

deviceEnrollmentId

string

Apenas saída. ID de registro de dispositivo para dispositivos ChromeOS.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

Para mais informações, consulte OAuth 2.0 Overview.

DeviceSignals

Os sinais do dispositivo conforme informados pelo Chrome. A menos que especificado de outra forma, os indicadores estão disponíveis em todas as plataformas.

Representação 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)
  }
}
Campos
deviceManufacturer

string

Apenas saída. O nome do fabricante do dispositivo.

deviceModel

string

Apenas saída. O nome do modelo do dispositivo.

operatingSystem

enum (OperatingSystem)

Apenas saída. O tipo do sistema operacional em execução no dispositivo.

osVersion

string

Apenas saída. A versão atual do sistema operacional. No Windows e no Linux, o valor também inclui as informações do patch de segurança.

displayName

string

Apenas saída. O nome de exibição do dispositivo, conforme definido pelo usuário.

diskEncryption

enum (DiskEncryption)

Apenas saída. O estado de criptografia do disco. No ChromeOS, o disco principal é sempre CRIPTOGRAFADO.

serialNumber

string

Apenas saída. O número de série do dispositivo. No Windows, isso representa o número de série do BIOS. Não está disponível na maioria das distribuições do Linux.

osFirewall

enum (OsFirewall)

Apenas saída. O estado do firewall no nível do SO. No ChromeOS, o valor sempre será ATIVADO em dispositivos normais e DESCONHECIDO em dispositivos no modo de desenvolvedor. O suporte para o MacOS 15 (Sequoia) e versões mais recentes foi introduzido no Chrome M131.

systemDnsServers[]

string

Lista de endereços de todos os servidores DNS do nível do SO configurados nas configurações de rede do dispositivo.

hostname

string

Nome do host do dispositivo.

macAddresses[]

string

Apenas saída. Endereços MAC do dispositivo.

screenLockSecured

enum (ScreenLockSecured)

Apenas saída. O estado da proteção de senha do bloqueio de tela. No ChromeOS, esse valor sempre será ATIVADO, porque não é possível desativar a solicitação de senha ou PIN ao desbloquear o dispositivo.

allowScreenLock

boolean

Apenas saída. Valor da política "AllowScreenLock" no dispositivo. Consulte https://chromeenterprise.google/policies/?policy=AllowScreenLock para mais detalhes. Disponível apenas no ChromeOS.

imei[]

string

Apenas saída. Identificação Internacional de Equipamento Móvel (IMEI) do dispositivo. Disponível apenas no ChromeOS.

meid[]

string

Apenas saída. Identificador de equipamento móvel (MEID, na sigla em inglês) do dispositivo. Disponível apenas no ChromeOS.

secureBootMode

enum (SecureBootMode)

Apenas saída. Indica se o recurso de inicialização segura do dispositivo está ativado. Disponível apenas no Windows.

windowsMachineDomain

string

Apenas saída. Domínio do Windows ao qual a máquina atual está associada. Disponível apenas no Windows.

windowsUserDomain

string

Apenas saída. Domínio do Windows para o usuário do SO atual. Disponível apenas no Windows.

deviceEnrollmentDomain

string

Apenas saída. Domínio de registro do cliente que está gerenciando o dispositivo.

browserVersion

string

Apenas saída. Versão atual do navegador Chrome que gerou esse conjunto de indicadores. Exemplo de valor: "107.0.5286.0".

deviceAffiliationIds[]

string

Apenas saída. IDs de afiliação das organizações afiliadas à organização que está gerenciando o dispositivo. Quando os conjuntos de IDs de afiliação de dispositivos e perfis se sobrepõem, significa que as organizações que gerenciam o dispositivo e o usuário estão afiliadas. Para saber mais sobre a afiliação do usuário, acesse https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.

profileAffiliationIds[]

string

Apenas saída. IDs de afiliação das organizações afiliadas à organização que gerencia o usuário do perfil do Chrome ou do ChromeOS.

builtInDnsClientEnabled

boolean

Apenas saída. Indica se o cliente DNS integrado do Chrome é usado. Caso contrário, o cliente DNS do SO será usado. Esse valor pode ser controlado por uma política corporativa: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.

chromeRemoteDesktopAppBlocked

boolean

Apenas saída. Se o acesso ao aplicativo da Área de trabalho remota do Google Chrome está bloqueado por uma política.

safeBrowsingProtectionLevel

enum (SafeBrowsingProtectionLevel)

Apenas saída. Nível de proteção da Navegação segura. Essa configuração pode ser controlada por uma política corporativa: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.

siteIsolationEnabled

boolean

Apenas saída. Indica se a configuração de isolamento de sites (também conhecida como "site por processo") está ativada. Essa configuração pode ser controlada por uma política empresarial: https://chromeenterprise.google/policies/#SitePerProcess

passwordProtectionWarningTrigger

enum (PasswordProtectionWarningTrigger)

Apenas saída. Indica se o recurso de aviso de proteção de senha está ativado ou não. que alerta os usuários quando eles reutilizam senhas em sites potencialmente suspeitos. Essa configuração é controlada por uma política corporativa: https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger.

A política não definida não tem os mesmos efeitos que a política definida explicitamente como PASSWORD_PROTECTION_OFF.

realtimeUrlCheckMode

enum (RealtimeUrlCheckMode)

Apenas saída. Indica se a verificação de URL não seguro de nível empresarial (ou seja, personalizada) está ativada ou não. Essa configuração pode ser controlada por uma política corporativa: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode

thirdPartyBlockingEnabled
(deprecated)

boolean

Apenas saída. Obsoleto. A política correspondente foi descontinuada.

Se o Chrome está bloqueando a injeção de software de terceiros ou não. Essa configuração pode ser controlada por uma política corporativa: https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Disponível apenas no Windows.

trigger

enum (Trigger)

Apenas saída. O acionador que gerou esse conjunto de indicadores.

profileEnrollmentDomain

string

Apenas saída. Domínio de inscrição do cliente que está gerenciando o perfil.

antivirus

object (Antivirus)

Apenas saída. Informações sobre o software antivírus no dispositivo. Disponível apenas no Windows.

crowdStrikeAgent

object (CrowdStrikeAgent)

Apenas saída. Propriedades do agente do Crowdstrike instaladas no dispositivo, se houver. Disponível apenas para Windows e MacOS.

Sistema operacional

Sistemas operacionais compatíveis.

Enums
OPERATING_SYSTEM_UNSPECIFIED NÃO ESPECIFICADO.
CHROME_OS ChromeOS.
CHROMIUM_OS ChromiumOS.
WINDOWS Windows.
MAC_OS_X Mac OS X.
LINUX Linux

DiskEncryption

Estados possíveis de criptografia para o disco principal.

Enums
DISK_ENCRYPTION_UNSPECIFIED Não especificado.
DISK_ENCRYPTION_UNKNOWN O Chrome não conseguiu avaliar o estado da criptografia.
DISK_ENCRYPTION_DISABLED O disco principal não está criptografado.
DISK_ENCRYPTION_ENCRYPTED O disco principal está criptografado.

OsFirewall

Estados possíveis do firewall no nível do SO.

Enums
OS_FIREWALL_UNSPECIFIED Não especificado.
OS_FIREWALL_UNKNOWN O Chrome não conseguiu avaliar o estado do firewall do SO.
OS_FIREWALL_DISABLED O firewall do SO está desativado.
OS_FIREWALL_ENABLED O firewall do SO está ativado.

ScreenLockSecured

Estados possíveis da proteção de senha do bloqueio de tela.

Enums
SCREEN_LOCK_SECURED_UNSPECIFIED Não especificado.
SCREEN_LOCK_SECURED_UNKNOWN O Chrome não conseguiu avaliar o estado do mecanismo de bloqueio de tela.
SCREEN_LOCK_SECURED_DISABLED O bloqueio de tela não é protegido por senha.
SCREEN_LOCK_SECURED_ENABLED O bloqueio de tela está protegido por senha.

SecureBootMode

Estados possíveis do modo de inicialização segura do dispositivo.

Enums
SECURE_BOOT_MODE_UNSPECIFIED Não especificado.
SECURE_BOOT_MODE_UNKNOWN O Chrome não conseguiu determinar o modo de inicialização segura.
SECURE_BOOT_MODE_DISABLED A inicialização segura foi desativada no software de inicialização.
SECURE_BOOT_MODE_ENABLED A inicialização segura foi ativada no software de inicialização.

SafeBrowsingProtectionLevel

Valores possíveis para o nível de proteção da Navegação segura.

Enums
SAFE_BROWSING_PROTECTION_LEVEL_UNSPECIFIED Não especificado.
INACTIVE A Navegação segura está desativada.
STANDARD A Navegação segura está ativada no modo padrão.
ENHANCED A Navegação segura está ativada no modo avançado.

PasswordProtectionWarningTrigger

Valores possíveis para o acionador de aviso de proteção de senha.

Enums
PASSWORD_PROTECTION_WARNING_TRIGGER_UNSPECIFIED Não especificado.
POLICY_UNSET A política não está definida.
PASSWORD_PROTECTION_OFF Nenhum aviso de proteção de senha será mostrado.
PASSWORD_REUSE O aviso de proteção de senha é exibido se uma senha protegida for reutilizada.
PHISHING_REUSE O aviso de proteção de senha é mostrado se uma senha protegida for reutilizada em um site de phishing conhecido.

RealtimeUrlCheckMode

Valores possíveis para o modo de verificação de URL em tempo real.

Enums
REALTIME_URL_CHECK_MODE_UNSPECIFIED Não especificado.
REALTIME_URL_CHECK_MODE_DISABLED Desativada. As verificações da Navegação segura do consumidor são aplicadas.
REALTIME_URL_CHECK_MODE_ENABLED_MAIN_FRAME A verificação em tempo real de URLs do frame principal está ativada.

CrowdStrikeAgent

Propriedades do agente do CrowdStrike instalado em um dispositivo.

Representação JSON
{
  "agentId": string,
  "customerId": string
}
Campos
agentId

string

Apenas saída. O ID do agente do Crowdstrike.

customerId

string

Apenas saída. O ID do cliente ao qual o agente pertence.

Gatilho

Valores possíveis para o acionador.

Enums
TRIGGER_UNSPECIFIED Não especificado.
TRIGGER_BROWSER_NAVIGATION Ao navegar para um URL em um navegador.
TRIGGER_LOGIN_SCREEN Ao fazer login em uma conta na tela de login do ChromeOS.

Antivírus

Informações do antivírus em um dispositivo.

Representação JSON
{
  "state": enum (State)
}
Campos
state

enum (State)

Apenas saída. O estado do antivírus no dispositivo. Introduzido no Chrome M136.

Estado

Possível estado do antivírus em um dispositivo.

Enums
STATE_UNSPECIFIED Não especificado.
MISSING Nenhum antivírus foi detectado no dispositivo.
DISABLED Pelo menos um antivírus foi instalado no dispositivo, mas nenhum foi ativado.
ENABLED Pelo menos um antivírus foi ativado no dispositivo.

KeyTrustLevel

O nível de confiança da chave atestada.

Enums
KEY_TRUST_LEVEL_UNSPECIFIED NÃO ESPECIFICADO.
CHROME_OS_VERIFIED_MODE Dispositivo ChromeOS no modo verificado.
CHROME_OS_DEVELOPER_MODE Dispositivo ChromeOS no modo de desenvolvedor.
CHROME_BROWSER_HW_KEY Navegador Chrome com a chave armazenada no hardware do dispositivo.
CHROME_BROWSER_OS_KEY Navegador Chrome com a chave armazenada no nível do SO.
CHROME_BROWSER_NO_KEY Navegador Chrome sem uma chave de atestado.