---
sourceDocument: Yokohama IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/yokohama/it-operations-management

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Konfigurieren Sie die schlüsselbasierte MID-Webserverauthentifizierung

# Konfigurieren Sie die schlüsselbasierte MID-Webserverauthentifizierung {#ariaid-title1}

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 Minuten Lesedauer

Bieten Sie Ihrer MID-Webservererweiterung zusätzliche Sicherheit, indem Sie die schlüsselbasierte Authentifizierung verwenden. Generieren Sie ein Authentifizierungstoken, das im Autorisierungsheader eingehender Clientanforderungen gesendet werden soll.{#configure-mid-web-server-extension-metric-data__ph_MIDWebServerShortDesc}

## Vorbereitungen

Hinweis:  
Dieses Verfahren dient nur der Kompatibilität mit Releases vor Yokohama. Für Details zum Eingriff in YokohamaRelease zum Konfigurieren von MID-Webserver, Siehe [Konfigurieren Sie MID-WebserverErweiterung](https://servicenow-prod.fluidtopics.net/xOsCzTl6S_iFh0Af_kH50Q "Die MID-WebserverIst ein MID-ServerErweiterung, mit der die Entwicklung von REST-APIs Ereignisse und Metriken an senden können MID-Server. Die Erweiterung wird von anderen genutzt MID-ServerErweiterungen, z. B. Metrikdaten, MID-Webservice-Ereignis-Listener und Agent Client Collectorwebsocket-Endpunkterweiterung.").

* Stellen Sie bereit, und starten Sie MID-Server.
* Konfigurieren Sie ein MID-WebserverErweiterung, und wählen Sie „Schlüsselbasiert" als Authentifizierungstyp aus. Weitere Informationen finden Sie unter [Konfigurieren Sie die MID-Webservererweiterung](https://servicenow-prod.fluidtopics.net/xOsCzTl6S_iFh0Af_kH50Q "Die MID-WebserverIst ein MID-ServerErweiterung, mit der die Entwicklung von REST-APIs Ereignisse und Metriken an senden können MID-Server. Die Erweiterung wird von anderen genutzt MID-ServerErweiterungen, z. B. Metrikdaten, MID-Webservice-Ereignis-Listener und Agent Client Collectorwebsocket-Endpunkterweiterung.").

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

Erforderliche Rolle: Agent_admin

## Prozedur

1. Erstellen Sie mithilfe eines Skriptprogramms ein Token, indem Sie eine Zeichenfolge mit definierten Elementen der HTTP/HTTPS-Anforderung erstellen (HTTP-Verb, Inhaltstyp-Header und Anforderungspfad, die vom Client empfangen werden, der auf zugreift MID-WebserverErweiterungsendpunkte).
2. Erstellen Sie einen HMAC (Hash-Nachrichtenauthentifizierungscode) der Zeichenfolge, indem Sie die generierte Zeichenfolge mit dem automatisch generierten geheimen Schlüssel signieren, der in angezeigt wird Geheimer Schlüssel .  
   Dieser Schlüssel ist pro Kontext eindeutig.
3. Geben Sie Informationen zum Senden dieses Authentifizierungstoken im Header der Anforderungsautorisierung an.  
   {#configure-mid-web-server-extension-metric-data__table_dsc_k3w_nrb__entry__2}

   | Element | Wert |
   |-|-|
   | Pfad zu einer Webservice-API zum Senden von Rohdaten | URL-Format: https://\<MID Server-IP-Adresse\>:\<port number\>/api/MID/sa/metrics Verwenden Sie eine Portnummer, die einer der in der Webservererweiterung eingerichteten Portnummern entspricht. Beispiel: http://10.10.10.10:8097/api/mid/sa/metrics |
   | Anforderungstyp | POST |
   | Datumsformat | yyyy-MM-dd'T'HH:mm:ss.SSS'Z' Beispiel: 2016-06-08T20:54:58.917Z |
   | Inhaltstyp | application/json |
   [ ]

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

   Verwenden Sie die folgenden Anforderungselemente, um die erforderliche Zeichenfolge zu generieren: HTTP-Verb, Inhaltstyp, Datum und Anforderungspfad. Geben Sie diese Elemente an, und ordnen Sie sie in dieser Reihenfolge an:
   * HTTP-Verb + „\\n" +
   * Inhaltstyp + „\\n" +
   * Datum + „\\n" +
   * Anforderungspfad

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

   Für dieses Beispiel lautet die Anforderungszeichenfolge:

   <kbd class="ph userinput">POST\nApplication/JSON\n2016-06-08T20:54:58.917Z\n/api/MID/sa/metrics</kbd>

   Für die Zeitstempelanforderung ist ein gültiger Zeitstempel erforderlich, der den HTTP-Datums-Header verwendet, um die Anforderung zu authentifizieren. Stellen Sie sicher, dass der Zeitstempel innerhalb von 15 Minuten vom MID-Server liegt.
{#configure-mid-web-server-extension-metric-data__steps_nd5_flc_bx}

## So generieren Sie den HMAC der Zeichenfolge, die definierte Elemente der HTTP/HTTPS-Anforderung verwendet, mit 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;
    }
    }


