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 em 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. No caso de um EUK, esse valor é o endereço de e-mail do usuário. Se estiver 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. Em vez disso, os perfis gerenciados terão os campos profileCustomerId, virtualProfileId 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,
  "profileKeyTrustLevel": enum (KeyTrustLevel),
  "attestedDeviceId": string,
  "deviceEnrollmentId": string
}
Campos
devicePermanentId

string

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

virtualDeviceId

string

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

customerId

string

ID de cliente exclusivo a que o dispositivo pertence, conforme definido pelo SDK Admin do Google em https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

signedPublicKeyAndChallenge

string

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

deviceSignal

string

Obsoleto. Indicador do dispositivo na representação da string JSON. Use deviceSignals.

deviceSignals

object (DeviceSignals)

Indicadores do dispositivo.

keyTrustLevel

enum (KeyTrustLevel)

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

profileCustomerId

string

ID de cliente exclusivo a que este perfil pertence, conforme definido pelo SDK Admin do Google em https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

virtualProfileId

string

O ID de um perfil no dispositivo.

profileKeyTrustLevel

enum (KeyTrustLevel)

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

attestedDeviceId

string

ID do dispositivo atestado (ID de publicidade, na sigla em inglês).

deviceEnrollmentId

string

ID de registro do dispositivo ChromeOS.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

Para saber mais, consulte a Visão geral da autenticação.

DeviceSignals

Os sinais do dispositivo conforme relatado 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,
  "crowdStrikeAgent": {
    object (CrowdStrikeAgent)
  }
}
Campos
deviceManufacturer

string

O nome do fabricante do dispositivo.

deviceModel

string

O nome do modelo do dispositivo.

operatingSystem

enum (OperatingSystem)

O tipo do sistema operacional em execução no dispositivo.

osVersion

string

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

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

diskEncryption

enum (DiskEncryption)

O estado de criptografia do disco. No ChromeOS, o disco principal é sempre CRIPTOGRAFADO.

serialNumber

string

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

osFirewall

enum (OsFirewall)

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. No momento, o indicador não está disponível no macOS 15 (Sequoia) e em versões mais recentes.

systemDnsServers[]

string

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

hostname

string

Nome do host do dispositivo.

macAddresses[]

string

Endereços MAC do dispositivo.

screenLockSecured

enum (ScreenLockSecured)

O estado da proteção por senha do bloqueio de tela. No ChromeOS, esse valor sempre vai estar ATIVADO, já que não é possível desativar a exigência de uma senha ou um PIN ao desbloquear o dispositivo.

allowScreenLock

boolean

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

imei[]

string

Identificação internacional de equipamento móvel (IMEI, na sigla em inglês) do dispositivo. Disponível apenas no ChromeOS.

meid[]

string

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

secureBootMode

enum (SecureBootMode)

Se o software de inicialização do dispositivo está com o recurso de Inicialização segura ativado. Disponível apenas no Windows.

windowsMachineDomain

string

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

windowsUserDomain

string

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

deviceEnrollmentDomain

string

Domínio de inscrição do cliente que gerencia o dispositivo no momento.

browserVersion

string

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

deviceAffiliationIds[]

string

IDs de afiliação das organizações afiliadas à organização que está gerenciando o dispositivo. Quando os conjuntos de IDs de afiliação de dispositivo e perfil se sobrepõem, as organizações que gerenciam o dispositivo e o usuário sã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

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

builtInDnsClientEnabled

boolean

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

chromeRemoteDesktopAppBlocked

boolean

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

safeBrowsingProtectionLevel

enum (SafeBrowsingProtectionLevel)

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

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)

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)

Se a verificação de URL não segura de nível empresarial (por exemplo, personalizada) está ativada ou não. Essa configuração pode ser controlada por uma política corporativa: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode

thirdPartyBlockingEnabled

boolean

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)

O acionador que gerou esse conjunto de indicadores.

profileEnrollmentDomain

string

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

crowdStrikeAgent

object (CrowdStrikeAgent)

Propriedades do agente da 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 pôde avaliar o estado da criptografia.
DISK_ENCRYPTION_DISABLED O disco principal não está criptografado.
DISK_ENCRYPTION_ENCRYPTED O disco principal está criptografado.

OsFirewall

Possíveis estados 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 pôde avaliar o estado do mecanismo de bloqueio de tela.
SCREEN_LOCK_SECURED_DISABLED O bloqueio de tela não está 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 O recurso Navegação segura está desativado.
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 foi 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 será exibido 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 da CrowdStrike instalado em um dispositivo.

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

string

O ID do agente da CrowdStrike.

customerId

string

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 acessar um URL em um navegador.
TRIGGER_LOGIN_SCREEN Ao fazer login em uma conta na tela de login do ChromeOS.

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.