【问题标题】:BlueMix SSO Cloud Directory group mapping security-role not workingBlueMix SSO 云目录组映射安全角色不起作用
【发布时间】:2016-07-05 23:34:38
【问题描述】:

我有一个本地 Liberty Profile 实例正在运行,它连接到 BlueMix SSO 服务。身份验证似乎有效,但我的主题中没有填充组。

在我的 basicRegistry 中,我使用 Form Authc 得到这个:

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

当我对 BlueMix SSO Cloud Directory authc 进行身份验证时,我得到了这个:

com.ibm.ws.security.credentials.wscred.WSCredentialImpl com.ibm.ws.security.credentials.wscred.WSCredentialImpl@5b91df41,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=[]

但我可以看到它正在进入云目录,因为我可以看到在 ID 令牌详细信息中返回的组: 索赔

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

我尝试了几种不同的映射来获取这些组,但我无法弄清楚,我已经用完了 dW 和 google 搜索:

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

是否可以获得正确的配置来以声明方式正确填充我的主题组?我希望在我的授权方案中实际使用更多的 ALL_AUTH_USERS。

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

UPDATE::02JUL16 - 所以它似乎能够获取特定用户,下面的 user1 被映射到管理员角色,但最后一个 SSO 组映射仍然不起作用。

<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"/>

问候, 约翰

【问题讨论】:

    标签: single-sign-on ibm-cloud


    【解决方案1】:

    当前的 Bluemix SSO 服务不支持组角色。您对用户角色的观察是正确的。您可以进行用户角色授权。此链接告诉您需要为用户指定的格式以允许访问 -> https://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/rwlp_config_authorization-roles.html

    【讨论】:

    • 感谢您的信息。似乎破坏了 JAAS 和/或 JEE 安全性的大部分好处,例如 @RolesAllowed("authcUsers")。当然很高兴知道这是一个临时的实施差距还是 Bluemix SSO 的长期方向,因为映射每个用户对 ALL_AUTHENTICATED_USERS 以外的任何东西都不起作用。我想我的计划是使用 @Interceptors(SecurityInterceptor.class) 来检查正常的 JAAS 主题组成员身份,如果没有找到,请检查那里列出的组成员身份的 ID 令牌声明或拒绝。再次感谢您的宝贵时间。
    • 是的,这是当前的限制。
    猜你喜欢
    • 1970-01-01
    • 2014-10-22
    • 2011-05-08
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2017-11-29
    相关资源
    最近更新 更多