Zum Hauptinhalt springen

SAML-Assertionsattribute konfigurieren

SAML-Attribute sind Schlüsselelemente von SAML-Assertions, die spezifische Informationen über den authentifizierten Benutzer enthalten. Diese Attribute können Benutzerkennungen, Rollen, Berechtigungen und andere relevante Benutzerdaten umfassen, die der Service Provider (SP) für Autorisierungs- und Personalisierungszwecke benötigt.

SAML-Attribute verstehen​

Bei der SAML-Authentifizierung:

  • Attribute sind Name-Wert-Paare, die Benutzerinformationen enthalten
  • Sie sind in der SAML-Assertion enthalten, die vom Identitätsanbieter (Logto) an den Service Provider gesendet wird
  • Sie helfen Service Providern, fundierte Entscheidungen über den Benutzerzugang und die Personalisierung zu treffen
SAML-App-Attributzuordnung

Attributzuordnung in Logto​

Die Attributzuordnung ermöglicht es dir, festzulegen, wie Benutzerinformationen aus Logto bestimmten Attributen in der SAML-Assertion zugeordnet werden sollen. Diese Zuordnung stellt sicher, dass dein Service Provider die Benutzerinformationen im erwarteten Format und unter den erwarteten Attributnamen erhält.

Wenn du die Attributzuordnung konfigurierst:

  1. Legst du fest, welche Benutzereigenschaften aus Logto in die SAML-Assertion aufgenommen werden sollen
  2. Definierst du benutzerdefinierte Attributnamen, die dein Service Provider erwartet
  3. Die zugeordneten Attribute werden während der Authentifizierung automatisch in die SAML-Assertion aufgenommen

Häufig verwendete Attribute​

Einige häufig verwendete SAML-Attribute sind:

  • Sub (Benutzer-ID)
  • E-Mail
  • Organisationen
  • Name
  • Bevorzugter Benutzername

Alle von Logto verfügbaren Benutzerdaten anzeigen

Durch die richtige Konfiguration der Attributzuordnung stellst du sicher, dass dein Service Provider alle notwendigen Benutzerinformationen erhält, um deinen Benutzern den passenden Zugang und die gewünschte Personalisierung zu bieten.

Du kannst alle in Logto verfügbaren Benutzerinformationen den erwarteten Attributen deines SP zuordnen, indem du die Einstellungen zur Attributzuordnung verwendest.

Statische Attribute​

Einige Service Provider erwarten Attribute, die für jeden Benutzer denselben Wert haben, wie eine ID, die dein Konto oder deine Website auf der Seite des Service Providers identifiziert. Statische Attribute sind feste Name-Wert-Paare, die Logto jeder SAML-Assertion der Anwendung hinzufügt, zusätzlich zu den zugeordneten Benutzerattributen.

Zum Beispiel kann eine NetSuite SuiteCommerce-Integration die Attribute account und site erwarten:

AttributnameWert
accountDeine NetSuite-Konto-ID
siteDeine Website-ID

Statische Attribute in der Console konfigurieren​

  1. Gehe zu Console > Anwendungen und öffne deine SAML-Anwendung.
  2. Öffne den Tab Attributzuordnungen und finde die Karte Statische Attribute unterhalb der Basis-Attributzuordnungen.
  3. Gib den Attributnamen in Key und dessen Wert in Value ein. Klicke auf Weitere hinzufügen, um weitere Attribute hinzuzufügen. Um das letzte Attribut zu entfernen, lösche dessen Key und Value.
  4. Klicke auf Änderungen speichern.

Statische Attribute mit der Management API konfigurieren​

Setze staticAttributes, wenn du eine SAML-Anwendung mit der Management API erstellst oder aktualisierst:

curl \
--request PATCH \
--header 'Authorization: Bearer <access-token>' \
--header 'Content-Type: application/json' \
--data '{"staticAttributes": {"account": "<your-account-id>", "site": "<your-site-id>"}}' \
'https://[tenant-id].logto.app/api/saml-applications/<application-id>'

Eine Aktualisierung, die staticAttributes enthält, ersetzt das gesamte Objekt. Füge daher jedes statische Attribut ein, das du behalten möchtest. Lasse das Feld weg, um sie unverändert zu lassen, oder sende {}, um alle zu entfernen.

Regeln für statische Attribute​

  • Attributnamen dürfen ASCII-Buchstaben, Ziffern und die Zeichen _ - . : / # @ enthalten, sodass URI- und OID-Namen wie http://schemas.example.com/claims/site oder urn:oid:1.3.6.1.4.1.5923.1.1.1.6 akzeptiert werden.
  • Jedes statische Attribut hat einen einzelnen, nicht-leeren Zeichenfolgenwert.
  • Namen dürfen nicht miteinander oder mit den Benutzerattributnamen in der Assertion kollidieren: den Namen in der Spalte Value name of your application deiner Attributzuordnung oder sub, email und name, wenn nichts zugeordnet ist. Logto vergleicht Namen, nachdem sie in Camel Case umgewandelt wurden, wobei ., _ und - als Worttrenner dienen. Daher kollidieren site_id, site.id und SiteId miteinander, ebenso wie account und Account. Die gleiche Prüfung erfolgt, wenn du die Attributzuordnung änderst. Wenn beim Speichern ein Konflikt gemeldet wird, benenne eines der Attribute um.

Alle Attribute in der Assertion, zugeordnete und statische, verwenden das NameFormat urn:oasis:names:tc:SAML:2.0:attrname-format:basic und werden als xs:string-Werte gesendet. Wenn dein Service Provider URI- oder OID-Namen mit dem NameFormat urn:oasis:names:tc:SAML:2.0:attrname-format:uri erwartet, prüfe, ob er auch basic akzeptiert.