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

[RFC] User Creation by Org Managers #946

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

stephanme
Copy link
Contributor

@stephanme stephanme commented Aug 13, 2024

Allow Org Managers to create users in UAA in order to improve the onboarding procedure for larger developer groups into multi-tenant Cloud Foundry foundations.

Preview

Allow Org Managers to create users in UAA in order to improve the onboarding procedure for larger developer groups into multi-tenant Cloud Foundry foundations.

[Preview](https://github.com/cloudfoundry/community/blob/rfc-cfapiv2-eol/toc/rfc/app-runtime-interfaces/rfc-draft-user-creation-by-org-managers.md)
@stephanme stephanme added the rfc CFF community RFC label Aug 13, 2024
@stephanme stephanme requested review from Gerg, a team, beyhan, ameowlia and ChrisMcGowan and removed request for a team August 13, 2024 13:15
@stephanme
Copy link
Contributor Author

FYI: @cloudfoundry/toc , @cloudfoundry/wg-app-runtime-interfaces-capi-approvers

@beyhan beyhan requested review from a team and rkoster and removed request for a team September 3, 2024 12:21
@Gerg
Copy link
Member

Gerg commented Sep 3, 2024

In this workflow, who or what is granting the user the Org Manager role? Could the Org Manager also be granted an appropriate scope to create users in UAA, instead of CC creating users on their behalf?

@Gerg
Copy link
Member

Gerg commented Sep 3, 2024

cc @cloudfoundry/wg-foundational-infrastructure-identity-and-auth-uaa-approvers

Copy link
Member

@Gerg Gerg left a comment

Choose a reason for hiding this comment

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

Overall, I'm a bit wary of adding a POST request to UAA nested inside of a synchronous CC request. We'd have to contend with issues of timeouts, error handling, audit-ability, etc.

Ideally, we could get the Org Manager users sufficient permissions to create the user in UAA themselves, maybe with the facilitation of the CLI?

- origin=uaa is not allowed
- included suggestions by reviewers
@stephanme
Copy link
Contributor Author

In this workflow, who or what is granting the user the Org Manager role? Could the Org Manager also be granted an appropriate scope to create users in UAA, instead of CC creating users on their behalf?

The initial Org Manager role is assigned by an external onboarding process that uses a technical CF admin user. From then on, the initial Org Manager can grant Org Manager role to additional users using CF CLI or any other CF API client (e.g. terraform).
Assigning a special UAA scope could work for the initial Org Manager (the external onboarding process could assign it) but not anymore for the additional ones - unless it is implemented in the POST /v3/roles endpoint which is even more complex compared to the proposed solution.

Overall, I'm a bit wary of adding a POST request to UAA nested inside of a synchronous CC request. We'd have to contend with issues of timeouts, error handling, audit-ability, etc.

That's a valid point. But on the other hand, POST /v3/roles calls already the UAA to get the user guid and as mitigation, the UAA POSTs are behind a config flag so that foundations that don't need this feature are not impacted.

@beyhan
Copy link
Member

beyhan commented Oct 1, 2024

We discussed this during the TOC meeting on 01.10.2024 and decided to start the FCP with the goal to accept it during the next TOC meeting.

Copy link
Member

@Gerg Gerg left a comment

Choose a reason for hiding this comment

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

I'm still nervous about nesting a synchronous POST request to UAA inside a CC request, but I understand the use case this RFC is trying to solve. I'm fine with this idea as long as it is off by default in cf-d.

I left a couple comments on details that I think should be addressed prior to acceptance.

... and add it as possible future work.
- clarify that an extra UAA client cloud_controller_shadow_user_creation shall be used instead of adding scopes to existing ones
- the new function shall be enabled by an cf-deployment ops file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc CFF community RFC
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

6 participants