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 o 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 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.

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 nesse campo (apenas 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 Google Admin SDK em https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers

signedPublicKeyAndChallenge

string

A solicitação de assinatura de certificado (no formato SPKAC, codificado em base64) é retornada nesse campo. Este campo será definido somente se o dispositivo incluir CSR na resposta ao desafio. (a opção de incluir a CSR agora está disponível para as respostas do usuário e da máquina)

deviceSignal

string

Obsoleto. Sinal do dispositivo na representação de string JSON. Prefira usar deviceSignals.

deviceSignals

object (DeviceSignals)

Sinais do dispositivo.

keyTrustLevel

enum (KeyTrustLevel)

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

profileCustomerId

string

ID de cliente exclusivo a que esse perfil pertence, conforme definido pelo Google Admin SDK 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 (ADID, na sigla em inglês).

deviceEnrollmentId

string

ID de registro do dispositivo para dispositivos 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

O dispositivo sinaliza 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 de sistema operacional em execução no dispositivo no momento.

osVersion

string

A versão atual do sistema operacional. No Windows e no Linux, o valor também incluirá 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. Indisponível na maioria das distribuições Linux.

osFirewall

enum (OsFirewall)

O estado do firewall no nível do SO. No ChromeOS, o valor sempre vai ficar ATIVADO em dispositivos comuns e DESCONHECIDO em dispositivos no modo de desenvolvedor.

systemDnsServers[]

string

Lista dos 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 estará ATIVADO, pois não há como desativar a exigência de senha ou PIN ao desbloquear o dispositivo.

allowScreenLock

boolean

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

imei[]

string

Identificação de Equipamento Móvel Internacional (IMEI) 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 associado à máquina atual. Disponível apenas no Windows.

windowsUserDomain

string

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

deviceEnrollmentDomain

string

Domínio de registro do cliente que está gerenciando 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 gerencia o dispositivo no momento. Quando os conjuntos de códigos de afiliação de dispositivo e de perfil se sobrepõem, isso significa que 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 à que gerencia o usuário do perfil do Chrome ou do ChromeOS.

builtInDnsClientEnabled

boolean

Se o cliente DNS integrado do Chrome é usado. O cliente DNS do SO é usado de outra forma. É possível controlar esse valor por uma política da empresa: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.

chromeRemoteDesktopAppBlocked

boolean

Define se o acesso ao aplicativo Área de trabalho remota do Google Chrome é bloqueado com 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 da empresa: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.

siteIsolationEnabled

boolean

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 da empresa: https://chromeenterprise.google/policies/#SitePerProcess

passwordProtectionWarningTrigger

enum (PasswordProtectionWarningTrigger)

Se o recurso Aviso de proteção de senha está ativado ou não. A proteção de senha 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.

Se a política for deixada sem definição, ela não terá os mesmos efeitos de ser explicitamente definida como PASSWORD_PROTECTION_OFF.

realtimeUrlCheckMode

enum (RealtimeUrlCheckMode)

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

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 empresarial: 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 registro do cliente que está gerenciando o perfil no momento.

crowdStrikeAgent

object (CrowdStrikeAgent)

Propriedades do agente da CrowdStrike instaladas no dispositivo, se houver. Disponível apenas no Windows e MacOS.

OperatingSystem

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

Possíveis estados de criptografia do disco principal.

Enums
DISK_ENCRYPTION_UNSPECIFIED Não especificado.
DISK_ENCRYPTION_UNKNOWN Não foi possível avaliar o estado da criptografia no Chrome.
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 Não foi possível avaliar o estado do firewall do SO no Chrome.
OS_FIREWALL_DISABLED O firewall do SO está desativado.
OS_FIREWALL_ENABLED O firewall do SO está ativado.

ScreenLockSecured

Possíveis estados da proteção por 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 é protegido por senha.

SecureBootMode

Possíveis estados 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 foi definida.
PASSWORD_PROTECTION_OFF Nenhum aviso de proteção de senha será exibido.
PASSWORD_REUSE O aviso de proteção de senha será 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 dos 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

O ID do agente da CrowdStrike.

customerId

string

O ID de 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.

KeyTrustLevel

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

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.