2016-07-02 9 views
0

Ich habe eine lokale Liberty-Profilinstanz ausgeführt, die mit dem BlueMix SSO-Dienst verbunden ist. Die Authentifizierung scheint zu funktionieren, aber ich bekomme die Gruppen in meinem Betreff nicht.BlueMix SSO Cloud Directory-Gruppenzuordnungssicherheitsrolle funktioniert nicht

In meinem basicRegistry ich dies mit dem Formular Authc:

com.ibm.ws.security.credentials.wscred.WSCredentialImpl [email protected],realmName=BasicRealm,securityName=user1,realmSecurityName=BasicRealm/user1,uniqueSecurityName=user1,primaryGroupId=group:BasicRealm/admin,accessId=user:BasicRealm/user1,groupIds=[group:BasicRealm/admin] 

Wenn ich authentifizieren gegen die Bluemix SSO Cloud-Verzeichnis authc ich diese:

com.ibm.ws.security.credentials.wscred.WSCredentialImpl [email protected],realmName=www.ibm.com,securityName=<ssoservice-name>.iam.ibmcloud.com/www.ibm.com/user1,realmSecurityName=www.ibm.com/<ssoservice-name>.iam.ibmcloud.com/www.ibm.com/user1,uniqueSecurityName=<ssoservice-name>.iam.ibmcloud.com/www.ibm.com/user1,primaryGroupId=null,accessId=user:www.ibm.com/<ssoservice-name>.iam.ibmcloud.com/www.ibm.com/user1,groupIds=[] 

Aber ich kann sehen, dass es wird immer in das Cloud-Verzeichnis, da ich die Gruppen sehen kann, die in den ID-Token-Details zurückkommen: Ansprüche

{"ext":"{\"tenantId\":\"<ssoservice-name>.iam.ibmcloud.com\",\"groups\":[\"allUsers\",\"admin\"], 

Ich habe einige verschiedene Zuordnungen versucht, diese Gruppen zu bekommen, aber ich habe es nicht in der Lage gewesen, um herauszufinden, und ich habe aus Dw und Google-Suchanfragen ausführen:

<security-role name="admin"><group name="admin" access-id="group:www.ibm.com/admin"></group></security-role> 

Ist es möglich, die richtige zu bekommen Konfiguration, um die Gruppen für mein Subject deklarativ korrekt zu füllen? Ich hoffe, tatsächlich mehr als ALL_AUTH_USERS in meinem Autorisierungsschema zu verwenden.

<security-role name="authcUsers"><special-subject type="ALL_AUTHENTICATED_USERS"></special-subject></security-role> 

UPDATE :: 02JUL16 - So scheint es, die Lage sein, bestimmte Benutzer zu holen, user1 unter der Server-Betreiber Rolle zugeordnet wurde, aber die letzte Zuordnung SSO Gruppe funktioniert immer noch nicht.

<security-role name="admin"> 
      <user name="user1" access-id="user:www.ibm.com/<sso-service>.iam.ibmcloud.com/www.ibm.com/user1"/> 
      <group name="admin" access-id="group:BasicRealm/admin"/> 
      <group name="admin" access-id="group:www.ibm.com/<sso-service>.iam.ibmcloud.com/www.ibm.com/admin"/> 

Grüße, John

Antwort

0

Gruppe Rolle in der aktuellen Bluemix SSO-Dienst wird nicht unterstützt. Ihre Beobachtung der Benutzerrolle war korrekt. Sie können Benutzerrollenberechtigung erteilen. Dieser Link gibt das Format an, das Sie angeben müssen, damit der Benutzer den Zugriff zulässt ->https://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/rwlp_config_authorization-roles.html

+0

Danke für die Info. Es scheint, dass die meisten Vorteile von JAAS und/oder JEE-Sicherheit wie @RolesAllowed ("authcUsers") zerstört werden. Sicher wäre es schön zu wissen, ob dies eine vorübergehende Implementierungslücke oder die langfristige Richtung für Bluemix SSO ist, da das Mappen jedes Benutzers für nichts anderes als ALL_AUTHENTICATED_USERS funktioniert. Ich denke, mein Plan ist es, eine @Interceptors (SecurityInterceptor.class) zu verwenden, die nach einer normalen JAAS-Subject-Gruppenmitgliedschaft sucht und, wenn sie nicht gefunden wird, die dort angegebenen ID-Token-Claims für Gruppenmitgliedschaft überprüft oder ablehnt. Nochmals vielen Dank für Ihre Zeit. –

+0

Ja, dies ist eine Strombegrenzung. –