-
Notifications
You must be signed in to change notification settings - Fork 40
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
IdP certificate rotation #6976
Comments
Silo IdP configurations are annotated as SP-X In all examples it is assuming there is a valid configuration pair already setup on the silo (SP-A, IdP-A) IdP certificate rotation Google Workspace (5 year cert)
Keycloak (10 year cert)
Duo (13?? year cert) Okta (10 year cert)
Very similar flows would be needed for handling expired SP certificates. After walking through these four, all seem to operate under the assumption that the SP can update it's IdP metadata in place to accept new certificates. I still think we should consider allow updates to ease the process for operators and allow us to avoid trying to solve points #2 and #3 above. I'm not sure that the create + delete method provides more protection from lockout than a create + update in place does. While it would be more work, implementing something like revision control over IdP configuration settings would provide both in place updates and allow for options around rollback. |
Another alternative would be to not allow mutations create/update/delete against the silo you are currently authenticated against. This ensures that the user always has a working silo. |
CC @askfongjojo @morlandi7 we probably need to talk about prioritizing this, maybe at the product roundtable. |
@davepacheco @jmpesp What are the current concerns around allowing updates to an IdP configuration (specifically for the case where the logical IdP is not changing)? I know there is the lockout issue, but are there others that we can enumerate? As noted above, creating a new IdP configuration can lead to a new connection on the IdP side which may require a new "application" or "client" on the IdP side. This is fine for testing, but there is definite friction there, and may lead to visible differences to the silo end user. It seems like we can work around the lockout issue with create + test + update vs create + test + delete, or preventing changes to the IdP of the current user's silo (which is the safer of the two). But I'm not sure if there are other issues? |
Currently we do not have support for handling certificate rotations (both for certificates issued by the IdP and the SP).
The current plan is to support a create + delete rotation mechanism so that operators can create a new IdP configuration, perform testing to confirm it works, and then deleting the old configuration. There are a few pieces missing to be able to support this:
name
of the IdP configuration is a unique value that is used in multiple placesPart of this exercise should be mapping out the steps that we expect an operator to take when rotating certificates. I'll work on putting together some examples based on the IdPs we currently support.
The text was updated successfully, but these errors were encountered: