---
sourceDocument: Xanadu IT Service Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu IT Service Management

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# OAuth 2.0-Anmeldeinformationen für GitHub Apps -- JWT

# OAuth 2.0-Anmeldeinformationen für GitHub Apps -- JWT {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 7 Minuten Lesedauer

Führen Sie die folgenden Schritte aus, um Ihre GitHub-Apps mit dem JWT-Bearer-Token zu integrieren.

Bevor Sie beginnen

Erforderliche Rolle:

* oauth_admin in DevOps Change-Geschwindigkeit.
* Administratorkonto in GitHub.

{#dev-ops-github-apps-oath-jwt__ul_rxd_mpy_jsb}  
Hinweis:  
Für GitHub Enterprise Server (lokale Instanz) wird OAuth nicht unterstützt, wenn Sie die Verbindung über einen MID-Server herstellen.

## Konfigurieren Sie die App GitHub in Ihrem Account GitHub (JWT). {#ariaid-title2}

Erstellen Sie eine anwenderdefinierte GitHub App von Ihrem GitHub -Konto, um die OAuth 2.0-Authentifizierung mit Ihrer ServiceNow -Instanz zu aktivieren.

### Vorbereitungen

GitHub Anforderung: App GitHub für Integration mit ServiceNowkonfiguriert

Erforderliche Rolle: Keine Instanzrolle erforderlich

### Warum und wann dieser Vorgang ausgeführt wird

Führen Sie diese Schritte in Ihrem Konto GitHub aus. Siehe [Gebäude GitHub Apps](https://developer.github.com/apps/building-github-apps/) Auf der Developer Site GitHub finden Sie Anweisungen zum Erstellen und Konfigurieren benutzerdefinierter Anwendungen.

### Prozedur

1. Erstellen Sie in Ihrem Konto GitHubGitHub Ihre App \[\], indem Sie zu navigieren EntwicklereinstellungenGitHub-Appsan.
2. Geben Sie im Feld Homepage-URL den <kbd class="ph userinput">Wert https://</kbd>ein.\<instance-name\> .service-now.com .
3. Geben Sie im Feld Rückruf-URL für Anwenderautorisierung den Wert<kbd class="ph userinput">https://</kbd>ein.\<instance-name\> .service-now.com/oauth_redirect.do
4. Deaktivieren Sie im Abschnitt „ Identifizieren und Autorisieren von Anwendern " das Feld Anwenderautorisierungstoken ablaufen lassen.
5. Wählen Sie im Abschnitt „Webhook " das Feld Aktiv aus.
6. Geben Sie im Feld Webhook-URL<kbd class="ph userinput">https://</kbd>ein.\<instance-name\> .service-now.com/api/sn_devops/v2/devops/tool/apps?toolId=\<Tool ID\> , wobei Tool-ID Ihre GitHub Tool-ID (sys_id) von DevOps Change-Geschwindigkeitist.  
   Hinweis:  
   Wenn Sie das Tool neu erstellen und nicht über die Tool-ID verfügen, können Sie die Webhook-URL ohne Tool-ID eingeben und später konfigurieren. So konfigurieren Sie später:
   1. Navigieren Sie zur Tooldatensatzseite des verbundenen Tools.
   2. Wählen Sie Konfigurieren GitHub App, und wählen Sie Mit vorhandenem Token automatisch konfigurierenaus.

   {#dev-ops-config-github-acct-jwt__ol_nmg_pk4_ybc}Dadurch wird die Webhook-URL der GitHub-App automatisch konfiguriert.  
   Sie können die Tool-ID auf eine der folgenden Arten abrufen:
   * Beim Herstellen einer Verbindung mit dem Tool in DevOps Change-Geschwindigkeitist die Tool-ID in der Seiten-URL verfügbar. Beispiel: `https://`\<instance-name\> .service-now.com/.../sn_devops_tool/\<Tool ID\> /... .
   * Sie können die Webhook-URL von der Datensatzseite des Tools GitHub in DevOps Change-Geschwindigkeit, kopieren KonfigurierenManuell konfigurierenWebhook-URLan.
   {#dev-ops-config-github-acct-jwt__ul_qbv_2j4_ybc}
7. Lassen Sie die verbleibenden Felder leer (Standard).
8. Konfigurieren Sie im Abschnitt Repository-Berechtigungen die folgenden Einstellungen.  

   |-|-|
   | Aktion | Abgebrochen |
   | Überprüfungen | Abgebrochen |
   | Inhalte | Abgebrochen |
   | Bereitstellungen | Lesen und schreiben |
   | Umgebungen | Abgebrochen |
   | Metadaten | Abgebrochen |
   | Abrufanforderungen | Abgebrochen |
   | Geheimnisse | Abgebrochen |
   | Webhooks | Lesen und schreiben Hinweis: Zum Konfigurieren von Webhooks in ServiceNowsind Lese- und Schreibberechtigungen erforderlich. |
   [ ]

   {#dev-ops-config-github-acct-jwt__table_j5m_wcs_4mb}  
   Hinweis:  
   Wenn Sie bereits eine GitHub-App verwenden und Berechtigungen aktualisieren, müssen Sie diese Berechtigungen für Ihre GitHub-App überprüfen und akzeptieren. Sie können zu Ihrer App navigieren und „Konfigurieren \> Anforderung überprüfen \> Neue Berechtigungen akzeptieren"auswählen.
9. Belassen Sie die verbleibenden Berechtigungen als <kbd class="ph userinput">Kein Zugriff</kbd> (Standard).
10. Wählen Sie im Abschnitt „ Ereignisse abonnieren " die Option Bereitstellungsschutzregel aus.
11. Speichern Sie die Änderungen.
12. Generieren Sie nach dem Erstellen der App GitHub einen neuen privaten Schlüssel, und speichern Sie ihn auf Ihrem Computer.
13. Installieren Sie die neu erstellte App GitHub auf den Konten Ihrer Wahl.
    1. Wählen Sie auf der Einstellungsseite für GitHub-Apps Ihre App aus.
    2. Wählen Sie in der linken Sidebar App installierenaus.
    3. Wählen Sie Installieren neben der Organisation oder dem persönlichen Account, die das richtige Repository enthält.
    4. Installieren Sie die App in allen Repositorys oder wählen Sie Repositorys aus.  
       Weitere Informationen finden Sie unter [GitHub-Apps installieren](https://docs.github.com/en/developers/apps/managing-github-apps/installing-github-apps).
    {#dev-ops-config-github-acct-jwt__substeps_v31_znx_qvb}

## Client-ID zur Eigenschaft „DevOps" hinzufügen {#ariaid-title3}

Nach der Konfiguration Ihrer GitHub-App müssen Sie sicherstellen, dass das Präfix für die Client-ID (die ersten 3 oder mehr Zeichen der ID) der DevOps-Eigenschaft hinzugefügt wird: Client-ID-Bezeichner für GitHub-App.

### Vorbereitungen

Erforderliche Rolle: sn_devops.admin

### Prozedur

1. Navigieren zu ArbeitsbereicheDevOps -- Change-ArbeitsbereichAdministrationSystemkonfigurationEigenschaftenan.
2. Ändern Sie den Anwendungsbereich in DevOps-Datenmodell.
3. Suchen Sie nach der Eigenschaft: Client-ID-Bezeichner für GitHub-App \[sn_devops.github_oauth_client_id_specifier\].
4. Geben Sie das Client-ID-Präfix (die ersten 3 Zeichen der ID) Ihrer GitHub-App für die Eigenschaft ein.
5. Wählen Sie Speichern.

## Generieren Sie das Java KeyStore-Zertifikat für GitHub {#ariaid-title4}

Generieren Sie ein Java KeyStore-Zertifikat (JKS) für die JWT-Authentifizierung.

### Vorbereitungen

Erforderliche Rolle: admin

### Prozedur

1. Erstellen Sie ein CA-signiertes Zertifikat mit dem privaten Schlüssel der App GitHub :  

       openssl req -new -x509 -key <file-name>.pem -out <certificate-name>.pem -days 1095

2. Geben Sie die erforderlichen Details ein.
3. Erstellen Sie die PKCS 12-Datei mit dem privaten App-Schlüssel GitHub und dem CA-signierten Zertifikat:  

       openssl pkcs12 -export -in <certificate-name>.pem -inkey <file-name>.pem -certfile <certificate-name>.pem -out <PKCS-12-file-name>.p12 

4. Geben Sie das Exportpasswort an.
5. Erstellen Sie die JKS-Datei:  

       keytool -importkeystore -srckeystore <PKCS-12-file-name>.p12 -srcstoretype pkcs12 -destkeystore <JKS-certificate-filename>.jks -deststoretype JKS

6. Geben Sie die Passwörter für Ziel- und Quell-Schlüsselspeicher an.
{#dev-ops-generate-jks-cert-github__steps_jhr_rpr_4mb}

## Hängen Sie das Java KeyStore-Zertifikat GitHub an Ihre -Instanz an {#ariaid-title5}

Aktivieren Sie die JWT-Bearer-Grant-Token-Authentifizierung, indem Sie das gültige GitHub Java KeyStore-Zertifikat (JKS) an Ihre ServiceNow-Instanz anhängen.

### Vorbereitungen

Stellen Sie die Verfügbarkeit eines gültigen Java KeyStore-Zertifikats sicher.

Erforderliche Rolle: admin

### Prozedur

1. Navigieren zu AlleSystemdefinitionZertifikatean.
2. Wählen Sie Neu.
3. Füllen Sie die Felder des Formulars aus.  
   {#dev-ops-attach-jks-cert-github__table_hvh_4tt_xgb__entry__2}

   | Feld | Beschreibung |
   |-|-|
   | Name | Name zur eindeutigen Identifizierung des Datensatzes. Beispiel: <kbd class="ph userinput">Mein GitHub-App-Zertifikat</kbd>. |
   | Benachrichtigung bei Ablauf | Option zum Festlegen der Benutzer, die benachrichtigt werden sollen, wenn das Zertifikat abläuft. |
   | Tage vor Ablauf benachrichtigen | Anzahl der Tage zum Senden einer Benachrichtigung, bevor das Zertifikat abläuft. |
   | Aktiv | Option zum Aktivieren des -Zertifikats. |
   | Typ | Option zum Auswählen des Zertifikattyps. Wählen Sie Java Key Store aus. |
   | Läuft in Tagen ab | Anzahl der Tage, bis das Zertifikat abläuft. |
   | Schlüsselspeicher-Passwort | Dem Zertifikat zugeordnetes Passwort (Hinweis: das zuvor erstellte Ziel-KeyStore-Passwort). |
   | Kurzbeschreibung | Zusammenfassung des Zertifikats. |
   [Tabelle : 1. Formularfelder „X.509-Zertifikat".]

   {#dev-ops-attach-jks-cert-github__table_hvh_4tt_xgb}
4. Wählen Sie das Anhangsymbol ( ![Anhangsymbol]()) und hängen Sie ein JKS-Zertifikat an.
5. Wählen Sie Speicher/Zertifikate validieren aus.
{#dev-ops-attach-jks-cert-github__steps_ifm_5dw_bhb}

## Erstellen Sie einen JWT-Signaturschlüssel für das JKS-Zertifikat GitHub . {#ariaid-title6}

Erstellen Sie einen JSON-Web-Token-Signaturschlüssel (JWT), um ihn Ihrem GitHub Java KeyStore-Zertifikat zuzuweisen.

### Vorbereitungen

Erforderliche Rolle: admin, sn_devops.admin

### Prozedur

1. Navigieren zu AlleSystem-OAuthJWT-Schlüsselan.
2. Wählen Sie Neu.
3. Füllen Sie die Felder des Formulars aus.  
   {#dev-ops-create-jwt-key-github__table_jky_dk5_xgb__entry__2}

   | Feld | Beschreibung |
   |-|-|
   | Name | Name zur eindeutigen Identifizierung des JWT-Signaturschlüssels. Beispiel: <kbd class="ph userinput">Mein GitHub-App-JWT-Schlüssel</kbd>. |
   | Signatur-Schlüsselspeicher | Gültiges JKS-Zertifikat, das in der vorherigen Aufgabe angehängt wurde. Beispiel: <kbd class="ph userinput">Mein GitHub-App-Zertifikat</kbd>. |
   | Schlüssel-ID | Eindeutige ID, um zu identifizieren, welcher Schlüssel verwendet wird, wenn mehrere Schlüssel zum Signieren von Token verwendet werden. |
   | Signaturalgorithmus | Algorithmus zum Signieren mit dem JWT-Schlüssel (Hinweis: RSA 256). |
   | Signaturschlüssel-Passwort | Dem Signaturschlüssel zugeordnetes Passwort (Hinweis: das zuvor erstellte Quellschlüsselspeicher-Passwort). |
   | Aktiv | Option zum Aktivieren des Schlüssels. |
   [Tabelle : 2. Formularfelder „JWT-Schlüssel".]

   {#dev-ops-create-jwt-key-github__table_jky_dk5_xgb}
4. Wählen Sie Absenden.
{#dev-ops-create-jwt-key-github__steps_zjg_4tr_4mb}

## Erstellen Sie einen JWT-Provider für Ihren GitHub -Signaturschlüssel {#ariaid-title7}

Fügen Sie Ihrer -Instanz ServiceNow für GitHubeinen JSON-Web-Token-Provider (JWT) hinzu.

### Vorbereitungen

Erforderliche Rolle: admin, sn_devops.admin

### Prozedur

1. Navigieren zu AlleSystem-OAuthJWT-Anbieteran.
2. Wählen Sie Neu.
3. Füllen Sie die Felder des Formulars aus.  
   {#dev-ops-create-jwt-prov-github__table_l5g_3m5_xgb__entry__2}

   | Feld | Beschreibung |
   |-|-|
   | Name | Name zur eindeutigen Identifizierung des JWT-Anbieters. Beispiel: <kbd class="ph userinput">Mein GitHub-App-JWT-Anbieter</kbd>. |
   | Ablaufintervall (Sek.) | Anzahl in Sekunden zum Festlegen der Lebensdauer von JWT-Provider-Token (Hinweis: Sie können dies als Standard belassen). |
   | Signierkonfiguration | Gültiger JWT-Signaturschlüssel zuvor erstellt. Beispiel: <kbd class="ph userinput">Mein GitHub-App-JWT-Schlüssel</kbd>. |
   [Tabelle : 3. Formularfelder des JWT-Providers]

   {#dev-ops-create-jwt-prov-github__table_l5g_3m5_xgb}
4. Klicken Sie mit der rechten Maustaste auf den Header des Formulars, und wählen Sie Speichernaus.
5. Geben Sie Ihre GitHub App -App-ID (verfügbar im Abschnitt „ Info " Ihrer Konfiguration der App GitHub in GitHub ) als Wert des iss- Anspruchs in der zugehörigen Liste „Standardansprüche" ein.
6. Aud- und Sub -Werte leer lassen (Standard).
{#dev-ops-create-jwt-prov-github__steps_ung_p5r_4mb}

## GitHub als OAuth-Provider (JWT) registrieren {#ariaid-title8}

Verwenden Sie die Informationen, die während der Konfiguration des App-Accounts von \[ GitHub generiert wurden, um GitHub als OAuth-Anbieter zu registrieren und der Instanz die Anforderung von OAuth 2.0-Token zu gestatten.

### Vorbereitungen

Erforderliche Rolle: admin, sn_devops.admin

### Prozedur

1. Navigieren zu AlleSystem-OAuthApplikationsregistrierungan.
2. Wählen Sie Neu.  
   Die Frage Welche Art von OAuth-Anwendung? Meldung wird angezeigt.
3. Wählen Sie Verbindung zu einem fremden OAuth-Provider herstellen aus.
4. Füllen Sie die Felder des Formulars aus.  
   {#dev-ops-reg-github-oauth-prov-jwt__table_fd2_2xr_4mb__entry__2}

   | Feld | Beschreibung |
   |-|-|
   | Name | Name zur eindeutigen Identifizierung des Datensatzes. Geben Sie beispielsweise <kbd class="ph userinput">Mein GitHub-App-Anbieter</kbd>ein. |
   | Client-ID | Client-ID Ihrer App GitHub (Hinweis: verfügbar im Abschnitt „ Info " Ihrer Konfiguration der App \[ GitHub in GitHub ). |
   | Geheimer Clientschlüssel | Geheimer Clientschlüssel Ihrer App GitHub (Hinweis: verfügbar im Abschnitt „ Info " Ihrer Konfiguration der App \[ GitHub in GitHub ). |
   | OAuth-API-Skript | Option, mit der Sie auf eine geänderte OAuthUtil-Skripteinbindung verweisen können. Wählen Sie OAuthDevOpsGitHubJWTHandler aus. |
   | Standardgewährungstyp | Typ der Erteilung, die der Anwendungsregistrierung zugeordnet ist. Wählen Sie JWT Bearer aus. |
   | Token-URL | Die Position des Tokenendpunkts, den die Instanz zum Abrufen und Aktualisieren von Token verwendet. Geben Sie für die Cloud-Version Folgendes ein: <kbd class="ph userinput">https://api.github.com/app/installations/</kbd>\<installation_id\> /access_tokens Geben Sie für die Enterprise-Version Folgendes ein: <kbd class="ph userinput">https://</kbd>\<HOST_URL\> /api/v3/app/installations/\<installation_id\> /access_tokens Um die Installations-ID zu erhalten, wechseln Sie in Ihrer GitHub-App-Konfiguration in GitHub zum Abschnitt „App installieren", und wählen Sie das Zahnradsymbol, um Ihre App zu konfigurieren. Die Installations-ID befindet sich in der Webseiten-URL. Beispiel: https://github.com/settings/installations/\<installation_id\> . |
   [Tabelle : 4. Formularfelder „Anwendungsregistrierung".]

   {#dev-ops-reg-github-oauth-prov-jwt__table_fd2_2xr_4mb}
5. Behalten Sie für die restlichen Formularfelder den Standardwert bei.  
6. Klicken Sie mit der rechten Maustaste auf den Header des Formulars, und wählen Sie Speichernaus.
7. Öffnen Sie das Standardprofil, das in der zugehörigen Liste OAuth-Entitätsprofile erstellt wurde.
8. Füllen Sie das Feld JWT-Provider mit dem zuvor erstellten JWT-Provider aus, und speichern Sie das Formular.
9. Navigieren Sie zu Schlüsselverwaltung \> Modulzugriffsrichtlinien \> Alle.
10. Wählen Sie die Richtlinie aus, die com_snc_platform_security_oauth_glideencrypter als Wert im Feld Krypto-Modul und Skripteinbindung: OAuthDevOpsGitHubJWTHandler als Wert im Feld Zielskript enthält.
11. Stellen Sie sicher, dass das Feld Ergebnis auf Nachverfolgen festgelegt ist, und speichern Sie die Änderungen.  
{#dev-ops-reg-github-oauth-prov-jwt__steps_ed2_2xr_4mb}

## Anmeldeinformationsdatensatz für GitHub App Provider (JWT) erstellen {#ariaid-title9}

Erstellen Sie einen Anmeldeinformationsdatensatz für den zuvor erstellten App-Anbieter GitHub, um Aktionen zu autorisieren.

### Vorbereitungen

Erforderliche Rolle: admin, sn_devops.admin

### Prozedur

1. Navigieren zu AlleVerbindungen und AnmeldeinformationenAkadem. Gradean.
2. Wählen Sie Neu.  
   Im Feld Welche Art von Anmeldeinformationen möchten Sie erstellen? Meldung wird angezeigt.
3. Wählen Sie OAuth 2.0-Anmeldeinformationen aus.
4. Füllen Sie die Felder des Formulars aus.  
   {#dev-ops-create-cred-github-jwt__table_sxv_zgp_gfb__entry__2}

   | Feld | Wert erforderlich |
   |-|-|
   | Name | Name zur eindeutigen Identifizierung des Datensatzes. Geben Sie beispielsweise <kbd class="ph userinput">Meine GitHub-App-Anmeldeinformationen</kbd>ein. |
   | Aktiv | Option zum Aktivieren des Datensatzes. |
   | OAuth-Einheitenprofil | In der Anwendungsregistrierung erstelltes Standard-OAuth-Entitätsprofil. |
   [Tabelle : 5. Formularfelder für OAuth 2.0-Anmeldeinformationen]

   {#dev-ops-create-cred-github-jwt__table_sxv_zgp_gfb}
5. Speichern Sie den Datensatz.
6. Wählen Sie den zugehörigen Link OAuth-Token abrufen aus, um das OAuth-Token zu generieren.
{#dev-ops-create-cred-github-jwt__steps_o5h_52j_qfb}
**Zugehörige Konzepte**   

* [GitHub Actions-Konfigurationen](https://servicenow-prod.fluidtopics.net/2XkvQfq7xKXb_GDFQfK~Nw#github-actions-integration-with-devops "Konfigurationsinformationen zu GitHub Actions, z. B. Geheimnisse, Workflows und Einschränkungen.")
* [Anwenderdefinierte ServiceNow DevOps-Aktionen aus dem GitHub-Marketplace](https://servicenow-prod.fluidtopics.net/~Nh4qTLd1M5Aa6p4Kn9PyA#servicenow-devops-custom-actions-from-github-marketplace "Verwenden Sie die anwenderdefinierten Aktionen aus dem Marktplatz GitHub, um SonarQube-Scandaten und Sicherheitsdaten zu sammeln, den Workflow anzuhalten oder fortzusetzen oder den Workflow fortzusetzen, bis eine Change-Anforderung in Ihrer Instanz genehmigt oder abgelehnt wird, oder Details zu Change-Anforderungen abzurufen und zu aktualisieren usw.")  
**Zugehörige Tasks**   

* [GitHub-Bereitstellungs-Gates für ServiceNow DevOps-Change](https://servicenow-prod.fluidtopics.net/fDqOpgxzRsjXxTS8mD6fuA "Verwenden Sie die GitHub-Bereitstellungs-Gate-Fähigkeit, um zu entscheiden, ob eine neue Bereitstellung fortgesetzt oder angehalten werden soll.")

