Wind River

Rehauling Access Management

Rehauling Access Management

At a glance: How we made a clunky RBAC system more tolerable

WindRiver is a global leader in real-time operating systems software—the technology that powers space rovers, military jets, and other mission-critical machines.

I was part of a larger push across the organization to create a unified suite of products and design a centralized area to assign roles and permissions.

My Role

UI Design, Information Architecture

Team

Dylan- Architect + Supervisor

Scotty- Security Lead Developer team

Timeline

May - October 2024

Tools

Figma, Miro, Condens

Problem

Problem

CLI (Command Line Interface) won’t cut it

At the time, Wind River was using a command-line interface to manage Role-Based Access Control (RBAC), which is a system that restricts access to resources based on a user’s role within an organization.

Business Goal

There was a new security requirement from clients: organizational unit-based separation. i.e North America and Europe branches of an organization needed to be completely separated.

Like with most things, it comes down to the bottom line; if we don't re-haul the RBAC architecture to our client's standards, we are going to risk losing some of our largest customers.

There was a new security requirement from clients: organizational unit-based separation. i.e North America and Europe branches of an organization needed to be completely separated.

Like with most things, it comes down to the bottom line; if we don't re-haul the RBAC architecture to our client's standards, we are going to risk losing some of our largest customers.

There was a new security requirement from clients: organizational unit-based separation. i.e North America and Europe branches of an organization needed to be completely separated.

Like with most things, it comes down to the bottom line; if we don't re-haul the RBAC architecture to our client's standards, we are going to risk losing some of our largest customers.

User Problem

Users found the current access control system confusing, convoluted, and difficult to implement correctly. It was not centralized or standardized across all products and only accessible via CLI.

Specific issues include:

  • Lack of visibility into current permissions and roles.

  • Difficult to onboard new team members without strong CLI knowledge.

  • Risk of misconfiguration due to manual entry and lack of validation.

  • Time-consuming for administrators to manage permissions at scale.

Users found the current access control system confusing, convoluted, and difficult to implement correctly. It was not centralized or standardized across all products and only accessible via CLI.

Specific issues include:

  • Lack of visibility into current permissions and roles.

  • Difficult to onboard new team members without strong CLI knowledge.

  • Risk of misconfiguration due to manual entry and lack of validation.

  • Time-consuming for administrators to manage permissions at scale.

Users found the current access control system confusing, convoluted, and difficult to implement correctly. It was not centralized or standardized across all products and only accessible via CLI.

Specific issues include:

  • Lack of visibility into current permissions and roles.

  • Difficult to onboard new team members without strong CLI knowledge.

  • Risk of misconfiguration due to manual entry and lack of validation.

  • Time-consuming for administrators to manage permissions at scale.

Problem

Problem

Requirements

After discussing with various stakeholders, such as several product owners and the security team, we had the following additional requirements:

After discussing with various stakeholders, such as several product owners and the security team, we had the following additional requirements:

After discussing with various stakeholders, such as several product owners and the security team, we had the following additional requirements:

Discover

Discover

Cross-Team Collaboration

UX played a critical role in shaping the hierarchy and architecture of the new RBAC system. By collaborating closely with veteran members of the security team and studying industry standards, we helped define a structure that aligned with real-world mental models.

Research into how leading platforms designed their interfaces also informed a more intuitive and consistent user experience.

UX played a critical role in shaping the hierarchy and architecture of the new RBAC system. By collaborating closely with veteran members of the security team and studying industry standards, we helped define a structure that aligned with real-world mental models.

Research into how leading platforms designed their interfaces also informed a more intuitive and consistent user experience.

UX played a critical role in shaping the hierarchy and architecture of the new RBAC system. By collaborating closely with veteran members of the security team and studying industry standards, we helped define a structure that aligned with real-world mental models.

Research into how leading platforms designed their interfaces also informed a more intuitive and consistent user experience.

Discover

Discover

Personas

Our research team had extensive documentation on user types of our current product, based on company role observed from current users.

We knew that our solution needed to accomodate two primary personas;

Our research team had extensive documentation on user types of our current product, based on company role observed from current users.

We knew that our solution needed to accomodate two primary personas;

Our research team had extensive documentation on user types of our current product, based on company role observed from current users.

We knew that our solution needed to accomodate two primary personas;

Administrators would likely be day-to-day users, and would prefer high information density. Interviews with them showed that prioritize speed and efficiency, most actually preferring CLI because of this.

At the same time, we needed to keep the interface accessible to infrequent users such as managers and team leads.

Administrators would likely be day-to-day users, and would prefer high information density. Interviews with them showed that prioritize speed and efficiency, most actually preferring CLI because of this.

At the same time, we needed to keep the interface accessible to infrequent users such as managers and team leads.

Administrators would likely be day-to-day users, and would prefer high information density. Interviews with them showed that prioritize speed and efficiency, most actually preferring CLI because of this.

At the same time, we needed to keep the interface accessible to infrequent users such as managers and team leads.

Design

Format Exploration

We knew that tables were the most likely format. But due to the design system team doing updates on components, we could give proposals on potential different formats.

We knew that tables were the most likely format. But due to the design system team doing updates on components, we could give proposals on potential different formats.

We knew that tables were the most likely format. But due to the design system team doing updates on components, we could give proposals on potential different formats.

Tripartite Graph

Our security lead observed that managers often struggled to visualize which developers had access to which resources, since access was assigned through groups rather than directly.

This format was preferred by them because it allowed both layers—developers and their associated groups/resources—to be viewed simultaneously. However, it was an unconventional approach, not previously encountered, and posed significant implementation challenges.

Our security lead observed that managers often struggled to visualize which developers had access to which resources, since access was assigned through groups rather than directly.

This format was preferred by them because it allowed both layers—developers and their associated groups/resources—to be viewed simultaneously. However, it was an unconventional approach, not previously encountered, and posed significant implementation challenges.

Our security lead observed that managers often struggled to visualize which developers had access to which resources, since access was assigned through groups rather than directly.

This format was preferred by them because it allowed both layers—developers and their associated groups/resources—to be viewed simultaneously. However, it was an unconventional approach, not previously encountered, and posed significant implementation challenges.

"Master-Detail" Interface

This layout, though less commonly used in modern applications, enables quick viewing and comparison of individual items.

This layout, though less commonly used in modern applications, enables quick viewing and comparison of individual items.

This layout, though less commonly used in modern applications, enables quick viewing and comparison of individual items.

Pros
Efficient to navigate, especially between items
Select different items without loosing context

Pros
Efficient to navigate, especially between items
Select different items without loosing context

Pros
Efficient to navigate, especially between items
Select different items without loosing context

Cons
Non-Standard
Not existing pattern in design system
Less space to display information
Overload of information

Cons
Non-Standard
Not existing pattern in design system
Less space to display information
Overload of information

Cons
Non-Standard
Not existing pattern in design system
Less space to display information
Overload of information

Challenges

Challenges

Tackling Technical Complexity

A huge part of RBAC was the initial setup. Currently that was a largely manual/labour intensive process. Installation itself often took months for a client to complete, one client told us their IT teams were “dreading” the setup related to security and permissions.

LDAP Integration was a huge part of what we needed to consider. The interface in this case study only concerns maintenance, but determining how to efficiently assign roles across hundreds or thousands of users is crucial.

Additional challenges we faced were:

A huge part of RBAC was the initial setup. Currently that was a largely manual/labour intensive process. Installation itself often took months for a client to complete, one client told us their IT teams were “dreading” the setup related to security and permissions.

LDAP Integration was a huge part of what we needed to consider. The interface in this case study only concerns maintenance, but determining how to efficiently assign roles across hundreds or thousands of users is crucial.

Additional challenges we faced were:

A huge part of RBAC was the initial setup. Currently that was a largely manual/labour intensive process. Installation itself often took months for a client to complete, one client told us their IT teams were “dreading” the setup related to security and permissions.

LDAP Integration was a huge part of what we needed to consider. The interface in this case study only concerns maintenance, but determining how to efficiently assign roles across hundreds or thousands of users is crucial.

Additional challenges we faced were:

Bulk Actions

Although not included in the initial rollout of the new RBAC system, bulk actions needed to be considered early to ensure smoother integration in future updates.

Although not included in the initial rollout of the new RBAC system, bulk actions needed to be considered early to ensure smoother integration in future updates.

Although not included in the initial rollout of the new RBAC system, bulk actions needed to be considered early to ensure smoother integration in future updates.

Scalability for Large Orgs

The system had to support complex org structures—multiple divisions, thousands users—methods to manage these, and documentation needed to be created. Additionally, scalability to include bulk actions needed to be included.

One significant point of discussion was how "super" admins would be able to manage users and resources that crossed multiple organizational units. Should they have a centeralized interface, or require separate accounts for each?

The system had to support complex org structures—multiple divisions, thousands users—methods to manage these, and documentation needed to be created. Additionally, scalability to include bulk actions needed to be included.

One significant point of discussion was how "super" admins would be able to manage users and resources that crossed multiple organizational units. Should they have a centeralized interface, or require separate accounts for each?

The system had to support complex org structures—multiple divisions, thousands users—methods to manage these, and documentation needed to be created. Additionally, scalability to include bulk actions needed to be included.

One significant point of discussion was how "super" admins would be able to manage users and resources that crossed multiple organizational units. Should they have a centeralized interface, or require separate accounts for each?

LDAP & Database Connection

Connecting to LDAP and internal databases had to be simplified, with clear guidance and error handling to avoid technical bottlenecks.

Connecting to LDAP and internal databases had to be simplified, with clear guidance and error handling to avoid technical bottlenecks.

Connecting to LDAP and internal databases had to be simplified, with clear guidance and error handling to avoid technical bottlenecks.

Result

Final Design

Ultimately, we ended up going with the more “standard” layout, for ease of implementation and simplicity. 

Ultimately, we ended up going with the more “standard” layout, for ease of implementation and simplicity. 

Ultimately, we ended up going with the more “standard” layout, for ease of implementation and simplicity. 

Retrospective

Where are we now?

By the end of my co-op term, all designs were approved, although implementation wouldn't start until nearly a year later.

By the end of my co-op term, all designs were approved, although implementation wouldn't start until nearly a year later.

By the end of my co-op term, all designs were approved, although implementation wouldn't start until nearly a year later.

Final Thoughts

The majority of time was spent on determining the many intricacies and specific scenarios of implementing RBAC. 

Such as: 

  • What would the viewer, editor, and lead role be able to change/view depending on the resource?

  • How do we handle role hierarchy? Would higher roles inherit all permission from lower roles?

  • How would a user give permissions to someone for a specific resource, but not the entire project?

  • How do we manage temporary access?

And so on.

RBAC might seem like a dry topic to some, but I genuinely enjoyed navigating its complexities and collaborating across teams. It was a valuable learning experience, and I’m grateful it was one of the key projects I contributed to during my time at Wind River.

The majority of time was spent on determining the many intricacies and specific scenarios of implementing RBAC. 

Such as: 

  • What would the viewer, editor, and lead role be able to change/view depending on the resource?

  • How do we handle role hierarchy? Would higher roles inherit all permission from lower roles?

  • How would a user give permissions to someone for a specific resource, but not the entire project?

  • How do we manage temporary access?

And so on.

RBAC might seem like a dry topic to some, but I genuinely enjoyed navigating its complexities and collaborating across teams. It was a valuable learning experience, and I’m grateful it was one of the key projects I contributed to during my time at Wind River.

The majority of time was spent on determining the many intricacies and specific scenarios of implementing RBAC. 

Such as: 

  • What would the viewer, editor, and lead role be able to change/view depending on the resource?

  • How do we handle role hierarchy? Would higher roles inherit all permission from lower roles?

  • How would a user give permissions to someone for a specific resource, but not the entire project?

  • How do we manage temporary access?

And so on.

RBAC might seem like a dry topic to some, but I genuinely enjoyed navigating its complexities and collaborating across teams. It was a valuable learning experience, and I’m grateful it was one of the key projects I contributed to during my time at Wind River.

Let's start creating together

© Amber Zhuang 2025. All Rights Reserved.

Let's start creating together

© Amber Zhuang 2025. All Rights Reserved.

Let's start creating together

© Amber Zhuang 2025. All Rights Reserved.