Skip to content

Investigate centralizing authorization for NERC users in Keycloak #948

@knikolla

Description

@knikolla

Motivation

Currently, authorization permissions are pushed via ColdFront to downstream services, such as OpenStack and OpenShift.

These permissions should also be centralized, so that they can be consumed automatically. That is currently the case only for the pi role, which is described as membership to the pi group in Keycloak.

Keycloak has no knowledge of which projects or resource allocations a user or PI has access to, therefore that information can't be included in access_tokens and id_tokens for automating consumption by other services, such as observability, storage, or plugin that automatically sync based on it, etc.

Completion Criteria

Investigate methods for centralizing authorization information in Keycloak. A decision should be made on the groups or role hierarchy and its representation and meaning.

Description

  • Investigate available methods for representing authorization information in Keycloak and how they work in the context of RBAC (global) and scoped RBAC (project/resource allocation).
  • Write a design document based on decided method and get approval.

Completion dates

Desired - 2025-03-14
Required - TBD

Related issue

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions