Befehlszeilenschnittstelle zum Erstellen eines organisationsspezifischen LDAP-Benutzerregistry verwenden
Sie können die Developer Portal-Befehlszeilenschnittstelle verwenden, um eine organisationsspezifische LDAP-Benutzerregistrierung für die Benutzerauthentifizierung für das Developer Portal zu konfigurieren. APIs können auch mit einer LDAP-Benutzerregistry gesichert werden.
Vorbereitende Schritte
Um eine LDAP-Benutzerregistry als Ressource in API Managerzu konfigurieren, muss das LDAP-Verzeichnis erstellt und für die Verwendung mit Ihrem API Connect -Ökosystem verfügbar sein.
LDAP-Registrierungen können zur Sicherung von APIs oder zur Sicherung eines Katalogs zur Authentifizierung von Benutzern des Entwicklerportals verwendet werden.
Active Directory verwenden, müssen Sie dies in der LDAP-Konfiguration mit der Eigenschaft "directory_type": "ad" angeben.Für die Konfiguration einer LDAP-Benutzerregistry ist eine der folgenden Rollen erforderlich:
- Administrator
- Eigner
- Topologieadministrator
- Angepasste Rolle mit demSettings: ManageBerechtigungen
Informationen zu dieser Task
Sie können eine LDAP-Benutzerregistry erstellen, die für eine Provider-Organisation spezifisch ist, oder eine, die gemeinsam genutzt werden kann und für alle Provider-Organisationen in Ihrer API Connect -Umgebung verfügbar ist. Eine organisationsspezifische LDAP-Benutzerregistrierung kann für das Onboarding und die Authentifizierung von Developer Portal-Benutzern in einer bestimmten Anbieterorganisation verwendet werden. Während eine gemeinsame LDAP-Benutzerregistrierung für die Authentifizierung von Cloud Manager-, API Manager- und Developer Portal-Benutzern verwendet werden kann.
In diesem Abschnitt wird beschrieben, wie Sie eine organisationsspezifische LDAP-Benutzerregistry konfigurieren. Weitere Informationen zum Erstellen einer gemeinsamen Registrierung finden Sie unter Verwenden der Befehlszeilenschnittstelle zum Konfigurieren einer gemeinsamen LDAP-Benutzerregistrierung für weitere Informationen.- Sie können auch organisationsspezifische LDAP-Benutzerregistrierungen mithilfe der API Manager-Benutzeroberfläche erstellen. Weitere Informationen finden Sie unter Erstellen einer LDAP-Benutzerregistrierung in API Manager.
- Darüber hinaus können Sie LDAP-Benutzerregistrys mit den REST-APIs von API Connect erstellen und verwalten. Weitere Informationen finden Sie in der Dokumentation zur API Connect -REST-API.
- Wenn Sie DataPower® API Gatewayverwenden, wird die LDAP-Gruppenauthentifizierung nicht unterstützt.
- Sie können externe LDAP-Gruppen API Connect -Benutzerrollen zuordnen, damit die Benutzerberechtigung mithilfe der Befehlszeilenschnittstelle des Entwicklertoolkits besser gesteuert werden kann. In den folgenden Anweisungen wird erläutert, wie Sie die Konfiguration
external_group_mapping_enabledin Ihrer LDAP-Benutzerregistryressource festlegen können. Informationen zum Festlegen der externen Rollenzuordnung für Ihre API Connect -Benutzerrollen finden Sie unter LDAP-Gruppenzuordnung für Cloud Manager-Benutzerrollen konfigurieren.
Sie erstellen eine LDAP-Benutzerregistry, indem Sie zuerst die Registrydetails in einer Konfigurationsdatei definieren. Anschließend verwenden Sie einen CLI-Befehl developer toolkit , um die Registry zu erstellen und die Konfigurationsdatei als Parameter zu übergeben. Um die Registry für das Developer Portal verfügbar zu machen, müssen Sie die Registry im zugehörigen Katalog aktivieren. Um APIs mit einer LDAP-Registry zu sichern, müssen Sie Sicherheitsdefinitionen konfigurieren. Sie können die folgenden Anweisungen verwenden, um eine beschreibbare oder eine schreibgeschützte LDAP-Benutzerregistry zu erstellen.
Weitere Informationen zur Authentifizierung mit LDAP finden Sie unter LDAP-Authentifizierung.
An der Befehlszeilenschnittstelle für den Management-Server anmelden
apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_provider--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,realmBeispiel: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-ldapAnhand 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 der Installation von API Connect erstellt hat, werden die Namen zum Zeitpunkt 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 "login" finden Sie unter An einem Management-Server anmelden.
Weitere Informationen zur Verwendung der Befehlszeilenschnittstelle finden Sie unter Toolkit installierenund Übersicht über das Befehlszeilentool.
LDAP-Konfiguration definieren
ldap_config_file.yaml-Datei, wie im folgenden Beispiel dargestellt. Der tatsächliche Inhalt Ihrer YAML-Datei variiert je nach Authentifizierungsmethode Ihres LDAP-Servers und wird in den folgenden Tabellen erläutert.name: registry_name
title: "display_title"
integration_url: LDAP_integration_url
user_managed: true_or_false
user_registry_managed: false
directory_type: ad
external_group_mapping_enabled: true_or_false
case_sensitive: true_or_false
email_required: true_or_false
email_unique_if_exist: true_or_false
identity_providers:
- name: provider_name
title: provider_title
endpoint:
endpoint: "ldap_server_url_and_port"
configuration:
authentication_method: authentication_method
authenticated_bind: "true_or_false"
admin_dn: "admin_dn"
admin_password: admin_password
search_dn_base: "search_dn_base"
search_dn_scope: search_dn_scope
search_dn_filter_prefix: prefix
search_dn_filter_suffix: suffix
attribute_mapping:
dn: "distinguished_name"
cn: "common_name"
sn: "last_name"
mail: "email_address"
userPassword: "password"Die gemeinsamen Registry-Eigenschaften der einzelnen Authentifizierungsverfahren werden in der folgenden Tabelle beschrieben:| Eigenschaft | Beschreibung |
|---|---|
name |
Der Name der Registry. Dieser Name wird in CLI-Befehlen verwendet. |
title |
Ein beschreibender Name, der in einer grafischen Benutzerschnittstelle angezeigt werden soll. |
integration_url |
Die URL in Ihrer API Connect Konfiguration. Sie können die LDAP-Integrations-URL mithilfe des folgenden CLI-Befehls bestimmen: |
user_managed |
Legt fest, ob Ihre Benutzerregistry beschreibbar ist. Muss auf true gesetzt werden, damit eine LDAP-Registry beschreibbar ist. Sie können diese Einstellung in false ändern, wenn Sie nicht möchten, dass in die Registry geschrieben werden kann. Weitere Informationen hierzu finden Sie im Abschnitt Wechseln zwischen beschreibbarer und schreibgeschützter LDAP-Registry am Ende dieses Abschnitts. Beachten Sie, dass keine beschreibbare LDAP-Benutzerregistry für die Authentifizierung von Cloud Manager -und API Manager -Benutzern verwendet werden kann. |
user_registry_managed |
Muss für LDAP auf false gesetzt sein. Legt fest, ob API Connect Ihre Benutzerregistry verwaltet. Nur LUR-Registrys werden von API Connectverwaltet. |
directory |
Einen der folgenden Werte für den Verzeichnistyp angeben:
|
external_group_mapping_enabled |
Legt fest, ob Ihre Benutzerregistry LDAP-Gruppenzuordnungen unterstützt. Gültige Werte:
false. |
case_sensitive |
Legt fest, ob für die Benutzerregistry die Groß-/Kleinschreibung beachtet werden muss. Gültige Werte:
Hinweis: Nachdem mindestens ein Benutzer in die Registry integriert wurde, können Sie diese Einstellung nicht ändern.
|
email_required |
Bestimmt, ob eine E-Mail-Adresse im Rahmen des Onboarding-Prozesses für Benutzer erforderlich ist Gültige Werte:
truefestgelegt ist, muss der Quellenidentitätsprovider die E-Mail-Adresse als Teil des Authentifizierungsprozesses während des Onboardings angeben.Hinweis: Für das Onboarding zum Cloud Manager oder zum API Manager ist eine E-Mail-Adresse nicht standardmäßig erforderlich, für das Onboarding zum Entwicklerportal jedoch schon.
|
email_unique_if_exist |
Legt fest, ob E-Mail-Adressen innerhalb der Benutzerregistry eindeutig sein müssen Gültige Werte:
Hinweis: Jedes Konto im Entwicklerportal, auch über verschiedene Benutzerregistrierungen für dieselbe Site hinweg, muss eine eindeutige E-Mail-Adresse haben, auch das Site-Admin-Konto.
|
identity_providers |
Ein Array mit den Details Ihres LDAP-Servers, wobei Folgendes gilt:
|
endpoint |
Der Endpunkt Ihres LDAP-Servers, der sich aus der URL und dem Port zusammensetzt, wie zum Beispiel: |
tls_profile |
Legen Sie optional das TLS-Clientprofil fest, das für den LDAP-Server erforderlich ist. |
protocol_version |
Legen Sie optional die Versionsnummer für das LDAP-Protokoll fest, das Sie verwenden. Gültige Werte:
3 an, wenn nichts explizit festgelegt wird. |
compose_dn- Legen Sie dieses Format fest, wenn Sie den LDAP-DN des Benutzers aus dem Benutzernamen erstellen können. Beispiel:uid=<username>,ou=People,dc=company,dc=comist ein DN-Format, das aus dem Benutzernamen zusammengesetzt werden kann. Wenn Sie nicht sicher sind, ob "DN erstellen" die richtige Option ist, wenden Sie sich an den LDAP-Administrator. Wenn Sie eine LDAP-Registry zum Sichern von APIs verwenden, wirdcompose_dnmit dem DataPower API Gateway nicht unterstützt.compose_upn- Legen Sie dieses Format fest, wenn Ihr LDAP-Verzeichnis die Bindung mit Benutzerhauptnamen wiejohn@acme.comunterstützt. Das Microsoft Active Directory ist ein Beispiel für ein LDAP-Verzeichnis, das die Authentifizierung "Erstellen (UPN)" unterstützt. Wenn Sie sich unsicher sind, welches der LDAP-Verzeichnisse die Bindung mit UPNs unterstützt, wenden Sie sich an den LDAP-Administrator.Hinweis: Der DN für Administratorbindung und das Kennwort für Administratorbindung werden bei dieser Authentifizierungsmethode nicht verwendet.search_dn- Wählen Sie dieses Format aus, wenn Sie den LDAP-DN (Distinguished Name) des Benutzers nicht aus dem Benutzernamen erstellen können, wenn sich z. B. die Basis-DNs der Benutzer unterscheiden. Dieses Format erfordert möglicherweise einen Administrator-DN und ein Kennwort für die Suche nach Benutzern im LDAP-Verzeichnis. Wenn Ihr LDAP-Verzeichnis anonymes Binden erlaubt, können Sie den Admin-DN und das Kennwort übergehen. Wenn Sie nicht sicher sind, ob Ihr LDAP-Verzeichnis anonymes Binden erlaubt, wenden Sie sich an den LDAP-Administrator.
compose_dn die folgenden Konfigurationseigenschaften fest:| Eigenschaften | Beschreibung |
|---|---|
authentication_method |
compose_dn |
authenticated_bind |
Die Bindungsmethode. Gültige Werte:
"false" aus. Wenn bestimmte Berechtigungen erforderlich sind, wählen Sie "true"aus. |
admin_dn |
Wenn authenticated_bind auf "true" gesetzt ist, geben Sie den definierten Namen (DN) eines Benutzers ein, der für die Durchführung von Suchvorgängen im LDAP-Verzeichnis berechtigt ist. Zum Beispiel:
|
admin_password |
Wenn authenticated_bind auf "true"gesetzt ist, geben Sie das Benutzerkennwort für admin_dn ein. |
search_dn_base |
Geben Sie optional einen Basis-DN an, z. B.: |
bind_prefix |
Legen Sie das Präfix für den DN fest, z. B.: |
bind_suffix |
Legen Sie das Suffix für den DN fest, z. B.: |
attribute_mapping |
Wenn user_managed auf truegesetzt ist, geben Sie die Zuordnung Ihrer LDAP-Quellenattributnamen zu den API Connect -Zielwerten an. Diese Zuordnung wird als Name-Wert-Paar konfiguriert und wie folgt angegeben:Dabei gilt:
username, first_name, last_name, emailund password.Der folgende Auszug zeigt ein Beispiel für eine Attributzuordnung:
|
compose_upn die folgenden Konfigurationseigenschaften fest:| Eigenschaften | Beschreibung |
|---|---|
authentication_method |
compose_upn |
authenticated_bind |
Die Bindungsmethode. Gültige Werte:
"false" aus. Wenn bestimmte Berechtigungen erforderlich sind, wählen Sie "true"aus. |
admin_dn |
Wenn authenticated_bind auf "true" gesetzt ist, geben Sie den definierten Namen (DN) eines Benutzers ein, der für die Durchführung von Suchvorgängen im LDAP-Verzeichnis berechtigt ist. Beispiel:
|
admin_password |
Wenn authenticated_bind auf "true"gesetzt ist, geben Sie das Benutzerkennwort für admin_dn ein. |
bind_suffix |
Geben Sie die Domänenkomponente des Benutzernamens des Principals ein. Zum Beispiel: |
attribute_mapping |
Wenn user_managed auf truegesetzt ist, geben Sie die Zuordnung Ihrer LDAP-Quellenattributnamen zu den API Connect -Zielwerten an. Diese Zuordnung wird als Name-Wert-Paar konfiguriert und wie folgt angegeben:Dabei gilt:
username, first_name, last_name, emailund password.Der folgende Auszug zeigt ein Beispiel für eine Attributzuordnung:
|
search_dn die folgenden Konfigurationseigenschaften fest:| Eigenschaft | Beschreibung |
|---|---|
authentication_method |
search_dn |
authenticated_bind |
Die Bindungsmethode. Gültige Werte:
"false" aus. Wenn bestimmte Berechtigungen erforderlich sind, wählen Sie "true"aus. |
admin_dn |
Wenn authenticated_bind auf "true" gesetzt ist, geben Sie den definierten Namen (DN) eines Benutzers ein, der für die Durchführung von Suchvorgängen im LDAP-Verzeichnis berechtigt ist. Beispiel:
|
admin_password |
Wenn authenticated_bind auf "true"gesetzt ist, geben Sie das Benutzerkennwort für admin_dn ein. |
search_dn_base |
Geben Sie optional einen Basis-DN an, z. B.: |
search_dn_scope |
Definieren Sie optional den Bereich für den Such-DN. Der Bereich bestimmt, welcher Teil der Verzeichnisinformationsbaumstruktur untersucht wird. Mögliche Werte:
|
search_dn_filter_prefix |
Legen Sie das Präfix für den DN fest, z. B.: |
search_dn_filter_suffix |
Legen Sie das Suffix für den DN fest, z. B.: |
attribute_mapping |
Wenn user_managed auf truegesetzt ist, geben Sie die Zuordnung Ihrer LDAP-Quellenattributnamen zu den API Connect -Zielwerten an. Diese Zuordnung wird als Name-Wert-Paar konfiguriert und wie folgt angegeben:Dabei gilt:
username, first_name, last_name, emailund password.Der folgende Auszug zeigt ein Beispiel für eine Attributzuordnung:
|
Speichern Sie Ihre ldap_config_file.yaml , um über den Befehl user-registries:create im folgenden Abschnitt darauf zugreifen zu können. Im Abschnitt Beispiel finden Sie eine Beispielkonfigurationsdatei.
LDAP-Benutzerregistry erstellen
apic user-registries:create --server mgmt_endpoint_url --org organization_name ldap_config_file.yamlDabei gilt:- mgmt_endpoint_url ist die Endpunkt-URL der Plattform-API.
- organization_name ist der Wert der Eigenschaft
nameIhrer Providerorganisation. - LDAP-Konfigurationsdatei ist der Name der YAML-Datei, die die Konfiguration Ihrer LDAP-Benutzerregistry definiert.
registry_name registry_urlDer Registry-Name wird von der Eigenschaft name in der Konfigurations-YAML-Datei abgeleitet. Die registry_url ist die URL, mit der auf die Registry-Ressource zugegriffen werden kann.Ihre LDAP-Benutzerregistrierung ist nun erstellt. Im folgenden Abschnitt finden Sie Anweisungen, wie Sie die Registrierung im Entwicklerportal verfügbar machen können.
LDAP-Registry in einem Katalog konfigurieren
LDAP-Registry zwischen beschreibbar und schreibgeschützt umschalten
user_managed in der Registry-Konfiguration aktualisiert wird. Führen Sie die folgenden Schritte aus.- Ermitteln Sie den Namen oder die ID der LDAP-Benutzerregistry, die Sie aktualisieren möchten, indem Sie den folgenden Befehl ausführen (Sie können auch die Zusammenfassung aus der Registry-Erstellung verwenden):
Der Befehl gibt eine Liste aller Benutzerregistrys für diese Organisation zurück, die nach Name gefolgt von der Registry-URL angezeigt werden. Die Registry-ID befindet sich am Ende der URL, zum Beispielapic user-registries:list --server mgmt_endpoint_url --org organization_namehttps://company.com/api/user-registries/x-x-x-x-x/registry_id. - Geben Sie den folgenden Befehl ein (der Bindestrich am Ende bedeutet, dass der Befehl Eingaben aus der Befehlszeile entgegennimmt):
Dabei stehtapic user-registries:update --server mgmt_endpoint_url --org organization_name registry_name_or_id -registry_name_or_idfür den Namen oder die ID der LDAP-Benutzerregistry, die Sie aktualisieren möchten (wie im vorherigen Schritt festgelegt). Der Befehl gibt Folgendes zurück:Reading USER_REGISTRY_FILE arg from stdin - Geben Sie die folgenden Daten gefolgt von einer neuen Zeile ein:
wobeiuser_managed: true_or_falsetruedie Registrierung beschreibbar macht undfalsedie Registrierung schreibgeschützt macht. - Drücken Sie
CTRL D, um die Eingabe zu beenden.
attribute_mapping einstellen, wie in den vorherigen Tabellen der Registrierungseigenschaften beschrieben.LDAP-Benutzerregistry zum Sichern von APIs verwenden
- Informationen zur Verwendung für die Basisauthentifizierung in der Sicherheitsdefinition für eine API finden Sie unter Sicherheitsdefinition für Basisauthentifizierung erstellen.
- Informationen zur Authentifizierung in der Benutzersicherheitskonfiguration für einen nativen OAuth-Provider finden Sie unter Benutzersicherheit für einen nativen OAuth-Provider konfigurieren.
Weitere Informationen zu den Befehlen apic user-registries und apic
configured-catalog-user-registries finden Sie in der Toolkit-CLI-Referenzdokumentation.
Beispiel
name: sdn-ldap
title: "SDN LDAP User Registry"
integration_url: https://mycompany.com/api/cloud/integrations/user-registry/xxx-xxx-xxx
user_managed: true
user_registry_managed: false
directory_type: standard
case_sensitive: false
identity_providers:
- name: ldap
title: "SDN LDAP Identity Provider"
endpoint:
endpoint: "ldap://mycompany.com:389"
configuration:
authentication_method: search_dn
authenticated_bind: "true"
admin_dn: "cn=admin,dc=company,dc=com"
admin_password: xxxx
search_dn_base: "dc=company,dc=com"
search_dn_scope: sub
search_dn_filter_prefix: (uid=
search_dn_filter_suffix: )
attribute_mapping:
dn: "uid=[username],ou=users,dc=company,dc=com"
cn: "[first_name] [last_name]"
sn: "[last_name]"
mail: "[email]"
userPassword: "[password]"