Berechtigung für Anwendungen in Liberty konfigurieren

Wenn Sie die Berechtigung für Ihre Anwendung konfigurieren, prüfen Sie, ob ein Benutzer oder eine Gruppe zu einer bestimmten Rolle gehört und ob diese Rolle die Berechtigung zum Zugriff auf einen Service hat.

Informationen zu diesem Vorgang

Der Liberty-Server extrahiert Informationen zu Benutzer- und Gruppenzuordnungen aus einer Benutzerregistry und überprüft dann die Berechtigungskonfiguration für die Anwendung, um zu bestimmen, ob ein Benutzer oder eine Gruppe einer der erforderlichen Rollen zugeordnet ist. Anschließend liest der Server den Implementierungsdeskriptor der Anwendung, um festzustellen, ob der Benutzer oder die Gruppe die Berechtigung für den Zugriff auf die Ressource hat.

Vorgehensweise

  1. Aktivieren Sie das Liberty-Feature appSecurity-2.0 in der Datei server.xml.
    Beispiel:
        <featureManager>
            <feature>appSecurity-2.0</feature>
        </featureManager>
  2. Konfigurieren Sie eine Benutzerregistry für die Berechtigung im Liberty-Server.

    Nähere Informationen hierzu finden Sie im Abschnitt Benutzer in Liberty authentifizieren.

  3. Stellen Sie sicher, dass der Implementierungsdeskriptor für Ihre Anwendung Integritätsbedingungen für die Sicherheit und andere sicherheitsrelevante Informationen umfasst.
    Anmerkung: Sie können auch ein Tool wie Rational Application Developer verwenden, um den Implementierungsdeskriptor zu erstellen.
  4. Konfigurieren Sie die Berechtigunginformationen, wie z. B. die Zuordnung von Benutzern und Gruppen zu Rollen.
    Die Berechtigungstabelle kann auf folgende Art und Weise konfiguriert werden:
    • Wenn Sie eine EAR-Datei haben, können Sie der Datei ibm-application-bnd.xml oder der Datei ibm-application-bnd.xmi die Berechtigungskonfigurationsdefinition hinzufügen.
    • Wenn Sie eigenständige WAR-Dateien haben, können Sie die Definitionen der Berechtigungstabelle in die Datei server.xml unter dem entsprechenden Anwendungselement aufnehmen. Sie können hierzu WebSphere Application Server Developer Tools for Eclipse verwenden.
    Anmerkungen:
    • Wenn Sie eine EAR-Datei haben, ist die Berechtigungskonfiguration möglicherweise bereits vorhanden. In EAR-Dateien, die für die aktuelle Spezifikation geschrieben wurden, sind diese Informationen in einer Datei mit dem Namen ibm-application-bnd.xml gespeichert. In älteren EAR-Dateien sind diese Informationen in einer Datei mit dem Namen ibm-application-bnd.xmi gespeichert.
    • Wenn Ihre EAR-Datei noch keine Datei des Typs ibm-application-bnd.xm* enthält, ist es nicht unkompliziert eine solche Datei zu erstellen, und Sie werden stattdessen vielleicht lieber der Datei server.xml die Berechtigungskonfiguration hinzufügen wollen.
    • Wenn die Berechtigungskonfiguration für die EAR-Datei in einer Datei des Typs ibm-application-bnd.xm* und in einer Datei des Typs server.xml definiert ist, werden die beiden Tabellen zusammengeführt. Wenn es Konflikte gibt, werden die Informationen aus der Datei server.xml verwendet.
    • Wenn Sie die Benutzerregistry ändern, denken Sie daran, die Berechtigungstabelle auf erforderliche Änderungen hin zu überprüfen. Wenn Sie z. B. ein access-id-Element angeben und den Realmnamen der Registry ändern, müssen Sie auch den Realmnamen im Element access-id ändern.
    • Wenn Sie das Element application-bnd in der Datei server.xml angeben, darf sich Ihre Anwendung nicht im Ordner dropins befinden. Wenn Sie die Anwendung im Ordner dropins belassen, müssen Sie die Anwendungsüberwachung inaktivieren, indem Sie Folgendes in der Datei server.xml festlegen:
      <applicationMonitor dropinsEnabled="false" />

    Eine Rolle kann einem Benutzer, einer Gruppe oder einem Sondersubjekt zugeordnet werden. Die beiden Sondersubjekttypen sind EVERYONE und ALL_AUTHENTICATED_USERS. Wenn eine Rolle dem Sondersubjekt EVERYONE zugeordnet ist, gibt es keine Sicherheit, weil alle Benutzer für den Zugriff berechtigt sind und keine Berechtigungsnachweise angefordert werden. Wenn eine Rolle dem Sondersubjekt ALL_AUTHENTICATED_USERS zugeordnet wird, kann jeder von der Anwendung authentifizierte Benutzer auf die geschützte Ressource zugreifen.

    Nachfolgend ist ein Beispielcode zur Konfiguration der Zuordnung von Benutzern/Gruppen zu Rollen in der Datei server.xml aufgeführt:
    <application type="war" id="myapp" name="myapp" location="${server.config.dir}/apps/myapp.war">
    	<application-bnd>
    				<security-role name="user">
    						<group name="students" />
    		</security-role>
    				<security-role name="admin">
    						<user name="gjones" />
                <group name="administrators" />
    		</security-role>
    		<security-role name="AllAuthenticated">
    			<special-subject type="ALL_AUTHENTICATED_USERS"/>
    		</security-role>
    	</application-bnd>
    </application>

    In diesem Beispiel ist die Rolle admin der Benutzer-ID gjones und allen Benutzern in der Gruppe administrators zugeordnet. AllAuthenticatedRole ist dem Sondersubjekt ALL_AUTHENTICATED_USERS zugeordnet, d. h., dass jeder Benutzer Zugriff hat, sofern er gültige Berechtigungsnachweise für die Authentifizierung bereitstellt.

  5. Optional: Konfigurieren Sie eine Berechtigungsentscheidung, wenn keine Anwendungsbindungsinformationen vorliegen.
    Wenn die Bindungsinformationen für die Rollenzuordnung für eine geschützte Anwendung nicht angegeben werden, verwendet die Standardberechtigungsengine den Rollennamen, der die Ressource schützt, als Gruppennamen für diese Rolle. Lautet der Rollennamen beispielsweise "manager", hat ein Benutzer, der zu einer Managergruppe gehört, Zugriff auf diese Ressource. Dies gilt nur, wenn in der Datei server.xml oder in der Anwendungsbindungsdatei keine Anwendungsbindungsinformationen für die Anwendung angegeben sind. Das Hinzufügen der nachstehenden Bindung inaktiviert beispielsweise die Bindung der Sicherheitsrolle zur Gruppe:
    <application type="war" id="myapp" name="myapp" location="${server.config.dir}/apps/myapp.war">
          <application-bnd>
    	     <security-role name="anyAppRoleName"/>
          </application-bnd>
    </application>
    Anmerkung: Damit eine Berechtigung für einen Gruppennamen in der Benutzerregistry erfolgreich ist, muss der Rollenname mit dem vollständigen oder eindeutigen Namen der Gruppe in der Registry übereinstimmen, die konfiguriert ist, und nicht mit dem Kurznamen. Wenn beispielsweise der Kurzname der Gruppe swGroup ist, der vollständige oder eindeutige Name in der Benutzerregistry jedoch CN=swGroup,o=company,c=us lautet, müssen Sie als Rollennamen CN=swGroup,o=company,c=us angeben, damit die Berechtigung erfolgreich funktioniert.

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_sec_rolebased
Dateiname: twlp_sec_rolebased.html