OAuth 2,0-Anmeldeinformationen für werden erstellt GitHub Apps: JWT für GitHub-Anwendungsschwachstellen-Integration

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 8 Minuten Lesedauer
  • Führen Sie die folgenden Schritte aus, um Ihren zu integrieren GitHub Apps, die das JWT-Bearer-Token für verwenden GitHub-Anwendungsschwachstellen-Integration.

    Erforderliche Rollen:
    • sn_vul.App_sec_Manager und admin für Datensätze in Ihrem ServiceNow AI Platform.
    • Für Aufgaben in Ihrem ist keine Instanzrolle erforderlich GitHub Account.
    • Weitere Informationen zum Kontext der Schritte für dieses Setup finden Sie unter OAuth 2,0-Protokoll .

    Erstellen und konfigurieren Sie GitHub App für GitHub-Anwendungsschwachstellen-Integration

    Erstellen Sie eine anwenderdefinierte GitHub App aus Ihrem GitHub Account zum Aktivieren der OAuth 2,0-Authentifizierung mit Ihrem GitHub-Anwendungsschwachstellen-Integration In Ihrer Instanz.

    Vorbereitungen

    Erforderliche Rolle: Keine Instanzrolle erforderlich

    Warum und wann dieser Vorgang ausgeführt wird

    Führen Sie diese Schritte aus Ihrem aus GitHub Account. Siehe Gebäude GitHub Apps Auf der GitHub Entwickler-Website für Anweisungen zum Erstellen und Konfigurieren anwenderdefinierter Anwendungen.

    Prozedur

    1. Von Ihrem GitHub Account erstellen Sie Ihren GitHub App, indem Sie zu navigieren Entwicklereinstellungen > GitHub-Appsan.
    2. In Homepage-URL Feld eingeben https://<instance-name>.service-now.com .
    3. In Rückruf-URL der Anwenderautorisierung Feld eingeben https://<instance-name>.service-now.com/oauth_redirect.do .
    4. In Identifizieren und Autorisieren von Anwendern Deaktivieren Sie den Abschnitt Anwenderautorisierungstoken ablaufen lassen Feld.
    5. In Webhook Wählen Sie den Abschnitt aus Aktiv Feld.
    6. In Webhook-URL Feld eingeben https://instance-name>.service-now.com/ .
    7. Lassen Sie die verbleibenden Felder leer (Standard).
    8. In Repository-Berechtigungen Konfigurieren Sie die folgenden Einstellungen.
      Code-Scan Schreibgeschützt
      Inhalte Schreibgeschützt
      Anwenderdefinierte Eigenschaften Schreibgeschützt
      Abhängige Warnungen Schreibgeschützt
      Metadaten Schreibgeschützt
      Hinweis:
      Wenn Sie bereits eine GitHub-App verwenden und eine der Berechtigungen aktualisieren, müssen Sie diese Berechtigungen für Ihre GitHub-App überprüfen und akzeptieren. Sie können zu Ihrer App navigieren und auswählen Konfigurieren > Anforderung überprüfen > neue Berechtigungen akzeptieren .
    9. Belassen Sie die verbleibenden Berechtigungen als Kein Zugriff (Standard).
    10. In Abonnieren Sie Ereignisse Wählen Sie den Abschnitt aus Bereitstellungsschutzregel Option.
    11. Klicken Sie mit der rechten Maustaste in den Header, um die Änderungen zu speichern.
    12. Installieren Sie neu erstellte GitHub App in den Accounts Ihrer Wahl.
      1. Wählen Sie auf der Seite „GitHub-Apps-Einstellungen“ Ihre App aus.
      2. Wählen Sie in der linken Sidebar aus Installieren Sie Die App .
      3. Wählen Sie Aus Installieren Neben der Organisation oder dem persönlichen Account, das das richtige Repository enthält.
      4. Installieren Sie die App auf allen Repositorys, oder wählen Sie Repositorys aus.
        Weitere Informationen finden Sie unter GitHub-Apps werden installiert .
    13. Wählen Sie nach der Installation die Einstellungen (Zahnradsymbol) für Ihre App aus, und notieren Sie sich die folgenden Informationen.

      Diese Details sind erforderlich, wenn Sie die Anwendungsregistrierung in erstellen ServiceNow AI Platform Instanz.

      • App-ID
      • Client-ID
      • Geheimer Clientschlüssel.
      • Beachten Sie das Token in der URL. Dies ist die Token-ID, die Sie in der Token-URL in Ihrer Instanz eingeben.
    14. Scrollen Sie auf der Seite nach unten, generieren Sie einen neuen privaten Schlüssel, und speichern Sie ihn auf Ihrem Computer.

    Generieren Sie das JKS-Zertifikat für GitHub-Anwendungsschwachstellen-Integration

    Generieren Sie ein JKS-Zertifikat für die JWT-Authentifizierung für GitHub-Anwendungsschwachstellen-Integration.

    Vorbereitungen

    Sie müssen das Passwort notieren, das Sie zum Generieren der JKS-Datei (Schlüsselspeicher-Passwort) verwenden.

    Erforderliche Rolle: sn_vul.App_sec_Manager

    Prozedur

    1. Erstellen Sie ein VON CA signiertes Zertifikat mit GitHub Privater App-Schlüssel:
      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 GitHub Privater App-Schlüssel und VON CA signiertes 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. JKS-Datei erstellen:
      keytool -importkeystore -srckeystore <PKCS-12-file-name>.p12 -srcstoretype pkcs12 -destkeystore <JKS-certificate-filename>.jks -deststoretype JKS
    6. Geben Sie die Passwörter des Ziel- und Quellschlüsselspeichers an.

    Hängen Sie an GitHub Java Key Store-Zertifikat an Ihre Instanz für GitHub-Anwendungsschwachstellen-Integration

    Aktivieren Sie die JWT-Bearer-Token-Authentifizierung, indem Sie Ihr gültiges GitHub Java Keystore (JKS)-Zertifikat an Ihre Instanz anhängen.

    Vorbereitungen

    Ein gültiges Java-Schlüsselspeicher-Zertifikat.

    Erforderliche Rolle: sn_vul.App_sec_Manager

    Prozedur

    1. Navigieren zu Alle > Systemdefinition > Zertifikatean.
    2. Wählen Sie Neu.
    3. Füllen Sie im Formular die Felder aus.
      Tabelle : 1. X.509-Zertifikatformularfelder
      Feld Beschreibung
      Name Name zur eindeutigen Identifizierung des Datensatzes. Beispiel: Mein GitHub-App-Zertifikat für AVR .
      Benachrichtigung bei Ablauf Option zum Festlegen der Anwender, die benachrichtigt werden sollen, wenn das Zertifikat abläuft.
      Tage vor Ablauf benachrichtigen Anzahl der Tage, die eine Benachrichtigung gesendet werden soll, bevor das Zertifikat abläuft.
      Aktiv Option zum Aktivieren des Zertifikats.
      Typ Option zum Auswählen des Zertifikattyps. Wählen Sie Aus Java-Schlüsselspeicher .
      Läuft in Tagen ab Anzahl der Tage, bis das Zertifikat abläuft.
      Schlüsselspeicher-Passwort Passwort, das dem Zertifikat zugeordnet ist (Hinweis: Das zuvor erstellte Zielschlüsselspeicher-Passwort).
      Kurzbeschreibung Zusammenfassung des Zertifikats.
    4. Wählen Sie das Anhangssymbol aus, und hängen Sie ein JKS-Zertifikat an.
    5. Wählen Sie Aus Validiert Speicher/Zertifikate .
      Für gültige Zertifikatdateien wird eine gültige Nachricht „key_Store“ angezeigt.

    Erstellen Sie einen JWT-Signaturschlüssel für GitHub JKS-Zertifikat für GitHub-Anwendungsschwachstellen-Integration

    Erstellen Sie einen JSON-Webtoken-Signaturschlüssel (JWT), der Ihrem zugewiesen werden soll GitHub Java-Schlüsselspeicher-Zertifikat.

    Vorbereitungen

    Erforderliche Rollen:
    • Administrator
    • sn_vul.App_sec_Manager

    Prozedur

    1. Navigieren zu Alle > System-OAuth > JWT-Schlüsselan.
    2. Wählen Sie Neu.
    3. Füllen Sie im Formular die Felder aus.
      Tabelle : 2. JWT-Schlüssel-Formularfelder
      Feld Beschreibung
      Name Name zur eindeutigen Identifizierung des JWT-Signaturschlüssels. Beispiel: Mein GitHub-App-JWT-Schlüssel für AVR .
      Signatur-Schlüsselspeicher Wählen Sie das gültige JKS-Zertifikat aus, das Sie in der vorherigen Aufgabe angehängt haben.
      Schlüssel-ID Lassen Sie dieses Feld leer.
      Signaturalgorithmus Belassen Sie diesen Wert als RSA 256.
      Signaturschlüssel-Passwort Passwort, das dem Signaturschlüssel zugeordnet ist. Dies ist das Passwort, das Sie zum Generieren der JKS-Datei verwendet haben.
      Aktiv Option zum Aktivieren des Schlüssels.
    4. Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im grauen Header der Seite, und wählen Sie aus Speichern .

    Erstellen Sie einen JWT-Provider für Ihren GitHub Signaturschlüssel für GitHub-Anwendungsschwachstellen-Integration

    Fügen Sie Ihrem einen JSON-Webtoken-Anbieter (JWT) hinzu ServiceNow Instanz für GitHub.

    Vorbereitungen

    Erforderliche Rollen:
    • Administrator
    • sn_vul.App_sec_Manager

    Prozedur

    1. Navigieren zu Alle > System-OAuth > JWT-Anbieteran.
    2. Wählen Sie Neu.
    3. Füllen Sie im Formular die Felder aus.
      Tabelle : 3. Formularfelder des JWT-Anbieters
      Feld Beschreibung
      Name Name zur eindeutigen Identifizierung des JWT-Providers. Beispiel: Mein GitHub-App-JWT-Anbieter für AVR .
      Ablaufintervall (Sek.) Anzahl in Sekunden zum Festlegen der Lebensdauer von JWT-Provider-Token. Sie können diese Einstellung als Standard belassen.
      Signierkonfiguration Wählen Sie den JWT-Schlüssel aus, den Sie in den vorherigen Schritten erstellt haben.
    4. Klicken Sie mit der rechten Maustaste auf den Formularheader, und wählen Sie aus Speichern .
    5. Geben Sie ein GitHub App App-ID Für den Wert von iss Anspruch in der zugehörigen Liste Standardansprüche.
      Dies ist die App-ID aus dem GitHub App in Ihrem GitHub Konsole, die Sie in den vorherigen Schritten erstellt haben.
    6. Verlassen aud Und Untergeordnet Werte leer (Standard).
    7. Klicken Sie mit der rechten Maustaste auf den Formularheader, und wählen Sie aus Speichern .

    Registrieren GitHub Als OAuth-Provider (JWT) für GitHub-Anwendungsschwachstellen-Integration

    Verwenden Sie die während generierten Informationen GitHub Zu registrierende App-Account-Konfiguration GitHub Als OAuth-Provider und zulassen, dass die Instanz OAuth 2,0-Token anfordert.

    Vorbereitungen

    Erforderliche Rollen:
    • Administrator
    • sn_vul.App_sec_Manager

    Prozedur

    1. Navigieren zu Alle > System-OAuth > Applikationsregistrierungan.
    2. Wählen Sie Neu.
      Die Welche Art von OAuth-Anwendung? Nachricht wird angezeigt.
    3. Wählen Sie Verbindung zu einem fremden OAuth-Provider herstellen aus.
    4. Füllen Sie im Formular die Felder aus.
      Tabelle : 4. Formularfelder „Anwendungsregistrierung“
      Feld Beschreibung
      Name Name zur eindeutigen Identifizierung des Datensatzes. Geben Sie beispielsweise ein Mein GitHub-App-Anbieter für AVR .
      Client-ID Client-ID von GitHub App. Die Client-ID stammt aus dem GitHub Anwendung in Ihrem GitHub Konsole, die Sie in den vorherigen Schritten erstellt haben. Diese ID ist in verfügbar Über Abschnitt von GitHub App-Konfiguration in GitHub.
      Zugänglich Belassen Sie diese Einstellung im aktuellen Wert.
      Geheimer Clientschlüssel Geheimer Client-Schlüssel von GitHub App. Das geheime Clientgeheimnis stammt aus dem GitHub Anwendung in Ihrem GitHub Konsole, die Sie in den vorherigen Schritten erstellt haben. Diese ID ist in verfügbar Über Abschnitt von GitHub App-Konfiguration in GitHub.
      Aktiv Option zum Aktivieren des Schlüssels. Lassen Sie dies ausgewählt.
      Autorisierungs-URL Diese URL wird automatisch generiert.
      Token-URL Die Position des Tokenendpunkts, den die Instanz zum Abrufen und Aktualisieren von Token verwendet. Geben Sie das Token aus der URL in ein GitHub App. Dies ist das Token, das in der URL angezeigt wird, nachdem Ihre App in installiert wurde GitHub. Im Abschnitt App installieren in Ihrer GitHub-App-Konfiguration in GitHub, Wählen Sie das Zahnrad aus. Das Token wird in der Webseiten-URL angezeigt.
      OAuth-API-Skript Option, mit der Sie auf eine geänderte OAuthUtil-Skripteinbindung verweisen können. Wählen Sie Aus OAuthGitHubJWTHandler .
      Standardgewährungstyp Typ der Gewährung, die der Anwendungsregistrierung zugeordnet ist. Wählen Sie Aus JWT-Bearer .
    5. Belassen Sie die restlichen Formularfelder als Standard.
    6. Klicken Sie mit der rechten Maustaste auf den Formularheader, und wählen Sie aus Speichern .
    7. Scrollen Sie zu OAuth-Entitätsprofile Zugehörige Liste, wählen Sie sie aus, und öffnen Sie das Standardprofil, das in der Liste erstellt wurde.
    8. Füllen Sie aus JWT-Anbieter Feld mit dem zuvor erstellten JWT-Provider, und speichern Sie das Formular.
    9. Kehren Sie zur Anwendungsregistrierungsdatei zurück, und speichern Sie sie.
    10. Navigieren zu Schlüsselverwaltung > Modulzugriffsrichtlinien > Allean.
    11. Wählen Sie die Richtlinie so aus Com_snc_Platform_Security_oauth_Glideencrypter Wird als angezeigt Krypto-Modul Feldwert, und OAuthGitHubJWTHandler Ist die Skripteinbindung in Zielskript Feld.

      In der folgenden Abbildung Com_snc_Platform_Security_oauth_Glideencrypter Ist als Wert für ausgewählt Krypto-Modul Feld. Die Skripttabelle Feld wird angezeigt Die Skripteinbindung [sys_script_include] Tabelle, und Zielskript Feldwert ist OAuthGitHubJWTHandler .

      Krypto-Modulfeld mit Skripteinbindung OAuthGitHubJWTHandler

    12. Wählen Sie Aktualisieren.

      Typ: Skript und Ergebnis: Nachverfolgen

      Wie im vorherigen Bild gezeigt, der Wert in Richtlinienname Feldänderungen und Skripttabelle Und Zielskript Felder werden nicht mehr angezeigt.
    13. Verifizieren Sie Ergebnis Feld ist auf festgelegt Nachverfolgen Und speichern Sie Ihre Änderungen.

    Erstellen Sie Anmeldeinformationen und Verbindungen für GitHub-Anwendungsschwachstellen-Integration

    Erstellen Sie einen Anmeldeinformationsdatensatz für GitHub App-Anbieter, der zuvor zum Autorisieren von Aktionen erstellt wurde.

    Vorbereitungen

    Erforderliche Rollen:
    • Administrator
    • sn_vul.App_sec_Manager

    Prozedur

    1. Navigieren zu Anmeldeinformationen und Verbindungen > Anmeldeinformationenan.
    2. Wählen Sie Neu.
    3. Wählen Sie OAuth 2.0-Anmeldeinformationen aus.
    4. Wählen Sie Aus Neu Und füllen Sie die Felder aus.
      FeldBeschreibung
      Name Eindeutiger Name für den Datensatz.
      Betrifft Wählen Sie die OAuth 2,0-Anmeldeinformationen aus der Liste aus.
      OAuth-Einheitenprofil Wählen Sie das Suchsymbol aus, und suchen Sie das Entitätsprofil, das Sie in den vorherigen Schritten erstellt haben.
      Weitere Felder Belassen Sie diese Felder in ihren Standardwerten.
    5. Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Header der Seite, und wählen Sie aus Speichern .
      Die Liste Anmeldeinformationen wird angezeigt.
    6. Öffnen Sie den soeben erstellten Datensatz, und wählen Sie aus OAuth-Token abrufen Zugehöriger Link.
      Es wird eine Meldung angezeigt, dass das OAuth-Token erfolgreich importiert wurde.
    7. Navigieren zu Anmeldeinformationen und Verbindungen > Verbindungenan.
    8. Wählen Sie Neu.
    9. Wählen Sie Aus HTTP(s)-Verbindung .
    10. Wählen Sie Aus Neu Und füllen Sie die Felder aus.
      FeldBeschreibung
      Name Name für den Datensatz.
      Anwendung Schreibgeschützt.
      Übergeordneter Alias (optional) Wählen Sie das Suchsymbol aus, und wählen Sie eines aus der Liste aus.
      Typ Verbindung und Anmeldeinformationen.
      Verbindungstyp HTTP.
      Unterstützung mehrerer aktiver Verbindungen (optional) Deaktiviert.
      Standard-Wiederholungsrichtlinie Standard-HTTP-Wiederholungsrichtlinie
      Konfigurationsvorlage Leer lassen.
    11. Wählen Sie Absenden.
      Die Liste Aliasse für Verbindungen und Anmeldeinformationen wird angezeigt.
    12. Öffnen Sie Ihren Datensatz, und wählen Sie auf der Registerkarte zugehörige Liste Verbindungen die Option aus Neu Und füllen Sie die Felder im HTTP-Verbindungsdatensatz aus.
      FeldBeschreibung
      Name Name für den Datensatz.
      Aktiv Aktiviert.
      Anmeldeinformation Wählen Sie den Anmeldeinformationsdatensatz aus, den Sie in den vorherigen Schritten erstellt haben.
      Verbindungsalias Ihr Datensatz wird angezeigt.
      URL-Builder Deaktiviert.
      Verbindungs-URL

      Dies ist die Basis-URL: https://api.github.com Für Enterprise. Die lokale URL ist Ihre GitHub-Endpunkt-URL.

      MID-Server verwenden (optional) MID-Server ist für lokal erforderlich. Sie ist für Enterprise optional.
      Verbindungszeitüberschreitung Geben Sie einen Wert ein.
    13. Wählen Sie Absenden.
      Die Liste Aliasse für Verbindungen und Anmeldeinformationen wird angezeigt. Sie sind jetzt bereit, die Schritte bis abzuschließen Konfigurieren Sie die Eigenschaften GitHub-Anwendungsschwachstellen-Integration. Geben Sie im Feld Verbindung die Anmeldeinformationen ein, die Sie in den vorherigen Schritten erstellt haben.