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

User/Group lifecycle management #41

Merged
merged 8 commits into from
Jan 29, 2025
Merged

User/Group lifecycle management #41

merged 8 commits into from
Jan 29, 2025

Conversation

dhs-BI
Copy link
Contributor

@dhs-BI dhs-BI commented Jan 21, 2025

I reworked the table to focus on the controls that IPSIE seeks to establish at P1/P2/P3. Each of the cells in the table establishes one or more controls to be met.

This is a strawman to help us continue the discussion from today's call.

first draft, needs more work
Following discussion on January 21, 2025 call, I reworked the lifecycle management table.
@dhs-BI dhs-BI requested a review from aaronpk January 21, 2025 23:06
@aaronpk
Copy link
Collaborator

aaronpk commented Jan 21, 2025

This is a great improvement! The only thing I'm not sure about is the entitlements part, since it sounded like the discussion was leaning towards either leaving entitlements/authorization entirely out of scope or considering it separately.

@dhs-BI
Copy link
Contributor Author

dhs-BI commented Jan 22, 2025

Happy to remove the entitlements bit if necessary. Personally, I see entitlements as part of provisioning/deprovisioning, but I'm not going to get hung up on that detail.

Moved entitlements to a separate set of IPSIE Levels E#.

I'll remove IPSIE P3 later.
Further clean up.

E1 seems unnecessary, consider removing it.

Choose a reason for hiding this comment

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

Largely, this looks good! Two thoughts:

  • Imagine an application supports JIT, and when it receives a JIT request it default makes everyone a system admin. This app would be IPSIE P1 compliant. To raise the security bar, we should include language that says if the app receives a JIT request that does not specify permission level, the minimum permissions possible in the app should be applied.
  • I think we should do 2 levels for Entitlements (lets delete the current E1 and keep E2 and E3 only). An app that gives no ability for the IdP to manage entitlements (E1) should not be IPSIE compliant.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks @2MarkMaguire. I agree with your point on entitlements, I'll move E2 / E3 down a level and eliminate what is currently listed as E1.

What do you suggest for the JIT provisioning? As we start writing the profile does it make sense to include a requirement that the JIT provisioning includes some kind of entitlements data (groups, roles, attributes to drive ABAC, etc.)? Or do we include some non-normative text on the risks of excessive entitlements with JIT?

Choose a reason for hiding this comment

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

Regarding JIT, maybe we include some language that says "If an access level is not specified when the account is created by the JIT process, the application must create the account with the least privileges possible in the application"? Something to that effect that says minimum access/least privileges unless the IdP explicitly said in its request give more access than that.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I like the idea in theory, but this feels like it's really towing the line between interop and policy. I don't think we should have any "MUST" language that describes policy of what a party does, but we could recommend it with a SHOULD since this point in particular is a good one.

Choose a reason for hiding this comment

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

Good point, "should" works for me!

Following an offline discussion with @aaronpk, I have added an intro to provide clarity that the levels are expected to be adhered to by RPs/apps.  It is likely this language needs further adjustment, readers should consider this as a starting place for further discussion.
Quick search and replace change of these terms.
changed the terminology following the discussion on the January 28, 2025 WG call.
@dhs-BI
Copy link
Contributor Author

dhs-BI commented Jan 29, 2025

I removed the framing in the introduction and updated the terminology across both the levels and terminology doc.

@aaronpk please review and merge this change. Dick can make the changes he suggested to the table.

@aaronpk aaronpk merged commit d5c9c73 into main Jan 29, 2025
@aaronpk aaronpk deleted the dhs-BI-controls-1 branch January 29, 2025 15:10
@dhs-BI dhs-BI mentioned this pull request Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants