OIDC-Benutzerregistry in API Manager erstellen

Erstellen Sie ein organisationsspezifisches OIDC-Benutzerverzeichnis, wenn eine Multi-Faktor-Authentifizierung (MFA) erforderlich ist.

Wichtig: Wenn Sie X (früher bekannt als Twitter) als Ihren OIDC-Anbieter verwenden, API Connect unterstützt dieser nur die Methode „ OAuth “ ( 1.0a ), daher muss Ihre X-Anwendung so konfiguriert sein, dass sie „ OAuth “ ( 1.0a ) verwendet. Andere OIDC-Anbieter unterstützen OAuth 2.0.

API Connect stellt zwei Methoden zum Erstellen einer OIDC-Benutzerregistry in API Designerbereit, wie in den folgenden Abschnitten beschrieben:

Benutzerschnittstelle zum Erstellen einer OIDC-Benutzerregistry verwenden

Verwenden Sie die Benutzeroberfläche des API Designers, um ein organisationsspezifisches OIDC-Benutzerverzeichnis zu erstellen, wenn eine Multi-Faktor-Authentifizierung (MFA) erforderlich ist.

  1. Klicken Sie auf der Navigationsseite des API Designers auf Ressourcen „Ressourcen “.
  2. Klicken Sie auf Benutzerregistrys.
  3. Klicken Sie auf Erstellen und wählen Sie OIDC-Benutzerregistryaus.
    Wichtig: Verwenden Sie keine gemeinsamen Benutzerregister zwischen dem API-Manager und dem Consumer-Katalog oder zwischen Standorten des Consumer-Katalogs, wenn die Selbstbedienungs-Onboarding-Funktion aktiviert ist oder wenn an einem der Standorte die Löschung von Konten zu erwarten ist. Sie sollten für sie separate Benutzerregister anlegen, auch wenn diese separaten Register auf denselben Backend-Authentifizierungsanbieter verweisen (zum Beispiel einen LDAP -Server). Durch diese Trennung kann der Consumer-Katalog im gesamten Katalog eindeutige E-Mail-Adressen gewährleisten, ohne dass der API-Manager dieselbe Anforderung erfüllen muss. Außerdem werden dadurch Probleme vermieden, die entstehen, wenn Benutzer ihre Konten aus dem Consumer Catalog löschen und dies sich anschließend auf ihren Zugriff auf den API Manager auswirkt.
  4. Verwenden Sie auf der Seite OIDC-Benutzerregistry erstellen die Felder in jedem der folgenden Abschnitte, um die Registry-Einstellungen zu konfigurieren, und klicken Sie dann auf Erstellen.

    Viele der Registry-Einstellungen sind vorkonfiguriert, um die Konfigurationsschritte zu vereinfachen.

    Providertyp
    Verwenden Sie die Einstellungen in Tabelle 1, um den Providertyp zu definieren.
    Tabelle 1. Einstellungen für den Anbietertyp
    Feld Beschreibung
    Providertyp OIDC-Provider. Wählen Sie einen der folgenden unterstützten OIDC-Provider aus:
    • Facebook
    • GitHub
    • Google
    • LinkedIn
    • Puffer
    • X (früher bekannt als Twitter)
    • Windows™ Live
    • Standard OIDC (Standardwert, über den Sie einen anderen Provider angeben können)
    Titel Geben Sie einen aussagekräftigen Namen zu Anzeigezwecken an.
    Ihren Namen Automatisch generiert. Dieser Name wird in CLI-Befehlen verwendet, um auf die Registry zu verweisen. Einzelheiten zu den CLI-Befehlen für die Verwaltung von Benutzerregistern finden Sie in der Referenzdokumentation zur Toolkit-CLI.
    Zusammenfassung Bietet eine kurze Beschreibung der neuen Registry.
    E-Mail erforderlich Wählen Sie diese Option, wenn im Rahmen der Benutzerregistrierung eine E-Mail-Adresse erforderlich ist. Bei Auswahl dieser Option muss der Quellenidentitätsprovider die E-Mail-Adresse im Rahmen des Authentifizierungsprozesses beim Onboarding angeben.
    Hinweis: Für die Registrierung beim Cloud Manager oder im Consumer Catalog ist standardmäßig keine E-Mail-Adresse erforderlich.
    Eindeutige E-Mail-Adresse Wählen Sie diese Option, wenn E-Mail-Adressen innerhalb des Benutzerregisters eindeutig sein müssen.
    Hinweis: Jedes Konto im Consumer-Katalog, auch über verschiedene Benutzerregister derselben Website hinweg, muss über eine eindeutige E-Mail-Adresse verfügen, einschließlich des Website-Administratorkontos.
    Providerendpunkt
    Wird für die meisten unterstützten Provider automatisch generiert. Geben Sie im Feld Berechtigungsendpunkt die URL des Berechtigungsendpunkts des Providers ein.
    Tokenendpunkt
    Füllen Sie die Einstellungen aus, wie in Tabelle 2 beschrieben.
    Tabelle 2. Einstellungen für den Token-Endpunkt
    Feld Beschreibung
    URL Für die meisten der unterstützten OIDC-Provider vorkonfiguriert. Geben Sie die URL für den Tokenendpunkt des Providers ein.
    TLS Wählen Sie das TLS-Clientprofil für den Tokenendpunkt aus (OIDC muss für die Verwendung von TLS konfiguriert sein). Der Standardwert ist Standard-TLS-Clientprofil.
    UserInfo-Endpunkt
    Füllen Sie die Einstellungen aus, wie in Tabelle 3 beschrieben.
    Tabelle 3. UserInfo Endgeräteeinstellungen
    Feld Beschreibung
    URL Für die meisten der unterstützten OIDC-Provider vorkonfiguriert. Geben Sie die URL für den UserInfo-Endpunkt des Providers ein.
    Für LinkedIn, hat sich der Endpunkt geändert und verwendet nun den folgenden Wert:
    https://api.linkedin.com/v2/me
    Wenn Sie die OIDC-Registry zuvor mit dem traditionellen LinkedIn -OIDC-Protokoll konfiguriert haben, müssen Sie diesen Endpunkt nicht angeben.
    TLS Wählen Sie das TLS-Clientprofil für den userinfo-Endpunkt aus (OIDC muss für die Verwendung von TLS konfiguriert sein). Der Standardwert ist Standard-TLS-Clientprofil.
    E-Mail-Endpunkt
    Erforderlich für das traditionelle OIDC-Protokoll LinkedIn .

    Aufgrund von Änderungen in LinkedIn, haben sich auch die Konfigurationseinstellungen für die OIDC-Registrierung in API Connect geändert. Wenn Sie eine neue OIDC-Registrierung für LinkedIn, konfigurieren, können Sie das Feld E-Mail-Endpunkt leer lassen.

    Wenn Sie zuvor eine OIDC-Registry für die Verwendung mit dem traditionellen LinkedIn -OIDC-Protokoll konfiguriert haben, aktualisieren Sie Ihre Konfiguration, indem Sie die E-Mail-Endpunkteinstellungen wie in Tabelle 4 beschrieben angeben. Die neue Einstellung ist für das traditionelle OIDC-Protokoll LinkedIn erforderlich.

    Tabelle 4. Einstellungen für E-Mail-Endpunkte
    Feld Beschreibung
    URL Für das traditionelle LinkedIn -OIDC-Protokoll nimmt dieses Feld standardmäßig den folgenden Wert an:
    https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))
    Sie können die Einstellung überschreiben, indem Sie einen neuen Wert eingeben.
    TLS Wählen Sie das TLS-Clientprofil für den userinfo-Endpunkt aus (OIDC muss für die Verwendung von TLS konfiguriert sein). Der Standardwert ist Standard-TLS-Clientprofil.
    JWKS-Endpunkt
    Füllen Sie die Einstellungen aus, wie in Tabelle 5 beschrieben.
    Tabelle 5. JWKS-Endpunkt-Einstellungen
    Feld Beschreibung
    URL Geben Sie die URL des schreibgeschützten Endpunkts ein, der die Informationen des öffentlichen Schlüsels im JWKS-Format enthält.
    TLS Wählen Sie das TLS-Clientprofil für den userinfo-Endpunkt aus (OIDC muss für die Verwendung von TLS konfiguriert sein). Der Standardwert ist Standard-TLS-Clientprofil.
    Abmelden
    Sie können eine der beiden folgenden Arten der Abmeldeunterstützung konfigurieren, jedoch nicht beide:
    • Weiterleitung nach dem Abmelden:

      Hiermit können Sie festlegen, was der Benutzer nach dem Abmelden API Connect sieht; beispielsweise möchten Sie den Benutzer vielleicht zum Abmelde-Endpunkt des OIDC-Anbieters oder zu einer anderen Adresse „weiterleiten“. Wenn sich der Benutzer abmeldet API Connect, wird der Browser zur weiteren Bearbeitung durch den angegebenen URL an die angegebene URL weitergeleitet.

    • Durch RP ausgelöste Abmeldung:

      Bietet ein sichereres Formular gemäß dem Profil „ OpenID Connect RP-Initiated Logout“ ( 1.0 ). Wenn sich der Benutzer abmeldet API Connect, API Connect sendet eine POST-Anfrage an den angegebenen Endpunkt URL, um die Sitzung des Benutzers zu beenden. Mit dieser Option können Sie optional auch einen Endpunkt für die RP-Abmeldeumleitung angeben: URL.

    Füllen Sie die Einstellungen aus, wie in Tabelle 6 beschrieben.

    Tabelle 6. Optionen zum Abmelden
    Feld Beschreibung
    URL für Abmeldeumleitung Optional. Richten Sie eine URL „ URL “ ein, um den Browser umzuleiten, wenn sich der Benutzer abmeldet API Connect.

    Wenn Sie diese Option verwenden, aktivieren Sie bitte nicht die OIDC-RP-Abmeldung.

    OIDC-RP-Abmeldung aktivieren Wählen Sie diese Option, um die vom RP initiierte Abmeldung anstelle der herkömmlichen Abmeldeumleitung zu verwenden.

    Wenn Sie diese Option verwenden, geben Sie bitte keinen Weiterleitungs- URL für die Abmeldung an. Bei der von RP initiierten Abmeldung können Sie optional eine RP-Abmelde-Weiterleitungs- URL angeben.

    URL-Endpunkt, an dem der RP eine POST-Anfrage sendet Geben Sie die URL URL für den Endpunkt an, an dem die POST-Anfrage ausgeführt wird; beispielsweise den Autorisierungsendpunkt des Anbieters OpenID.
    TLS Wählen Sie das Profil „ TLS “ aus, das beim Senden der POST-Anfrage an den Endpunkt des Anbieters „ OpenID “ verwendet werden soll.
    Endpunkt für die Umleitung der RP-Abmeldung URL Optional. Geben Sie eine URL an ( URL ), an die der OIDC-Anbieter nach dem Abmeldevorgang weiterleiten kann. Die Funktion „ URL “ verhält post_logout_redirect_uri sich wie im Profil „ OpenID Connect RP-Initiated Logout“ beschrieben ( 1.0 ).
    refresh_token beim Abmelden einbeziehen Optional. Erlauben Sie die Einbeziehung des refresh_token zusätzlich zum id_token_hint gemäß dem OpenID Connect RP-Initiated Logout 1.0 Profile.
    Clientinformationen
    Füllen Sie die Einstellungen wie in Tabelle 7 beschrieben aus.
    Tabelle 7. Einstellungen für Kundeninformationen
    Feld Beschreibung
    Client-ID Gibt die Client-ID der Anwendung an, die beim ausgewählten OIDC-Provider registriert ist.
    Geheimer Clientschlüssel Gibt den geheimen Clientschlüssel der Anwendung an, die beim ausgewählten OIDC-Provider registriert ist. Dieses Feld ist optional, wenn Sie ein OIDC-Verzeichnis des Typs Standard erstellen und die Clientauthentifizierungsmethode auf Data encoded form bodysetzen.

    Wenn Sie den Client Secret nicht verwenden, stellen Sie sicher, dass Mutual TLS mit dem OIDC-Provider konfiguriert ist. Um die gegenseitige Identitätsprüfung (Mutual I TLS ) zu aktivieren, erstellen Sie ein „ TLS “-Profil und fügen Sie es in die Konfiguration des OIDC-Benutzerregisters ein.

    Antworttyp Für die meisten der unterstützten OIDC-Provider vorkonfiguriert. Gibt den Datentyp der Antwort an, die vom OIDC-Provider empfangen wird.
    Bereiche Für die meisten der unterstützten OIDC-Provider vorkonfiguriert. Gibt den Zugangsbereich für den OIDC-Provider an.
    Clientauthentifizierungsmethode Für die meisten der unterstützten OIDC-Provider vorkonfiguriert. Wählen Sie die Authentifizierungsmethode aus, die für den OIDC-Provider verwendet werden soll. Optionen sind:
    • HTTP-Schema für die Basisauthentifizierung
    • Datencodierter Formulartext
    Zusätzliche Unterstützung
    Optional. Wählen Sie die zusätzlichen Sicherheitsparameter aus, die in Tabelle 8 beschrieben sind.
    Tabelle 8. Zusätzliche Sicherheitsoptionen
    Sicherheitsparameter Name für CLI festlegen Beschreibung
    NONCE nonce Aktiviert die NONCE-Erweiterung, um zu verhindern, dass beeinträchtigte Anforderungen erneut verwendet (wiederholt) werden.
    PKCE (Proof Key for Code Exchange) pkce Ermöglicht der PKCE-Erweiterung, öffentlichen Clients die Verringerung des Risikos für das Abfangen des Autorisierungscodes zu gestatten.
    Erweiterte Funktionen
    Optional. Wählen Sie die erweiterten Funktionen aus, die in Tabelle 9 beschrieben sind.
    Tabelle 9. Erweiterte Funktionen
    Feature/UI-Bezeichnung Name für CLI festlegen Beschreibung
    Automatisches Onboarding auto_onboard Benutzern die Ausführung von Aufrufen an APIs ohne vorherige Anmeldung gestatten, insofern sie einen gültigen Token bereitstellen, der vom OIDC-Provider ausgegeben wurde.
    Anmerkung: Gilt nicht für Konsumentenorganisationen.
    Immer Benutzerinformationsendpunkt verwenden userinfo Konfiguriert, wenn angegeben, die OIDC-Benutzerregistry so, dass immer Benutzerdaten vom userinfo-Endpunkt abgerufen werden.
    Portal als Endpunkt für Datenverkehr mit externem OIDC-Provider verwenden proxy_redirect Leiten Sie bei der Authentifizierung von Benutzern den externen OIDC-Anbieter so um, dass er mit dem Consumer Catalog statt mit dem API Manager kommuniziert. Wenn diese Option aktiviert ist, sollte die Umleitungs-URI für den Consumer-Katalog auf gesetzt werden. Weitere /ibm_apim/oidcredirect. Informationen finden Sie unter „Umleitungs-URI “.
    access_token von Drittanbietern zurückgeben proxy_access_token Schließt den externen OIDC-Zugriffstoken in die Antwort ein.
    Hinweis: Aktivieren Sie diese Einstellung nur für Debugzwecke.

    Diese Einstellung wird nicht für die Verwendung in einer Produktionsumgebung empfohlen. Wenn diese Einstellung aktiviert ist, erhöht sich die Token-Größe, sobald eine Anfrage unter Verwendung des Tokens an API Connect gesendet wird. Die größere Token-Größe könnte das vom Protokoll „ HTTP “ festgelegte Limit überschreiten, was zu einem Fehler vom Typ „ ERR_HTTP2_PROTOCOL_ERROR “ oder „ERR_CONNECTION_CLOSED“ führen kann.

    Sie können das Problem mit der Größe umgehen, indem Sie zusätzlich die Rückgabe von „access_token“ und „id_token“ von Drittanbietern als separate Ansprüche aktivieren, sodass die Token von Drittanbietern nicht dem ausgegebenen „access_token“ API Connecthinzugefügt werden.

    id_token eines Drittanbieters zurückgeben proxy_id_token Schließt den externen OIDC-ID-Token in die Antwort ein.
    Hinweis: Aktivieren Sie diese Einstellung nur für Debugzwecke.

    Diese Einstellung wird nicht für die Verwendung in einer Produktionsumgebung empfohlen. Wenn diese Einstellung aktiviert ist, erhöht sich die Token-Größe, sobald eine Anfrage unter Verwendung des Tokens an API Connect gesendet wird. Die größere Token-Größe könnte das vom Protokoll „ HTTP “ festgelegte Limit überschreiten, was zu einem Fehler vom Typ „ ERR_HTTP2_PROTOCOL_ERROR “ oder „ERR_CONNECTION_CLOSED“ führen kann.

    Sie können das Problem mit der Größe umgehen, indem Sie zusätzlich die Rückgabe von „access_token“ und „id_token“ von Drittanbietern als separate Ansprüche aktivieren, sodass die Token von Drittanbietern nicht dem ausgegebenen „access_token“ API Connecthinzugefügt werden.

    Gib das access_token und das id_token des Drittanbieters als separate Claims zurück proxied_token_as_separate_claim Füge die OIDC-Token von Drittanbietern (das proxy_access_token und proxy_id_token) als separate Claims in die Antwort ein, anstatt sie dem von ausgegebenen API Connectaccess_token hinzuzufügen. Um diese Funktion nutzen zu können, müssen Sie mindestens eine der Optionen „Zugriffstoken von Drittanbietern zurückgeben“ und „ID-Token von Drittanbietern zurückgeben“ aktivieren.

    Durch die Trennung der Token von Drittanbietern wird verhindert, dass diese die Größe des von API Connect. ausgestellten access_token beeinflussen.

    Tokenrelais token_relay Zulassen, dass access_token/refresh_token 302-Umleitung für Abmeldung sendet
    Benutzerinfo-POST post_userinfo Sofern vom OIDC-Provider unterstützt, mithilfe der HTTP-POST-Methode beim Kontaktieren des Benutzerinformationsendpunkts.
    Hinweis: Nicht alle OIDC-Provider unterstützen POST. Stellen Sie sicher, dass Ihr OIDC-Provider dies unterstützt, bevor Sie die Funktion aktivieren.
    Die Einstellung zum Ablauf von APIC-Token für „ IBM® “ über die Cloud verwenden override_provider_ttl Überschreiben Sie die Tokenverfallseinstellung des OIDC-Providers mit den Einstellungen für Zugriffstoken und Aktualisierungstokenablauf, die in API Connectkonfiguriert sind. Informationen zum Konfigurieren der Ablaufeinstellungen für Zugriffstoken und Aktualisierungstokens in API Connectfinden Sie unter Zeitlimitüberschreitungen für Zugriffstoken und Aktualisierungstokens konfigurieren.
    Hashüberprüfung inaktivieren (nur CLI) disable_hash_verification Inaktivieren Sie at_hash, c_hash
    Benutzerzuordnung
    Füllen Sie die Einstellungen wie in Tabelle 10 beschrieben aus.
    Hinweis: Die Felder für die Benutzerzuordnung sind für die meisten unterstützten OIDC-Provider vorkonfiguriert, um potenzielle Fehler zu minimieren. Gehen Sie beim Ändern der Einstellungen vorsichtig vor. Wenden Sie sich bei der Option Standard-OIDC an Ihren OIDC-Provider, um die Details der Felder zu erhalten.
    Tabelle 10. Einstellungen für die Benutzerzuordnung
    Feld Beschreibung
    Benutzername Der Name des Felds im Antworttoken, das den Benutzernamen des Benutzers enthält.
    Hinweis: Das Feld Benutzername muss für diese OID-C-Registry eindeutig sein, da es den Benutzer im System identifiziert und nicht geändert werden kann.
    E-Mail Der Name des Felds im Antworttoken, das die E-Mail-Adresse des Benutzers enthält.
    Vorname Der Name des Felds im Antworttoken, das den Vornamen des Benutzers enthält.
    Nachname Der Name des Felds im Antworttoken, das den Nachnamen des Benutzers enthält.
    Umleitungs-URI
    Im Abschnitt Umleitungs-URI sind die Endpunkte aufgelistet, auf die der OIDC-Berechtigungsserver den Berechtigungscode umleitet. Für jeden API Connect -Organisationstyp gibt es einen Endpunkt: Cloudverwaltung, Providerorganisation und Konsumentenorganisation. Der Umleitungsendpunkt ist erforderlich, wenn ein Benutzer seine Anwendung beim OIDC-Provider registriert. Wenn diese OIDC-Benutzerregistry z. B. von einer Providerorganisation verwendet wird, muss der Benutzer den Umleitungsendpunkt der Providerorganisation beim OIDC-Provider registrieren. Diese schreibgeschützten Felder werden bereitgestellt, damit Sie die Endpunktwerte nach Bedarf kopieren können.
    Hinweis: Wenn der Consumer-Katalog öffentlich zugänglich ist und Sie die proxy_redirect Option auswählen, müssen Sie Ihren OIDC-Anbieter so konfigurieren, dass er die folgende Umleitungs-URI verwendet:
    • URI-Pfad: /ibm_apim/oidcredirect
    • Beispiel für „ URL “ im Volltext: https://<your-developer-portal-domain>/ibm_apim/oidcredirect
    Dabei gilt:

    <your-developer-portal-domain> ist der tatsächliche Hostname Ihres öffentlich zugänglichen Consumer-Katalogs; zum Beispiel. developer.example.com

    Diese Konfiguration stellt sicher, dass der OIDC-Anbieter authentifizierte Benutzer im Rahmen des Anmeldeablaufs korrekt zurück zum Consumer-Katalog weiterleiten kann.

OIDC-Benutzerregistry aktivieren

Führen Sie die folgenden Schritte aus, um die neue Benutzerregistrierung für einen bestimmten Katalog im Consumer-Katalog zu aktivieren. Wiederholen Sie diesen Vorgang für jeden Katalog, der die neue Registry verwendet.

  1. Klicken Sie im Navigationsbereich auf Symbol „Verwalten“ „Verwalten “.
  2. Wählen Sie den Katalog aus, für den Sie die neue OIDC-Benutzerregistry aktivieren möchten.
  3. Klicken Sie im Navigationsfenster auf die Registerkarte Katalogeinstellungen.
  4. Klicken Sie auf der Seite Einstellungen auf Onboarding.
  5. Klicken Sie auf der Seite Onboarding im Bereich Katalogbenutzerregistrys auf Bearbeiten .
  6. Wählen Sie auf der Seite Benutzerregistry bearbeiten die neue OIDC-Benutzerregistry aus, die für Ihren Katalog aktiviert werden sollen.
  7. Klicken Sie auf Speichern.

Befehlszeilenschnittstelle zum Erstellen einer OIDC-Benutzerregistry verwenden

Verwenden Sie die Befehlszeilenschnittstelle Developer Toolkit , um eine organisationsspezifische OIDC-Benutzerregistry zu erstellen, wenn eine Mehrfaktorauthentifizierung (MFA) erforderlich ist.

Wichtig: Verwenden Sie keine gemeinsamen Benutzerregister zwischen dem API-Manager und dem Consumer-Katalog oder zwischen Standorten des Consumer-Katalogs, wenn die Selbstbedienungs-Onboarding-Funktion aktiviert ist oder wenn an einem der Standorte die Löschung von Konten zu erwarten ist. Sie sollten für sie separate Benutzerregister anlegen, auch wenn diese separaten Register auf denselben Backend-Authentifizierungsanbieter verweisen (zum Beispiel einen LDAP -Server). Durch diese Trennung kann der Consumer-Katalog im gesamten Katalog eindeutige E-Mail-Adressen gewährleisten, ohne dass der API-Manager dieselbe Anforderung erfüllen muss. Außerdem werden dadurch Probleme vermieden, die entstehen, wenn Benutzer ihre Konten aus dem Consumer Catalog löschen und dies sich anschließend auf ihren Zugriff auf den API Manager auswirkt.
Konfigurieren Sie eine OIDC-Benutzerregistry, indem Sie zuerst die Registry-Details in einer Konfigurationsdatei definieren. Dann verwenden Sie einen CLI-Befehl zum Erstellen der Registry, wobei die Konfigurationsdatei als Parameter übergeben wird. Um die Registrierung für den Verbraucherkatalog verfügbar zu machen, müssen Sie die Registrierung im zugehörigen Katalog aktivieren.
Hinweis:
  • Eine OIDC-Registry kann nicht zum Sichern von APIs im Gateway verwendet werden.
  • Wenn Sie sich über eine OIDC-Benutzerregistrierung anmelden, übernimmt der Management-Server die Interaktion mit dem OIDC-Drittanbieter. Der Verwaltungsserver wird aus der Perspektive des externen OIDC-Anbieters als Anwendung betrachtet. Daher muss Ihr OIDC-Umleitungsendpunkt auf dem Verwaltungsserver, den der Autorisierungsserver eines Drittanbieters zum Senden des Tokens verwendet, für den OIDC-Anbieter zugänglich sein. Um Anmeldefunktionen zu gewährleisten, müssen Sie den Zugriff erlauben, wenn Ihre API Connect hinter einer Firewall gesichert ist. Dies gilt für die Benutzeranmeldung sowohl im API-Manager als auch im Cloud-Manager.
  • Wenn für die Benutzeranmeldung im Consumer-Katalog das OIDC-Benutzerverzeichnis verwendet wird und sich der Consumer-Katalog in der DMZ befindet, können Sie die proxy_redirect Eigenschaft verwenden. Dadurch kann der Consumer-Katalog als Endpunkt für die Weiterleitung der Kommunikation zwischen dem OIDC-Anbieter und API Connect… fungieren.
  • Wenn Sie Ihre Anwendung beim externen OIDC-Anbieter registrieren, müssen Sie die zugehörige OIDC-Weiterleitungs-URI angeben, zum Beispiel https://consumer.mycompany.com/consumer-api/oauth2/redirect. Sie können jedoch erst auf diese Informationen zugreifen, wenn Sie Ihre OIDC-Benutzerregistrierung unter API Connect erstellt haben. Registrieren Sie Ihre Bewerbung zunächst ohne diese Informationen und aktualisieren Sie sie später, wie in den Anweisungen auf dieser Seite beschrieben.

Anmelden am Management-Server

Damit Sie eine OIDC-Benutzerregistry erstellen können, müssen Sie sich über die CLI bei Ihrem Management-Server anmelden. Verwenden Sie den folgenden Befehl:
apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_provider
Sie können bestimmen, welche Identitätsprovider im Parameter --realm verwendet werden sollen, indem Sie den folgenden Befehl eingeben, um eine Liste aller verfügbaren Identitätsprovider anzuzeigen (Sie müssen nicht angemeldet sein, um diesen Befehl zu verwenden):
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm
Beispiel:
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm 
total_results: 2
results:
  - title: API Manager User Registry
    realm: provider/default-idp-2
  - title: Corporate LDAP user registry
    realm: provider/corporate-ldap
Anhand des title-Werts können Sie bestimmen, welchen Identitätsprovider Sie verwenden müssen. Sie können dann den entsprechenden --realm-Parameter direkt aus dem angezeigten realm-Wert kopieren. Für alle Identitätsanbieter, die Ihr Administrator nach API Connect der Installation angelegt hat, werden die Namen bei der Erstellung festgelegt. Die standardmäßige lokale Benutzerregistry für API Manager für die Anmeldung als Mitglied einer Providerorganisation ist default-idp-2.

Ausführliche Informationen zum Befehl apic login finden Sie unter Bei einem Management-Server anmelden.

OIDC-Registry-Konfiguration definieren

Definieren Sie die Konfiguration Ihrer OIDC-Benutzerregistry in einer YAML-Datei. Die YAML-Datei muss mindestens die Einstellungen aus der folgenden Liste enthalten. Weitere Einstellungen finden Sie in den Tabellen, die mit der Benutzerschnittstellenversion der Prozedur in diesem Abschnitt bereitgestellt werden.
title: registry_title
integration_url: oidc_integration_url
case_sensitive: case_sensitivity_setting
email_required: true_or_false
email_unique_if_exist: true_or_false
configuration:
  client_id: 'app_client_id'
  client_secret: 'my-client-secret'
  provider_type: oidc_provider_type
Dabei gilt:
  • registry_title ist der von Ihnen gewählte beschreibende Titel für die Benutzerregistry.
  • oidc_integration_url ist die URL in Ihrer API Connect Konfiguration. Sie können die OIDC-Integrations-URL mithilfe des folgenden CLI-Befehls ermitteln:
    apic integrations:list --server mgmt_endpoint_url --subcollection user-registry
  • case_sensitivity_setting legt fest, ob für Ihre Benutzerregistry die Groß-/Kleinschreibung beachtet werden muss. Gültige Werte:
    • true
    • false
    Um eine korrekte Behandlung der Groß- und Kleinschreibung bei Benutzernamen zu gewährleisten, stellen Sie sicher, dass Ihre Einstellung zur Groß-/Kleinschreibung hier mit der Einstellung beim OIDC-Anbieter im Backend übereinstimmt:
    • Setzen Sie case_sensitive diesen Wert nur auf, true wenn der OIDC-Backend-Anbieter die Groß-/Kleinschreibung berücksichtigt.
    • Setzen Sie case_sensitive auf false, wenn der Back-End-OIDC-Provider die Beachtung von Groß-/Kleinschreibung nicht unterstützt.
    Hinweis: Sobald mindestens ein Benutzer zur Registrierung hinzugefügt wurde, kann diese Einstellung nicht mehr geändert werden.
  • email_required bestimmt, ob eine E-Mail-Adresse als Teil des Onboarding-Prozesses des Benutzers erforderlich ist. Gültige Werte:
    • true
    • false
    Wenn truefestgelegt ist, muss der Quellenidentitätsprovider die E-Mail-Adresse als Teil des Authentifizierungsprozesses während des Onboardings angeben.
    Hinweis: Für die Registrierung beim Cloud Manager oder beim API Manager ist standardmäßig keine E-Mail-Adresse erforderlich, für die Registrierung beim Consumer Catalog ist sie jedoch erforderlich.
  • email_unique_if_exist legt fest, ob E-Mail-Adressen innerhalb der Benutzerregistry eindeutig sein müssen. Gültige Werte:
    • true
    • false
    Hinweis: Jedes Konto im Consumer-Katalog, auch über verschiedene Benutzerregister derselben Website hinweg, muss über eine eindeutige E-Mail-Adresse verfügen, einschließlich des Website-Administratorkontos.
  • app_client_id ist die Client-ID der Anwendung, die beim OIDC-Server registriert ist, und muss das Zeichenfolgeformat aufweisen.
  • my-client-secret ist der geheime Clientschlüssel der Anwendung, die beim OIDC-Server registriert ist, und muss das Zeichenfolgeformat aufweisen.
  • oidc_provider_type ist der Typ des OIDC-Providers. Geben Sie einen der folgenden Werte an:
    • facebook
    • github
    • google
    • linkedin
    • slack
    • twitter
    • windows_live
    • standard
      Hinweis:
      • Verwenden Sie den twitter -Providertyp, wenn Ihr OIDC-Provider X ist (bisher unter der Bezeichnung Twitter bekannt).
      • Verwenden Sie den Providertyp standard für jeden OIDC-Provider, der mit dem OIDC-Standard kompatibel ist.
        Wenn der Providertyp standard ist, müssen Sie die folgenden zusätzlichen Eigenschaften in den Abschnitt configuration Ihrer YAML-Datei aufnehmen:
        authorization_endpoint: 'oidc_auth_endpoint'
        token_endpoint:
          endpoint: 'oidc_token_endpoint'
        Dabei gilt:
        • oidc_auth_endpoint ist der Berechtigungsendpunkt auf dem OIDC-Server und muss das Zeichenfolgeformat aufweisen.
        • oidc_token_endpoint ist der Tokenendpunkt auf dem OIDC-Server und muss das Zeichenfolgeformat aufweisen.

Standard-OIDC-Konfigurationen

Für jeden OIDC-Providertyp nimmt API Connect eine Standardkonfiguration an, aber Sie können die Standardkonfigurationseigenschaften in Ihrer YAML-Datei überschreiben.

Hinweis: Endpunkte können sich ändern. Wenn Sie eine Registry erstellen, müssen Sie den von API Connectbereitgestellten Standardendpunkt überprüfen.

API Connect versucht nach besten Kräften, Endpunkte für die bekannten OIDC-Benutzerregistry-Typen zu aktualisieren. Der OIDC-Provider kann den Endpunkt jedoch jederzeit ändern. Es liegt in der Verantwortung des Kunden zu bestätigen, dass die von API Connect bereitgestellten Endpunkte vom OIDC-Provider unterstützt werden, und die OIDC-Konfiguration nach Bedarf zu aktualisieren.

Die Standardkonfigurationen lauten wie folgt:

  • Facebook
    authorization_endpoint: 'https://www.facebook.com/v3.1/dialog/oauth'
    token_endpoint:
      endpoint: 'https://graph.facebook.com/v3.1/oauth/access_token'
    userinfo_endpoint:
      endpoint: 'https://graph.facebook.com/me'
    scope: email public_profile
    field_mapping:
      username: email
      email: email
      last_name: last_name
      first_name: first_name
  • GitHub
    authorization_endpoint: 'https://github.com/login/oauth/authorize'
    token_endpoint:
      endpoint: 'https://github.com/login/oauth/access_token'
    userinfo_endpoint:
      endpoint: 'https://api.github.com/user'
    scope: 'read:user user:email'
    field_mapping:
      username: login
      email: email
      last_name: name
      first_name: name
  • Google
    authorization_endpoint: 'https://accounts.google.com/o/oauth2/v2/auth'
    token_endpoint:
      endpoint: 'https://www.googleapis.com/oauth2/v4/token'
    scope: openid profile email
    field_mapping:
      username: email
      email: email
      last_name: family_name
      first_name: given_name
    
  • LinkedIn

    Einige Einstellungen unterscheiden sich zwischen der traditionellen Konfiguration und der neueren Konfiguration. Stellen Sie sicher, dass Sie die richtigen Einstellungen für das verwendete LinkedIn -Protokoll verwenden.

    • Neues OIDC-Protokoll:
      authorization_endpoint: 'https://www.linkedin.com/oauth/v2/authorization'
        credential_location: form_body
        field_mapping:
          email: email
          username: name
          first_name: given_name
          last_name: family_name
        scope: openid profile email
        token_endpoint:
          endpoint: 'https://www.linkedin.com/oauth/v2/accessToken'
        userinfo_endpoint:
          endpoint: 'https://api.linkedin.com/v2/me'
    • Traditionelles OIDC-Protokoll:
      authorization_endpoint: 'https://www.linkedin.com/oauth/v2/authorization'
      token_endpoint:
        endpoint: 'https://www.linkedin.com/oauth/v2/accessToken'
      userinfo_endpoint:
        endpoint: 'https://api.linkedin.com/v2/me'
      email_endpoint:
        endpoint: 'https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))'
      scope: r_liteprofile r_emailaddress
      field_mapping:
        username: emailAddress
        email: emailAddress
        last_name: localoizedLastName
        first_name: localizedFirstName
      credential_location: form_body
  • Puffer
    authorization_endpoint: 'https://slack.com/oauth/authorize'
    token_endpoint:
      endpoint: 'https://slack.com/api/oauth.access'
    userinfo_endpoint:
      endpoint: 'https://slack.com/api/users.identity'
    scope: identity.basic identity.email
    field_mapping:
      username: user.email
      email: user.email
      last_name: user.name
      first_name: user.name
  • X (früher bekannt als Twitter)
    request_endpoint: https://api.x.com/oauth/request_token'
    authorization_endpoint: https://api.x.com/oauth/authenticate'
    token_endpoint: 
        endpoint: 'https://api.x.com/oauth/access_token'
    userinfo_endpoint:
        endpoint: 'https://api.x.com/1.1/account/verify_credentials.json'
    oauth_signature_method: 'HMAC-SHA1'
    field_mapping: 
        email: email
        first_name: name
        last_name: name
        username: screen_name
  • Windows Live
    authorization_endpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize'
    token_endpoint:
      endpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/token'
    scope: openid offline_access profile email
    field_mapping:
      email: email
      username: preferred_username
      first_name: name
      last_name: name
    
  • Standardwert
    
    response_type: code
    scope: openid
    field_mapping:
      username: sub
      email: email
      last_name: family_name
      first_name: given_name
    credential_location: auth_header
    Obwohl dies die Standardkonfiguration für den Providertyp standard ist, sollten Sie sich mit Ihrem OIDC-Provider in Verbindung setzen, um die Details zu den Feldern anzufordern, die Sie definieren müssen.

Erstellen Ihrer OIDC-Benutzerregistry

Verwenden Sie den folgenden CLI-Befehl, um Ihre OIDC-Benutzerregistry zu erstellen:
apic user-registries:create --server mgmt_endpoint_url --org organization_name oidc_config_file
Dabei gilt:
  • mgmt_endpoint_url ist die Endpunkt-URL der Plattform-API.
  • organization_name ist der Wert der Eigenschaft name Ihrer Providerorganisation.
  • oidc_config_file ist der Name der YAML-Datei, die die Konfiguration Ihrer OIDC-Benutzerregistry definiert.
Nach Abschluss der Registry-Erstellung zeigt der Befehl die folgenden Details zur Zusammenfassung an:
registry_name registry_url
Standardmäßig wird der Wert registry_name aus der Eigenschaft title in der YAML-Konfigurationsdatei abgeleitet. Sie können dies jedoch überschreiben, indem Sie eine name-Eigenschaft in die Datei aufnehmen. Die registry_url ist eine interne URL, die API Connect der Registry zuweist.
Nachdem Sie Ihre OIDC-Benutzerregistry erstellt haben, müssen Sie Ihre Anwendungsregistrierung mit dem OIDC-Provider des Drittanbieters aktualisieren, um den OIDC-Umleitungs-URI einzuschließen. Sie können diese Informationen abrufen, indem Sie den folgenden Befehl verwenden, mithilfe dessen die Details der Registry im Befehlsfenster angezeigt werden:
apic user-registries:get --server mgmt_endpoint_url --org organization_name registry_name --output -
Der erforderliche Wert für oidc_redirect_uri befindet sich im Abschnitt consumer:. Beispiel:
consumer:
  oidc_redirect_uri: https://consumer.mycompany.com/consumer-api/oauth2/redirect

Aktivieren der OIDC-Registry in einem Katalog

Um Ihre OIDC-Registrierung für die Registrierung und Authentifizierung von Consumer-Catalog -Benutzern verfügbar zu machen, müssen Sie sie in dem Katalog aktivieren, der diesem Consumer Catalog zugeordnet ist. Führen Sie die folgenden Schritte aus:
  1. Bestimmen Sie die URL Ihrer OIDC-Benutzerregistry, indem Sie den folgenden Befehl verwenden:
    apic user-registries:list --server mgmt_endpoint_url --org organization_name
  2. Geben Sie den folgenden Befehl ein (das abschließende Silbentrennzeichen bedeutet, dass der Befehl über die Befehlszeile eingegeben wird):
    apic configured-catalog-user-registries:create --server mgmt_endpoint_url --org organization_name --catalog catalog_name -
    Dabei ist catalog_name der Wert desnameEigenschaft des gewünschten Katalogs. Der Befehl zeigt an
    Reading CONFIGURED_CATALOG_USER_REGISTRY_FILE arg from stdin
  3. Geben Sie die folgenden Daten gefolgt von einer neuen Zeile ein:
    user_registry_url: oidc_registry_url
    wobei oidc_registry_url die URL Ihrer OIDC-Registrierung ist, die Sie in Schritt 1 erhalten haben.
  4. Drücken CTRL D Sie, um die Eingabe zu beenden.

Weitere Informationen zu allen und apic configured-catalog-user-registries apic user-registries Befehlen finden Sie in der Referenzdokumentation zur Toolkit-Befehlszeilenschnittstelle.

Sie können die in diesem Thema beschriebenen Vorgänge auch mithilfe der API Connect REST-APIs ausführen; siehe dazu die API Connect REST-API-Dokumentation.