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
-
Navigieren Sie ServiceNow
sys_properties.listunter zu Verwenden des Filter-Navigators. -
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
-
Navigieren Sie zu Benutzerverwaltung > Benutzer.
-
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.
-
-
Wählen Sie Absenden aus.
Schritt 3: Weisen Sie Dienstkonto-Rollen zu
-
Öffnen Sie das Dienstkonto (Benutzerverwaltung > Benutzer > Ihr Dienstkonto).
-
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.
-
-
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
-
Navigieren Sie zu System OAuth > Anwendungsregistrierung.
-
Wählen Sie „Neu“ > „Einen OAuth-API-Endpunkt für externe Clients erstellen“.
-
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.
-
-
Wählen Sie Absenden aus.
-
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
-
Re-open der Anwendungsdatensatz aus der Liste der Anwendungsregistrierung.
-
Wenn das Feld OAuth-Anwendungsbenutzer nicht sichtbar ist, fügen Sie es mit Configure > Form Builder hinzu.
-
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.
-
-
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
-
Navigieren Sie zu System-Webdienste > API-Zugriffsrichtlinien > Eingehendes Authentifizierungsprofil.
-
Wählen Sie Neu und legen Sie Folgendes fest:
-
Name — Zum Beispiel
Amazon-Quick-KB-Client-Profile. -
Typ –
OAuth. -
OAuth-Entität — Wählen Sie Ihre OAuth-Anwendung aus.
-
-
Wählen Sie Absenden aus.
-
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
-
Navigieren Sie zu Systemwebdienste > API-Zugriffsrichtlinien > REST-API-Zugriffsrichtlinien.
-
Wählen Sie Neu und legen Sie Folgendes fest:
-
Name — Zum Beispiel
Table 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.
-
-
Wählen Sie Absenden aus.
-
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: BearerACCESS_TOKEN"
In der folgenden Tabelle werden jedes Überprüfungsergebnis und die zu ergreifenden Maßnahmen beschrieben.
| 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" }
| 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 \ --namebedrock-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.