Überlegungen zu Design und Codierung

Suchreihenfolge

Zusätzlich zu Native Directory können mehrere Benutzerverzeichnisse in Oracle Hyperion Shared Services konfiguriert werden. Allen konfigurierten Benutzerverzeichnissen wird eine Standardposition in der Suchreihenfolge zugewiesen. Sie können die Suchreihenfolge in Oracle Hyperion Shared Services Console ändern. Mit Ausnahme von Native Directory können Sie konfigurierte Benutzerverzeichnisse aus der Suchreihenfolge entfernen. Oracle Enterprise Performance Management System verwendet keine Benutzerverzeichnisse, die nicht in der Suchreihenfolge enthalten sind. Informationen hierzu finden Sie in der Oracle Enterprise Performance Management - Administrationsdokumentation für Benutzersicherheit.

Die Suchreihenfolge bestimmt, in welcher Reihenfolge EPM System die Benutzerverzeichnisse durchläuft, um Benutzer zu authentifizieren. Wenn der Benutzer in einem Benutzerverzeichnis authentifiziert ist, stoppt EPM System die Suche und gibt den Benutzer zurück. EPM System verweigert die Authentifizierung und gibt einen Fehler zurück, wenn der Benutzer anhand der Benutzerverzeichnisse in der Suchreihenfolge nicht authentifiziert werden kann.

Auswirkung von benutzerdefinierter Authentifizierung auf Suchreihenfolge

Die benutzerdefinierte Authentifizierung hat Auswirkungen darauf, wie die EPM System-Sicherheit die Suchreihenfolge interpretiert.

Wenn das benutzerdefinierte Authentifizierungsmodul einen Benutzernamen zurückgibt, sucht EPM System den Benutzer nur in einem Benutzerverzeichnis, das für die benutzerdefinierte Authentifizierung aktiviert ist. In dieser Phase ignoriert EPM System Benutzerverzeichnisse, die nicht für die benutzerdefinierte Authentifizierung konfiguriert sind.

Erläuterungen zum Ablauf der benutzerdefinierten Authentifizierung

Die folgenden Anwendungsfallszenarios werden verwendet, um den Ablauf der benutzerdefinierten Authentifizierung zu erkunden:

Anwendungsfallszenario 1

In der folgenden Tabelle werden die EPM System-Benutzerverzeichniskonfiguration und die Suchreihenfolge aus diesem Szenario beschrieben. In diesem Szenario wird angenommen, dass das benutzerdefinierte Authentifizierungsmodul eine RSA-Infrastruktur zur Authentifizierung von Benutzern verwendet.

Tabelle 5-1 Setup für Szenario 1

Typ und Name des Benutzerverzeichnisses Suchreihenfolge Benutzerdefinierte Authentifizierung Beispiele für Benutzernamen KennwortFußnote 1
Native Directory 1 Deaktiviert

test_user_1

test_user_2

test_user_3

password

LDAP-fähig

SunONE_West

2 Deaktiviert

test_ldap1

test_ldap_2

test_user_3

test_ldap_4

ldappassword

LDAP-fähig

SunONE_East

3 Aktiviert

test_ldap1

test_ldap_2

test_user_3

ldappassword auf SunONE und RSA PIN im benutzerdefinierten Modul

Fußnote 1 Der Einfachheit halber wird angenommen, dass alle Benutzer dasselbe Kennwort für das Benutzerverzeichnis verwenden.

Um den Authentifizierungsprozess zu starten, gibt ein Benutzer einen Benutzernamen und ein Kennwort im Anmeldefenster eines EPM System-Produkts ein. In diesem Szenario führt das benutzerdefinierte Authentifizierungsmodul die folgenden Aktionen aus:

  • Akzeptiert einen Benutzernamen und eine RSA-PIN als Benutzerzugangsdaten
  • Gibt einen Benutzernamen im Format username@providername, z.B. test_ldap_2@SunONE_East, an die EPM System-Sicherheit zurück

Tabelle 5-2 Benutzerinteraktion und Ergebnisse

Benutzername und Kennwort Authentifizierungsergebnis Anmeldebenutzerverzeichnis
test_user_1/password Erfolgreich Native Directory
test_user_3/password Erfolgreich Native Directory
test_user_3/ldappassword Erfolgreich SunONE_West (Suchreihenfolge 2)Fußnote 2
test_user_3/RSA PIN Erfolgreich SunONE_East (Suchreihenfolge 3)Fußnote 3
test_ldap_2/ldappassword Erfolgreich SunONE_West (Suchreihenfolge 2)
test_ldap_4/RSA PIN Fehler

EPM System zeigt einen Authentifizierungsfehler an.Fußnote 4

 

Fußnote 2

Die benutzerdefinierte Authentifizierung kann diesen Benutzer nicht authentifizieren, da der Benutzer EPM System-Zugangsdaten eingegeben hat. EPM System kann diesen Benutzer nur in einem Benutzerverzeichnis identifizieren, das nicht für die benutzerdefinierte Authentifizierung aktiviert ist. Der Benutzer ist nicht in Native Directory (Suchreihenfolgenummer 1) enthalten, wurde jedoch in SunONE West (Suchreihenfolgenummer 2) gefunden.

Fußnote 3

EPM System kann diesen Benutzer weder in Native Directory (Suchreihenfolgenummer 1) noch in SunONE West (Suchreihenfolgenummer 2) finden. Das benutzerdefinierte Authentifizierungsmodul validiert den Benutzer anhand des RSA-Servers und gibt test_user_3@SunONE_EAST an EPM System zurück. EPM System sucht den Benutzer in SunONE East (Suchreihenfolgenummer 3), einem Benutzerverzeichnis, für das die benutzerdefinierte Authentifizierung aktiviert ist.

Fußnote 4

Oracle empfiehlt, alle Benutzer, die vom benutzerdefinierten Modul authentifiziert wurden, in einem Benutzerverzeichnis zu speichern, für das die benutzerdefinierte Authentifizierung aktiviert ist und das in der Suchreihenfolge vorhanden ist. Die Anmeldung ist nicht erfolgreich, wenn der vom benutzerdefinierten Authentifizierungsmodul zurückgegebene Benutzername nicht in einem Benutzerverzeichnis aus der Suchreihenfolge vorhanden ist, für das die benutzerdefinierte Authentifizierung aktiviert ist.

Anwendungsfallszenario 2

In der folgenden Tabelle werden die EPM System-Benutzerverzeichniskonfiguration und die Suchreihenfolge aus diesem Szenario beschrieben. In diesem Szenario wird angenommen, dass das benutzerdefinierte Authentifizierungsmodul eine RSA-Infrastruktur zur Authentifizierung von Benutzern verwendet.

In diesem Szenario führt das benutzerdefinierte Authentifizierungsmodul die folgenden Aktionen aus:

  • Akzeptiert einen Benutzernamen und eine RSA-PIN als Benutzerzugangsdaten
  • Gibt einen Benutzernamen, z.B. test_ldap_2, an die EPM System-Sicherheit zurück

Tabelle 5-3 Beispielsuchreihenfolge

Benutzerverzeichnis Suchreihenfolge Benutzerdefinierte Authentifizierung Beispiele für Benutzernamen KennwortFußnote 5
Native Directory 1 Deaktiviert

test_user_1

test_user_2

test_user_3

password
LDAP-fähig, z.B. SunONE 2 Aktiviert

test_ldap1

test_ldap2

test_user_3

ldappassword auf SunONE und RSA PIN im benutzerdefinierten Modul

Fußnote 5 Der Einfachheit halber wird angenommen, dass alle Benutzer dasselbe Kennwort für das Benutzerverzeichnis verwenden.

Um den Authentifizierungsprozess zu starten, gibt ein Benutzer einen Benutzernamen und ein Kennwort im Anmeldefenster eines EPM System-Produkts ein.

Tabelle 5-4 Benutzerinteraktion und Ergebnisse

Benutzername und Kennwort Ergebnis der Anmeldung Anmeldebenutzerverzeichnis
test_user_1/password Erfolgreich Native Directory
test_user_3/password Erfolgreich Native Directory
test_user_3/ldappassword Fehler SunONEFußnote 6
test_user_3/RSA PIN Erfolgreich SunONEFußnote 7

Fußnote 6

Benutzerauthentifizierung anhand von Native Directory ist nicht erfolgreich, da das Kennwort nicht übereinstimmt. Die Benutzerauthentifizierung mit dem benutzerdefinierten Authentifizierungsmodul ist nicht erfolgreich, da das verwendete Kennwort keine gültige RSA-PIN ist. EPM System versucht nicht, diesen Benutzer in SunONE (Suchreihenfolge 2) zu authentifizieren, da die benutzerdefinierten Authentifizierungseinstellungen die EPM System-Authentifizierung in diesem Verzeichnis überschreiben.

Fußnote 7

Benutzerauthentifizierung anhand von Native Directory ist nicht erfolgreich, da das Kennwort nicht übereinstimmt. Das benutzerdefinierte Authentifizierungsmodul authentifiziert den Benutzer und gibt den Benutzernamen test_user_3 an EPM System zurück.

Anwendungsfallszenario 3

In der folgenden Tabelle werden die EPM System-Benutzerverzeichniskonfiguration und die Suchreihenfolge aus diesem Szenario beschrieben. In diesem Szenario wird angenommen, dass das benutzerdefinierte Authentifizierungsmodul eine RSA-Infrastruktur zur Authentifizierung von Benutzern verwendet.

Aus Gründen der Klarheit in solchen Szenarios empfiehlt Oracle, dass Ihr benutzerdefiniertes Authentifizierungsmodul den Benutzernamen im Format username@providername zurückgibt, z.B. test_ldap_4@SunONE.

Tabelle 5-5 Beispielsuchreihenfolge

Benutzerverzeichnis Suchreihenfolge Benutzerdefinierte Authentifizierung Beispiele für Benutzernamen KennwortFußnote 8
Native Directory 1 Aktiviert

test_user_1

test_user_2

test_user_3

RSA_PIN
LDAP-fähig, z.B. MSAD 2 Deaktiviert

test_ldap1

test_ldap4

test_user_3

ldappassword
LDAP-fähig, z.B. SunONE 3 Aktiviert

test_ldap1

test_ldap4

test_user_3

ldappassword auf SunONE und RSA PIN im benutzerdefinierten Modul

Fußnote 8 Der Einfachheit halber wird angenommen, dass alle Benutzer dasselbe Kennwort für das Benutzerverzeichnis verwenden.

Um den Authentifizierungsprozess zu starten, gibt ein Benutzer einen Benutzernamen und ein Kennwort im Anmeldefenster eines EPM System-Produkts ein.

Tabelle 5-6 Benutzerinteraktion und Ergebnisse

Benutzername und Kennwort Authentifizierungsergebnis Anmeldebenutzerverzeichnis
test_user_1/password Erfolgreich Native Directory
test_user_3/RSA_PIN Erfolgreich Native Directory
test_user_3/ldappassword Erfolgreich MSAD (Suchreihenfolge 2)
test_ldap_4/ldappassword Erfolgreich MSAD (Suchreihenfolge 2)
test_ldap_4/RSA PIN Erfolgreich SunONE (Suchreihenfolge 3)

Benutzerverzeichnisse und benutzerdefiniertes Authentifizierungsmodul

Um das benutzerdefinierte Authentifizierungsmodul zu verwenden, können einzelne Benutzerverzeichnisse mit Informationen zu EPM System-Benutzern und -Gruppen so konfiguriert werden, dass die Authentifizierung an das benutzerdefinierte Modul delegiert wird.

EPM System-Benutzer, die mit einem benutzerdefinierten Modul authentifiziert werden, müssen in einem der Benutzerverzeichnisse aus der Suchreihenfolge vorhanden sein (siehe Suchreihenfolge). Das Benutzerverzeichnis muss außerdem so konfiguriert sein, dass die Authentifizierung an das benutzerdefinierte Modul delegiert wird.

Die Identität des Benutzers im benutzerdefinierten Provider (z.B. 1357642 in der RSA SecurID-Infrastruktur) unterscheidet sich möglicherweise vom Benutzernamen in dem Benutzerverzeichnis (z.B. jDoe in Oracle Internet Directory), das in Shared Services konfiguriert wurde. Nach der Benutzerauthentifizierung muss das benutzerdefinierte Authentifizierungsmodul den Benutzernamen jDoe an EPM System zurückgeben.

Hinweis:

Als Best Practice empfiehlt Oracle, für die in EPM System konfigurierten Benutzerverzeichnisse denselben Benutzernamen zu verwenden wie im Benutzerverzeichnis, das vom benutzerdefinierten Authentifizierungsmodul verwendet wird.

Java-Schnittstelle CSSCustomAuthenticationIF

Das benutzerdefinierte Authentifizierungsmodul muss die Java-Schnittstelle CSSCustomAuthenticationIF verwenden, damit es in das EPM System-Sicherheits-Framework integriert werden kann. Bei erfolgreicher benutzerdefinierter Authentifizierung muss es eine Zeichenfolge mit einem Benutzernamen und bei nicht erfolgreicher Authentifizierung eine Fehlermeldung zurückgeben. Damit der Authentifizierungsprozess abgeschlossen werden kann, muss der vom benutzerdefinierten Authentifizierungsmodul zurückgegebene Benutzername in einem der Benutzerverzeichnisse aus der Shared Services-Suchreihenfolge vorhanden sein. Das EPM System-Sicherheits-Framework unterstützt das Format username@providerName.

Hinweis:

Stellen Sie sicher, dass der vom benutzerdefinierten Authentifizierungsmodul zurückgegebene Benutzername kein * (Sternchen) enthält, da das EPM System-Sicherheits-Framework bei der Suche nach Benutzern das Sternchen als Platzhalterzeichen interpretiert.

Informationen zur Signatur der Schnittstelle CSSCustomAuthenticationIF finden Sie unter Beispielcode 1.

Ihr benutzerdefiniertes Authentifizierungsmodul (kann eine Klassendatei sein) muss in der Datei CustomAuth.jar enthalten sein. Die Paketstruktur ist unwichtig.

Ausführliche Informationen zur Schnittstelle CSSCustomAuthenticationIF finden Sie in der Sicherheits-API-Dokumentation.

Die Methode authenticate von CSSCustomAuthenticationIF unterstützt die benutzerdefinierte Authentifizierung. Als Eingabeparameter akzeptiert die Methode authenticate Zugangsdaten (Benutzername und Kennwort), die der Benutzer für den Zugriff auf EPM System eingegeben hat. Diese Methode gibt eine Zeichenfolge (Benutzername) zurück, wenn die benutzerdefinierte Authentifizierung erfolgreich ist. Bei nicht erfolgreicher Authentifizierung gibt sie java.lang.Exception aus. Der von der Methode zurückgegebene Benutzername muss einen Benutzer in einem der Benutzerverzeichnisse aus der Shared Services-Suchreihenfolge eindeutig identifizieren. Das EPM System-Sicherheits-Framework unterstützt das Format username@providerName.

Hinweis:

Verwenden Sie den Klassenkonstruktor, um Ressourcen zu initialisieren, wie z.B. einen JDBC-Verbindungspool. Dadurch wird die Performance verbessert, da Ressourcen nicht für jede Authentifizierung geladen werden.