Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HAL-1832] Activate OIDC in the console #525

Merged
merged 3 commits into from
Jul 2, 2024
Merged

Conversation

hpehl
Copy link
Contributor

@hpehl hpehl commented May 25, 2023


The UI makes it possible to configure the necessary resources as described in the Elytron admin guide: `docs/src/main/asciidoc/_admin-guide/subsystem-configuration/Elytron_OIDC_Client.adoc`, section "Securing the management console with OpenID Connect".

If the console is secured by the Keycloak OpenID Connect (OIDC) adapter, the "Access Control" top level category shows a screen which summarizes the basic settings. This screen, contains also a link to the Keycloak admin console.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the console is secured by the Keycloak OpenID Connect (OIDC) adapter, ...

I believe you mean secured by Keycloak OpenID Connect (OIDC) provider, as the client part is covered by the native support.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I fixed that and added a bit more context.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks better now, thanks a lot.


== Test Plan

Additional tests are added to the test suite that verify that the hash is visible in the deployment preview.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you going to add the new tests to the new Berg test suite?

Copy link
Contributor Author

@hpehl hpehl May 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I thought someone from QE would be able to add the tests 😬

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK :)


== Test Plan

Additional tests are added to the test suite that verify that the hash is visible in the deployment preview.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional tests are added to the test suite that verify that the hash is visible in the deployment preview.

I haven't read this thoroughly, now I can't imagine what meant by this/what will be verified (which hash, which deployment preview)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, this is a copy/paste issue. Going to fix this...


The console shows the new `elytron-oidc-client` subsystem. The UI for this subsystem is backed by the https://hal.github.io/documentation/concepts/#applications[model browser] which generates a UI based on the resource descriptions.

The UI makes it possible to configure the necessary resources as described in the Elytron admin guide: `docs/src/main/asciidoc/_admin-guide/subsystem-configuration/Elytron_OIDC_Client.adoc`, section "Securing the management console with OpenID Connect". In particular, this means the console makes it possible to add the following resources:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is possible configure RBAC via HAL console?

/core-service=management/access=authorization:write-attribute(name=provider,value=rbac)
/core-service=management/access=authorization:write-attribute(name=use-identity-roles,value=true)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually a good question as the scenario with RBAC access-control is valid in this context, see the documented CLI steps from the base RFE: https://github.com/wildfly/wildfly/pull/16856/files#diff-82d49f155de7505904b2e963e7ecb31f2ab37132f5fb93c2e74dddb6d5a7497dR347

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it is possible to configure RBAC in the console.

Copy link

@kstekovi kstekovi Jun 5, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where? I can't find this setup. Is there also possibility to configure use-identity-roles?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CleanShot 2023-06-05 at 10 49 38

To modify the attribute use-identity-roles you need to use the generic model browser:
CleanShot 2023-06-05 at 11 01 54

* `/subsystem=elytron-oidc-client/secure-deployment=wildfly-management`
* `/subsystem=elytron-oidc-client/secure-server=wildfly-console`

If the console is secured by the Keycloak OpenID Connect (OIDC) provider, the "Access Control" top level category shows a summary of the basic settings. This contains a link to the Keycloak admin console.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "Access Control" top level category is not visible when RBAC access-control is set.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the authenticated user have permission to configure access control themselves once roles are mapped?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, I had user with ADMINISTRATOR role. I didn't saw the "Access Control" tab when RBAC was correctly configured.

There is 7 predefined roles which user can have assigned (monitor, operator, maintainer, deployer, superuser, adminsitrator, auditor)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link behind the "Access Control" top-level category depends on whether SSO is enabled.

  • SSO enabled → Show a summary of the basic SSO settings and a link to the Keycloak admin console.
  • SSO disabled → Show a finder-based UI to configure the users, roles, and groups.

Both options provide a way to enable/disable RBAC. That's independent of SSO. With SSO enabled, the users, groups, and roles are assumed to be configured in Keycloack, though.

Copy link

@kstekovi kstekovi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hpehl thank you for all details how can be configured Web console.

@bstansberry bstansberry merged commit d24ea4c into wildfly:main Jul 2, 2024
@hpehl hpehl deleted the HAL-1832 branch July 3, 2024 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants