4.3. 使用 OpenID Connect 保护 JBoss EAP 管理控制台
当您使用 OpenID Connect (OIDC)保护 JBoss EAP 管理控制台时,JBoss EAP 会重定向到 OIDC 供应商,供用户登录管理控制台。
先决条件
您已在 OIDC 供应商中配置了所需的客户端。
流程
在
elytron-oidc-client
子系统中配置 OIDC 供应商。语法
/subsystem=elytron-oidc-client/provider=keycloak:add(provider-url=<OIDC_provider_URL>)
Example
/subsystem=elytron-oidc-client/provider=keycloak:add(provider-url=http://localhost:8180/realms/example_jboss_infra)
创建名为
wildfly-management
的secure-deployment
资源,以保护管理界面。语法
/subsystem=elytron-oidc-client/secure-deployment=wildfly-management:add(provider=<OIDC_provider_name>,client-id=<OIDC_client_name>,principal-attribute=<attribute_to_use_as_principal>,bearer-only=true,ssl-required=<internal_or_external>)
Example
/subsystem=elytron-oidc-client/secure-deployment=wildfly-management:add(provider=keycloak,client-id=jboss-management,principal-attribute=preferred_username,bearer-only=true,ssl-required=EXTERNAL)
OPTIONAL:您可以使用以下命令启用基于角色的访问控制(RBAC)。
/core-service=management/access=authorization:write-attribute(name=provider,value=rbac) /core-service=management/access=authorization:write-attribute(name=use-identity-roles,value=true)
创建名为
wildfly-console
的secure-server
资源,该资源引用jboss-console
客户端。语法
/subsystem=elytron-oidc-client/secure-server=wildfly-console:add(provider=<OIDC_provider_name>,client-id=<OIDC_client_name>,public-client=true)
Example
/subsystem=elytron-oidc-client/secure-server=wildfly-console:add(provider=keycloak,client-id=jboss-console,public-client=true)
重要JBoss EAP 管理控制台要求
secure-server
资源专门命名为wildfly-console
。
验证
访问管理控制台。默认情况下,管理控制台位于 http://localhost:9990。
您将被重定向到 OIDC 供应商。
- 使用您在 OIDC 供应商中创建的用户凭证登录。
JBoss EAP 管理控制台现在通过 OIDC 进行保护。