AuthnRequest-Einstellungen in OAM und SP

In diesem Artikel werden die verschiedenen OAM/SP-Einstellungen aufgeführt, die sich darauf auswirken, wie eine AuthnRequest-Nachricht in OAM in einem Federation-SSO-Ablauf erstellt wird. Die Nachricht AuthnRequest wird von einem SP verwendet, um einen Federation-SSO-Vorgang zu starten und der IdP anzugeben, wie der Vorgang ausgeführt werden soll:

Protokolle

Die Protokolle SAML 2.0, SAML 1.1 und OpenID 2.0 definieren verschiedene Nachrichtenelemente und Regeln, mit denen ein Administrator die Federation-SSO-Abläufe auf unterschiedliche Weise beeinflussen kann, wenn der SP einen SSO-Vorgang auslöst:

SAML 2.0

OAM/SP ermöglicht die Anpassung der SAML 2.0 AuthnRequest-Nachricht für die folgenden Elemente:

ForceAuthn:

IsPassive

RequestedAuthnContext

NameIDPolicy

ProtocolBinding

Mit OAM/SP kann der Administrator den Server auch so konfigurieren, dass er:

SAML 1.1

Die SAML 1.1-Spezifikationen definieren keine Nachricht, die der SP an IdP senden soll, wenn ein Federation-SSO-Vorgang gestartet wird. Daher ist es nicht möglich, OAM/SP zu konfigurieren, wie sich dies auf den Start des Federation-SSO-Ablaufs auswirkt.

OpenID 2.0

OpenID 2.0 definiert mehrere Erweiterungen, die vom SP/RP verwendet werden können, um die Funktionsweise des Federation-SSO-Vorgangs zu beeinflussen:

OpenID-Anforderung:

PAPE-Erweiterung:

preferred_auth_policies

UI-Erweiterung

Sprachvoreinstellung

Symbol:

ForceAuthn und IsPassive

WLST-Befehl

OAM/SP stellt den WLST-Befehl configureIdPAuthnRequest() bereit, um Folgendes festzulegen:

ForceAuthn als boolescher Wert:

IsPassive als boolescher Wert:

Testen

In diesem Test ist OAM/SP in einen Remote-SAML 2.0 IdP-Partner mit der OOTB-Konfiguration integriert. Wenn OAM/SP einen Federation-SSO-Ablauf startet, wird auf Basis dieses Setups die folgende SAML 2.0-AuthnRequest generiert:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

Konfigurieren wir OAM/SP für diesen IdP-Partner, sodass der SP die IdP benötigt, um den Benutzer erneut anzufordern, selbst wenn der Benutzer bereits authentifiziert ist:

  1. Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen:$IAM_ORACLE_HOME/common/bin/WLST.sh
  2. Stellen Sie eine Verbindung zum WLS-Admin-Server her: connect()
  3. Navigieren Sie zur Domainlaufzeitverzweigung: domainRuntime()
  4. Führen Sie den Befehl configureIdPAuthnRequest() aus: configureIdPAuthnRequest(partner="AcmeIdP", forceAuthn="true")
  5. Beenden Sie die WLST-Umgebung: exit()

Nach den Änderungen wird die folgende SAML 2.0-AuthnRequest generiert:

<samlp:AuthnRequest ForceAuthn="true" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP- POST" ID="id- E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4" Version="2.0" IssueInstant="2014-04-01T21:39:14Z" Destination="https://acme.com/saml20/sso">
   <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

Führen Sie die folgenden Vorgänge aus, um die ForceAuthn/IsPassive-Einstellungen anzuzeigen oder zu löschen:

  1. Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen: $IAM_ORACLE_HOME/common/bin/WLST.sh
  2. Stellen Sie eine Verbindung zum WLS-Admin-Server her: connect()
  3. Navigieren Sie zur Domainlaufzeitverzweigung: domainRuntime()
  4. Führen Sie den Befehl configureIdPAuthnRequest() aus, um die ForceAuthn/IsPassive-Einstellungen für den Partner configureIdPAuthnRequest(partner="AcmeIdP", displayOnly="true") anzuzeigen.
  5. So löschen Sie die ForceAuthn/IsPassive-Einstellungen aus dem Partner configureIdPAuthnRequest(partner="AcmeIdP", delete="true")
  6. Beenden Sie die WLST-Umgebung: exit()

Angeforderte Fed-Authentifizierungsmethode

Im Artikel "Fed Authentication Method Requests in OAM/SP" wurde erläutert, wie OAM/SP so konfiguriert werden könnte, dass beim Starten eines Federation-SSO-Vorgangs eine bestimmte Federation-Authentifizierungsmethode aus der IdP angefordert wird, indem Elemente in der SSO-Anforderungsnachricht festgelegt werden.

WLST-Befehl

Folgende OAM WLST-Befehle können verwendet werden:

Dies gilt für SAML 2.0- und SAML OpenID 2.0-Protokolle. Weitere Informationen finden Sie im Artikel "Fed Authentication Method Requests in OAM / SP".

Testen

In diesem Test ist OAM/SP in einen Remote-SAML 2.0 IdP-Partner mit der OOTB-Konfiguration integriert. Wenn OAM/SP einen Federation-SSO-Ablauf startet, wird auf Basis dieses Setups die folgende SAML 2.0-AuthnRequest generiert:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

Konfigurieren wir OAM/SP für diesen IdP-Partner, sodass der SP IdP auffordert, einen Mechanismus zu verwenden, der der Federation-Authentifizierungsmethode urn:oasis:names:tc:SAML:2.0:ac:classes:X509 zugeordnet ist, um den Benutzer zu authentifizieren:

  1. Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen: $IAM_ORACLE_HOME/common/bin/WLST.sh
  2. Stellen Sie eine Verbindung zum WLS-Admin-Server her: connect()
  3. Navigieren Sie zur Domainlaufzeitverzweigung: domainRuntime()
  4. Führen Sie den setIdPPartnerRequestAuthnMethod()-Befehl aus: setIdPPartnerRequestAuthnMethod("AcmeIdP", "urn:oasis:names:tc:SAML:2.0:ac:classes:X509")
  5. Beenden Sie die WLST-Umgebung: exit()

Nach den Änderungen wird die folgende SAML 2.0-AuthnRequest generiert:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com /oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/>
   <samlp:RequestedAuthnContext
Comparison="minimum">
      <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
         urn:oasis:names:tc:SAML:2.0:ac:classes:X509
      </saml:AuthnContextClassRef>
   </samlp:RequestedAuthnContext> </samlp:AuthnRequest>

NameID-Format

Mit dem SAML 2.0-Protokoll kann der SP von IdP ein bestimmtes NameID-Format anfordern, das verwendet wird, wenn die Assertion von der IdP ausgegeben wird.

Hinweis: SAML 1.1 und OpenID 2.0 bieten keinen solchen Mechanismus.

OAM konfigurieren

Der Administrator kann OAM/SP so konfigurieren, dass ein NameID-Format im SAML 2.0 AuthnRequest angefordert wird über:

OAM-Administrationskonsole

So konfigurieren Sie das angeforderte NameID-Format über die OAM-Administrationskonsole:

  1. Gehen Sie zur OAM-Administrationskonsole: http(s)://OAM-admin-host:OAM-adminport/oamconsole
  2. Navigieren Sie zu Identity Federation, Serviceprovideradministration.
  3. Öffnen Sie den IdP-Partner, den Sie ändern möchten.
  4. Im Dropdown-Feld "Format für Authentifizierungsanforderung NameID" mit einem der folgenden Werte:
    • None: Das NameID-Format ist "Standard"
    • Email Address: Das NameID-Format wird auf urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress gesetzt.
    • X.509 Subject: Das NameID-Format wird auf urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName gesetzt.
    • Windows Name Qualifier: Das NameID-Format wird auf urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedName gesetzt.
    • Kerberos: Das NameID-Format wird auf urn:oasis:names:tc:SAML:2.0:nameidformat:kerberos gesetzt.
    • Transient: Das NameID-Format wird auf urn:oasis:names:tc:SAML:2.0:nameidformat:transient gesetzt.
    • Unspecified: Das NameID-Format wird auf urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified gesetzt.
    • Custom: In diesem Fall wird ein Feld angezeigt, mit dem der Administrator das benutzerdefinierte NameID-Format für die Verwendung angeben kann. Das NameID-Format wird auf das angegebene Format gesetzt
    • Persistent: The NameID format will be set urn:oasis:names:tc:SAML:2.0:nameidformat:persistent we selected Email Address` in diesem Beispiel
  5. Klicken Sie auf Save.

Beschreibung der Abbildung OAM_Administration_Console.jpg

Beschreibung der Abbildung OAM Administration Console.jpg

WLST-Befehl

Führen Sie die folgenden Schritte aus, um das angeforderte NameID-Format über den OAM WLST-Befehl setIdPPartnerNameIDFormat() zu konfigurieren:

  1. Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen: $IAM_ORACLE_HOME/common/bin/WLST.sh
  2. Stellen Sie eine Verbindung zum WLS-Admin-Server her: connect()
  3. Navigieren Sie zur Domainlaufzeitverzweigung: domainRuntime()
  4. Führen Sie den Befehl setIdPPartnerNameIDFormat() aus: setIdPPartnerNameIDFormat("PARTNER", "FORMAT", customFormat="CUSTOM")
    • Ersetzen Sie PARTNER durch den IdP-Partnernamen.
    • FORMAT durch einen der folgenden Werte ersetzen:
    • orafed-none: Das NameID-Format wird als Standard festgelegt.
    • orafed-emailaddress: Das NameID-Format wird auf urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress gesetzt.
    • orafed-x509: Das NameID-Format wird auf urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName gesetzt.
    • orafed-windowsnamequalifier: Das NameID-Format wird auf urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedName gesetzt.
    • orafed-kerberos: Das NameID-Format wird auf urn:oasis:names:tc:SAML:2.0:nameidformat:Kerberos gesetzt.
    • orafed-transient: Das NameID-Format wird auf urn:oasis:names:tc:SAML:2.0:nameidformat:transient gesetzt.
    • orafed-unspecified: Das NameID-Format wird auf urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified gesetzt.
    • orafed-custom: In diesem Fall wird ein Feld angezeigt, mit dem der Administrator das benutzerdefinierte NameID-Format angeben kann. Das NameID-Format wird auf das angegebene Format gesetzt
      • orafed-persistent: Das NameID-Format wird auf urn:oasis:names:tc:SAML:2.0:nameidformat:persistent gesetzt.
      • customFormat muss festgelegt werden, wenn FORMAT auf orafed-custom gesetzt ist. Beispiel: setIdPPartnerNameIDFormat("AcmeIdP", "orafed-emailaddress")
  5. Beenden Sie die WLST-Umgebung: exit()

Testen

In diesem Test ist OAM/SP in einen Remote-SAML 2.0 IdP-Partner mit der OOTB-Konfiguration integriert. Wenn OAM/SP einen Federation-SSO-Ablauf startet, wird auf Basis dieses Setups die folgende SAML 2.0-AuthnRequest generiert:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/>
</samlp:AuthnRequest>

Nach den Änderungen, die entweder über die OAM-Administrationskonsole oder über den OAM WLST-Befehl setIdPPartnerNameIDFormat() vorgenommen werden, wobei die E-Mail-Adresse als NameID-Format angefordert wird, wird die folgende SAML 2.0 AuthnRequest generiert:

<samlp:AuthnRequest ForceAuthn="false"
IsPassive="false"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy
Format="urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress" AllowCreate="true"/> </samlp:AuthnRequest>

Protokoll-Binding

Die SAML 2.0-Spezifikationen definieren eine Möglichkeit für den SP, das von IdP zu verwendende Binding anzufordern, um den Benutzer mit der SAML 2.0-Assertion an den SP weiterzuleiten: Das Attribut ProtocolBinding gibt das Binding an, das von IdP verwendet werden soll. Er wird wie folgt festgelegt:

Die SAML 2.0-Spezifikationen definieren auch verschiedene Möglichkeiten, den Benutzer mit der SAML 2.0 AuthnRequest-Nachricht vom SP an IdP umzuleiten, da der SP die Nachricht senden kann:

OAM konfigurieren

OAM kann konfiguriert werden:

Hinweis: Das Binding zum Senden der SAML 2.0-Nachricht AuthnRequest wird auch verwendet, um die SAML 2.0-Nachrichten LogoutRequest und LogoutResponse zu senden.

OAM-Administrationskonsole

So konfigurieren Sie das SSO-Antwort-/Assertion Binding über die OAM-Administrationskonsole:

  1. Gehen Sie zur OAM-Administrationskonsole: http(s)://OAM-admin-host:OAM-adminport/oamconsole.
  2. Navigieren Sie zu Identity Federation, Serviceprovideradministration.
  3. Öffnen Sie den IdP-Partner, den Sie ändern möchten.
  4. Aktivieren Sie das Kontrollkästchen "HTTP POST SSO-Antwort-Binding", um IdP anzufordern, die SSO-Antwort über HTTP POST zurückzugeben. Deaktivieren Sie das Kontrollkästchen andernfalls, um das Artefakt anzufordern.
  5. Klicken Sie auf Speichern.

Beschreibung der Abbildung SSO_Response_Assertion_Configuration.jpg

WLST-Befehl

Um das SSO-Antwort-/Assertion-Binding sowie das AuthnRequest-Binding über den OAM WLST-Befehl configureSAMLBinding() zu konfigurieren, führen Sie die folgenden Schritte aus:

  1. Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen: $IAM_ORACLE_HOME/common/bin/WLST.sh
  2. Stellen Sie eine Verbindung zum WLS-Admin-Server her: connect()
  3. Navigieren Sie zur Domainlaufzeitverzweigung: domainRuntime()
  4. Führen Sie den configureSAMLBinding()-Befehl aus: configureSAMLBinding("PARTNER", "PARTNER_TYPE", binding, ssoResponseBinding="httppost")
  5. Ersetzen Sie PARTNER durch den Partnernamen
  6. Ersetzen Sie PARTNER_TYPE durch den Partnertyp (idp oder sp).
  7. Ersetzen Sie das Binding durch das Binding, das zum Senden der Nachrichten AuthnRequest und LogoutRequest/LogoutResponse verwendet werden soll (in den meisten Fällen sollte es httpredirect sein; Standardwert)
  8. Geben Sie optional ssoResponseBinding an, um anzugeben, wie die SSO-Assertion zurückgesendet werden soll
  9. Beenden Sie die WLST-Umgebung: exit()

Testen

In diesem Test ist OAM/SP in einen Remote-SAML 2.0 IdP-Partner integriert, mit der OOTB-Konfiguration, die HTTP-POST von IdP anfordert, um die SSO-Assertion zu senden. Wenn OAM/SP einen Federation-SSO-Ablauf startet, wird auf Basis dieses Setups die folgende SAML 2.0-AuthnRequest generiert:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

Weitere Lernressourcen

Sehen Sie sich weitere Übungen unter docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning-Kanal YouTube zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.