Skip to content

Change User Access Administrator to RBAC Administrator role#1949

Merged
flanakin merged 4 commits into
devfrom
fix-rbac-admin-role
Jan 28, 2026
Merged

Change User Access Administrator to RBAC Administrator role#1949
flanakin merged 4 commits into
devfrom
fix-rbac-admin-role

Conversation

@flanakin

Copy link
Copy Markdown
Collaborator

Summary

  • Changed from User Access Administrator role to RBAC Administrator role for managing Cost Management exports
  • Moved the role assignment from the base Exports app to the ManagedExports app, so it is only required when enableManagedExports is true
  • Added changelog entry for this change

Fixes #1946

Test plan

  • Deploy FinOps hub with enableManagedExports=false and confirm User Access Administrator / RBAC Administrator is not required
  • Deploy FinOps hub with enableManagedExports=true and confirm RBAC Administrator role is assigned correctly

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings January 22, 2026 10:18
@microsoft-github-policy-service microsoft-github-policy-service Bot added the Needs: Review 👀 PR that is ready to be reviewed label Jan 22, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This pull request changes the role assignment for managing Cost Management exports from User Access Administrator to RBAC Administrator, and moves the role assignment from the base Exports app to the ManagedExports app so it is only required when enableManagedExports is true.

Changes:

  • Removed User Access Administrator role (GUID: 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9) from the Exports app
  • Added RBAC Administrator role (GUID: f58310d9-a9f6-439a-9e8d-f62e7b41a168) to the ManagedExports app
  • Updated changelog to document this change under v13

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
src/templates/finops-hub/modules/Microsoft.CostManagement/ManagedExports/app.bicep Added RBAC Administrator role assignment to storageRoles array for the ManagedExports app
src/templates/finops-hub/modules/Microsoft.CostManagement/Exports/app.bicep Removed User Access Administrator role assignment from the storageRoles array in the base Exports app
docs-mslearn/toolkit/changelog.md Added changelog entry documenting the role change and movement to ManagedExports app under v13

@RolandKrummenacher

RolandKrummenacher commented Jan 22, 2026

Copy link
Copy Markdown
Collaborator

Tested the enableManagedExports=false. We still need the Role Based Access Control Administrator role for the deployment, but now we can exclude the elevated roles for that role in this scenario (RBAC Admin doesn't need the right to assign RBAC Admin role):

image

@RolandKrummenacher RolandKrummenacher self-requested a review January 22, 2026 17:05
@flanakin flanakin added this to the v13 milestone Jan 23, 2026
flanakin and others added 2 commits January 27, 2026 01:56
- Simplify Invoke-WithRetry with linear backoff retry delay
- Add Set-BlobTriggerSubscription for Event Grid subscription handling
- Detect BlobEventsTrigger by BlobPathBeginsWith property
- Fix variable scoping issues with script block parameters
- Remove SuppressErrors behavior (fail fast)
- Reduce script from 189 to 132 lines
@flanakin flanakin merged commit cfc9c22 into dev Jan 28, 2026
3 of 4 checks passed
@flanakin flanakin deleted the fix-rbac-admin-role branch January 28, 2026 16:42
@flanakin

Copy link
Copy Markdown
Collaborator Author

@microsoft-github-policy-service agree

flanakin added a commit that referenced this pull request Jan 31, 2026
Co-authored-by: Roland Krummenacher <roland.krummenacher@alescent.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs: Review 👀 PR that is ready to be reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cmExports module requires User Access Administrator even when enableManagedExports=false

4 participants