View a markdown version of this page

Richten Sie die OAuth 2.0-Clientanmeldeauthentifizierung ein für ServiceNow - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Richten Sie die OAuth 2.0-Clientanmeldeauthentifizierung ein für ServiceNow

Verwenden Sie die ServiceNow Tabellen-API mit den OAuth 2.0-Client-Anmeldeinformationen (2LO) zur Authentifizierung. Führen Sie alle folgenden Schritte in Ihrer ServiceNow Instance aus, bevor Sie die Datenquelle in Amazon Bedrock konfigurieren.

Schritt 1: Aktivieren Sie den Gewährungstyp für Client-Anmeldeinformationen

  1. Navigieren Sie ServiceNow sys_properties.list unter zu Verwenden des Filter-Navigators.

  2. Erstellen Sie eine neue Systemeigenschaft mit den folgenden Werten:

    • Name (Name – glide.oauth.inbound.client.credential.grant_type.enabled

    • Typ:true | false

    • Wert – true

Schritt 2: Erstellen Sie ein dediziertes Dienstkonto

  1. Navigieren Sie zu Benutzerverwaltung > Benutzer.

  2. Wählen Sie Neu und füllen Sie das Formular aus:

    • Benutzer-ID — Ein beschreibender Name (z. B.svc.amazon.quick.kb).

    • Nur Webservice-Zugriff — Aktiviert. Dadurch wird eine interaktive Anmeldung verhindert.

    • Passwort — Legen Sie ein sicheres Passwort fest. Der Connector verwendet OAuth, für die Kontoerstellung ist jedoch ein Passwort erforderlich.

  3. Wählen Sie Absenden aus.

Schritt 3: Weisen Sie Dienstkonto-Rollen zu

  1. Öffnen Sie das Dienstkonto (Benutzerverwaltung > Benutzer > Ihr Dienstkonto).

  2. Wählen Sie auf der Registerkarte Rollen die Option Bearbeiten aus und fügen Sie die folgenden Rollen hinzu:

    • knowledge_admin— Voller Lesezugriff auf alle Artikel der Wissensdatenbank. Umgeht die Einschränkungen der Benutzerkriterien pro KB.

    • catalog_admin— Vollständiger Lesezugriff auf alle Artikel des Servicekatalogs. Umgeht die Einschränkungen pro Katalog.

  3. Wählen Sie Speichern.

Anmerkung

Nach dem Speichern werden insgesamt etwa 14 Rollen angezeigt. ServiceNowErbt die enthaltenen Rollen automatisch von den _admin übergeordneten Rollen. Sie weisen die beiden in Schritt 2 (knowledge_adminundcatalog_admin) aufgeführten Rollen nur manuell zu. Weisen Sie die snc_read_only Rollenadmin,itil, oder nicht zu.

Schritt 4: Registrieren Sie die OAuth-Anwendung

  1. Navigieren Sie zu System OAuth > Anwendungsregistrierung.

  2. Wählen Sie „Neu“ > „Einen OAuth-API-Endpunkt für externe Clients erstellen“.

  3. Füllen Sie das Formular aus:

    • Name — Ein beschreibender Name (z. B.Amazon-Quick-KB-Client).

    • Umleitungs-URL — Lassen Sie das Feld leer. Für den Transfer von Client-Anmeldeinformationen nicht erforderlich.

  4. Wählen Sie Absenden aus.

  5. Kopieren Sie sofort die Client-ID und das Client-Geheimnis. Das Client Secret wird nur einmal angezeigt.

Wichtig

Sie müssen die Interceptor-Seite verwenden, um die Anwendung zu erstellen. Erstellen Sie den Datensatz nicht, indem Sie ihn direkt in die Tabelle einfügen. oauth_entity

Schritt 5: Konfigurieren Sie die OAuth-Anwendung

  1. Re-open der Anwendungsdatensatz aus der Liste der Anwendungsregistrierung.

  2. Wenn das Feld OAuth-Anwendungsbenutzer nicht sichtbar ist, fügen Sie es mit Configure > Form Builder hinzu.

  3. Legen Sie die folgenden Felder fest:

    • OAuth-Anwendungsbenutzer — Ihr Dienstkonto (z. B.svc.amazon.quick.kb).

    • Einschränkung des Geltungsbereichs —. Broadly scoped

    • Kundentyp integration_as_a_service.

  4. Wählen Sie Aktualisieren aus.

Schritt 6: API-Zugriffsrichtlinien konfigurieren

Ohne API-Zugriffsrichtlinien authentifizieren sich Token, aber die Tabellen-API gibt HTTP 401 zurück. Führen Sie die beiden folgenden Unterschritte aus.

Erstellen Sie das Profil für eingehende Authentifizierung
  1. Navigieren Sie zu System-Webdienste > API-Zugriffsrichtlinien > Eingehendes Authentifizierungsprofil.

  2. Wählen Sie Neu und legen Sie Folgendes fest:

    • Name — Zum BeispielAmazon-Quick-KB-Client-Profile.

    • TypOAuth.

    • OAuth-Entität — Wählen Sie Ihre OAuth-Anwendung aus.

  3. Wählen Sie Absenden aus.

  4. Re-open das Profil. Wählen Sie in der Themenliste „Authentifizierungsrichtlinien“ die Option „Zugriffsrichtlinie zulassen“ aus und fügen Sie „Zugriffsrichtlinie zulassen“ hinzu. Wählen Sie Speichern.

Erstellen Sie die REST-API-Zugriffsrichtlinie
  1. Navigieren Sie zu Systemwebdienste > API-Zugriffsrichtlinien > REST-API-Zugriffsrichtlinien.

  2. Wählen Sie Neu und legen Sie Folgendes fest:

    • Name — Zum BeispielTable API Oauth access policy.

    • REST-API Table API.

    • REST-API-Pfad now/table.

    • Auf alle Methoden anwenden — Aktiviert.

    • Auf alle Ressourcen anwenden — Aktiviert.

    • Auf alle Tabellen anwenden — Aktiviert.

    • Auf alle Versionen anwenden — Aktiviert.

  3. Wählen Sie Absenden aus.

  4. Re-open die Richtlinie. Wählen Sie in der Themenliste Profile für eingehende Authentifizierung die Option Bearbeiten aus und fügen Sie Ihr Profil für eingehende Authentifizierung hinzu. Wählen Sie Speichern.

Schritt 7: Überprüfen Sie den OAuth-Ablauf

Bevor Sie die Datenquelle konfigurieren, stellen Sie sicher, dass der OAuth-Flow durchgängig funktioniert.

Fordern Sie ein Token an:

curl -s -X POST "https://INSTANCE.service-now.com/oauth_token.do" \ -d "grant_type=client_credentials" \ -d "client_id=CLIENT_ID" \ -d "client_secret=CLIENT_SECRET"

Überprüfen Sie den Tabellen-API-Zugriff:

curl -s "https://INSTANCE.service-now.com/api/now/table/kb_knowledge?sysparm_limit=1" \ -H "Authorization: Bearer ACCESS_TOKEN"

In der folgenden Tabelle werden jedes Überprüfungsergebnis und die zu ergreifenden Maßnahmen beschrieben.

Ergebnisse der Überprüfung
Ergebnis Bedeutung Action
HTTP 200 mit Daten Funktioniert richtig Fahren Sie mit der Erstellung des Secrets Manager-Geheimnisses fort.
HTTP 200 mit leerem Array Fehlende knowledge_admin Rolle Weisen Sie die knowledge_admin Rolle dem Dienstkonto zu.
HTTP: 401 Die API-Zugriffsrichtlinie ist nicht konfiguriert Überprüfen Sie sowohl das eingehende Authentifizierungsprofil als auch die Konfiguration der REST-API-Zugriffsrichtlinie.

Schritt 8: Erstellen Sie das Secrets Manager-Geheimnis

Speichern Sie die Anmeldeinformationen in einem AWS Secrets Manager Secret, das Ihrer Wissensdatenbank entspricht AWS-Region . Verwenden Sie dazu die folgenden Schlüssel-Wert-Paare:

{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "instanceUrl": "https://YOUR_INSTANCE.service-now.com" }
Geheime Felder
Feld Description
clientId Die App-Client-ID aus Schritt 4.
clientSecret Das App Client Secret wurde bei der Erstellung in Schritt 4 enthüllt.
instanceUrl Vollständige ServiceNow Instanz-URL (einschließlichhttps://, kein abschließender Schrägstrich).
Wichtig

Die instanceUrl darf keinen abschließenden Schrägstrich haben.

Erstellen Sie das Geheimnis mit dem: AWS Command Line Interface

aws secretsmanager create-secret \ --name bedrock-servicenow-creds \ --secret-string file://secret.json

Notieren Sie den geheimen ARN aus der Antwort. Sie verwenden es als DatenquellesecretArn.

Nächste Schritte

Nachdem Sie das Geheimnis gespeichert haben, erstellen Sie die Datenquelle. Siehe Eine ServiceNow Datenquelle verbinden.