Skip to content

fix: [UIE-9495, UIE-9595] - Permissions fixes for admin users on users pages#13074

Merged
abailly-akamai merged 5 commits intolinode:developfrom
abailly-akamai:UIE-9594-9595
Nov 12, 2025
Merged

fix: [UIE-9495, UIE-9595] - Permissions fixes for admin users on users pages#13074
abailly-akamai merged 5 commits intolinode:developfrom
abailly-akamai:UIE-9594-9595

Conversation

@abailly-akamai
Copy link
Contributor

Description 📝

This PR fixes a couple permission issues on the IAM user screens.

Despite being an account admin, a admin user isn't getting the delete_user & update_user permissions. Those roles are exclusive to being an admin, so is_account_admin (aka unrestricted user) really is the only thing we need to check here (restricted users can't access those screens and don't get any users returned) but I kept the permission checks since we don't want any surprises shall anything change on the API side without our knowledge).

This regression happened as a result of https://github.com/linode/manager/pull/13033/files which actually improves the account permission checks.

Changes 🔄

  • fix permissions on user screens
  • ...

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Target release date 🗓️

11/14/2025

How to test 🧪

Prerequisites

Have an IAM admin account

Reproduction steps

With an unrestricted IAM account

  • Navigate to /iam/users
    • 🚫 can't delete other users
  • Navigate to /iam/users/{username}/details
    • 🚫 can't update user (self or others)

Verification steps

  • Navigate to /iam/users
    • ✅ can delete other users
  • Navigate to /iam/users/{username}/details
    • ✅ can update user (self or others)
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support

  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@abailly-akamai abailly-akamai self-assigned this Nov 10, 2025
@abailly-akamai abailly-akamai changed the title fix: [UIE-9495, UIE-9595] - Fallback for unrestricted account permissions for admin users fix: [UIE-9495, UIE-9595] - Permissions fixes for admin users on users pages Nov 10, 2025
@abailly-akamai abailly-akamai marked this pull request as ready for review November 10, 2025 11:08
@abailly-akamai abailly-akamai requested a review from a team as a code owner November 10, 2025 11:09
Copy link
Contributor

@aaleksee-akamai aaleksee-akamai left a comment

Choose a reason for hiding this comment

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

Confirm that account_admin can delete users and update username and email

@aaleksee-akamai aaleksee-akamai added the Add'tl Approval Needed Waiting on another approval! label Nov 10, 2025
@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Nov 10, 2025
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 5 failing tests on test run #4 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
5 Failing854 Passing13 Skipped42m 12s

Details

Failing Tests
SpecTest
create-firewall.spec.tsCloud Manager Cypress Tests→create firewall » "before all" hook for "creates a firewall without a linode"
create-firewall.spec.tsCloud Manager Cypress Tests→restricted user cannot create firewall » "before each" hook for "confirms the create button is disabled on the Firewall Landing page"
update-stackscripts.spec.tsCloud Manager Cypress Tests→Update stackscripts » updates a StackScript
vpc-details-page.spec.tsCloud Manager Cypress Tests→VPC details page » can create, edit, and delete a subnet from the VPC details page
create-stackscripts.spec.tsCloud Manager Cypress Tests→Create stackscripts » creates a StackScript and deploys a Linode with it

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/firewalls/create-firewall.spec.ts,cypress/e2e/core/stackscripts/update-stackscripts.spec.ts,cypress/e2e/core/vpc/vpc-details-page.spec.ts,cypress/e2e/core/stackscripts/create-stackscripts.spec.ts"

@abailly-akamai abailly-akamai merged commit aaeabe8 into linode:develop Nov 12, 2025
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Nov 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants