---
sourceDocument: Xanadu IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/it-operations-management

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Xanadu IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Configurar autenticação do MID Web Server baseada em chave

# Configurar autenticação do MID Web Server baseada em chave {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Forneça segurança adicional à extensão do MID Web Server usando a autenticação baseada em chave. Gere um token de autenticação a ser enviado no cabeçalho de autorização das solicitações de entrada do cliente.{#configure-mid-web-server-extension-metric-data__ph_MIDWebServerShortDesc}

## Antes de Iniciar

Nota:  
Este procedimento é somente para compatibilidade com versões anteriores a Xanadu. Para obter detalhes sobre o procedimento na versão Xanadu para configurar o MID Web Server, consulte [Configurar a extensão MID Web Server](https://servicenow-prod.fluidtopics.net/dZDtcVz4YqdUm3EplawIiw "O MID Web Server é uma MID Server extensão que permite o desenvolvimento de REST APIs para enviar eventos e métricas para o MID Server. A extensão é aproveitada por outras extensões MID Server, como Inteligência para métricas, Ouvinte de eventos do MID WebService e a extensão de endpoint Agent Client Collector do websocket.").

* Implante e inicie um MID Server.
* Configure uma extensão MID Web Server e selecione KeyBased como o tipo de autenticação. Para obter detalhes, consulte [Configuração da extensão do MID Web Server](https://servicenow-prod.fluidtopics.net/dZDtcVz4YqdUm3EplawIiw "O MID Web Server é uma MID Server extensão que permite o desenvolvimento de REST APIs para enviar eventos e métricas para o MID Server. A extensão é aproveitada por outras extensões MID Server, como Inteligência para métricas, Ouvinte de eventos do MID WebService e a extensão de endpoint Agent Client Collector do websocket.").

{#configure-mid-web-server-extension-metric-data__ul_mvm_k4y_zrb}

Função necessária: agent_admin

## Procedimento

1. Usando um programa de script, crie um token criando uma cadeia de caracteres usando elementos definidos da solicitação HTTP/HTTPS (verbo HTTP, cabeçalho de tipo de conteúdo e caminho de solicitação, recebidos do cliente que acessa os endpoints de extensão MID Web Server ).
2. Crie um HMAC (Código de autenticação de mensagem de hash) da cadeia de caracteres assinando a cadeia de caracteres gerada com a chave secreta gerada automaticamente que é exibida em Chave secreta.  
   Esta chave é exclusiva por contexto.
3. Forneça informações para enviar este token de autenticação no cabeçalho de autorização da solicitação.  
   {#configure-mid-web-server-extension-metric-data__table_dsc_k3w_nrb__entry__2}

   | Item | Valor |
   |-|-|
   | Caminho para uma API de serviço web para enviar dados brutos | Formato da URL: https://\<MID Server IP address\> :\<port number\> /api/mid/sa/metrics Use um número de porta que corresponda a um dos números de porta configurados na extensão do Servidor Web. Exemplo: http://10.10.10.10:8097/api/mid/sa/metrics |
   | Tipo de solicitação | POST |
   | Formato de data | yyyy-MM-dd'T'HH:mm:ss.SSS'Z' Por exemplo: 2016-06-08T20:54:58.917Z |
   | Tipo de conteúdo | aplicação/json |
   [ ]

   {#configure-mid-web-server-extension-metric-data__table_dsc_k3w_nrb}

   Use os seguintes elementos de solicitação para gerar a cadeia de caracteres necessária: HTTP-Verb, Content-Type, Date e request path. Especifique esses elementos e coloque-os nesta ordem:
   * HTTP-Verbo + "\\n" +
   * Tipo de conteúdo + "\\n" +
   * Data + "\\n" +
   * Caminho da solicitação

   {#configure-mid-web-server-extension-metric-data__ul_bg4_p3w_nrb}

   Para este exemplo, a cadeia de caracteres da solicitação é:

   <kbd class="ph userinput">POST\naplicação/json\n2016-06-08T20:54:58.917Z\n/api/mid/sa/métricas</kbd>

   Para o requisito de carimbo de data/hora, um carimbo de data/hora válido que usa cabeçalho de data HTTP é necessário para autenticar a solicitação. Certifique-se de que o carimbo de data/hora esteja dentro de 15 minutos do MID Server.
{#configure-mid-web-server-extension-metric-data__steps_nd5_flc_bx}

## Como gerar o HMAC da cadeia de caracteres que usa elementos definidos da solicitação HTTP/HTTPS, usando Java {#configure-mid-web-server-extension-metric-data__example_mzb_yxs_1sb}

    package sample;
    import com.glide.util;
    import java.security.SignatureException;

    import javax.crypto.Mac;
    import javax.crypto.spec.SecretKeySpec;

    public class AuthUtil {
    	
    private static final String HMAC_SHA1_ALGORITHM = "HmacSHA1";

    /***
     * Generates base64-encode the HMAC(Hash Message Authentication Code) of input data
     * 
     * @param data
     * @param key
     * @return
     * @throws java.security.SignatureException
     */
    public static String signData(String data, String key) throws java.security.SignatureException {
    	String result;
    	try {
    		// get an hmac_sha1 key from the raw key bytes
    		SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM);

    		// create hmac_sha1 Mac instance and initialize with the signing key
    		Mac = Mac.getInstance(HMAC_SHA1_ALGORITHM);
    		mac.init(signingKey);

    		// compute the hmac on input data bytes
    		byte[] rawHmac = mac.doFinal(data.getBytes("UTF-8"));

    		// base64-encode the hmac
    		result = Base64.encode(rawHmac);

    	} catch (Exception e) {
    		throw new SignatureException("Failed to generate HMAC : " + e.getMessage());
    	}
    	return result;
    }
    }


