fleetdm / fleet

Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center)
https://fleetdm.com
Other
3.07k stars 426 forks source link

Research: Effort required to implement SAML authentication into unboxing flow #10638

Closed lukeheath closed 1 year ago

lukeheath commented 1 year ago

Tasks

Research

https://user-images.githubusercontent.com/4419992/227311113-fb9b3c87-d32f-4d87-a10c-61da6028a634.mov


Note: I had to write some code to validate if the ideas we had actually worked in practice or not, draft PR: https://github.com/fleetdm/fleet/pull/10722/files#

Back-end

Note: other solutions use OpenID Connect instead of SAML to manage this, both fulfill similar needs, but via different mediums. This describes how to integrate SAML because that was the ask of the task and it would certainly be lower effort given some of the logic we already have in place.

Front-end

lukeheath commented 1 year ago

@roperzh I created this research ticket to investigate the effort required to implement SAML authentication into our MDM unboxing flow.

Please let me know if me or anyone else on the team can provide support.

roperzh commented 1 year ago

@lukeheath done, reassigning back to you.

noahtalerman commented 1 year ago

We could reuse the SSO configuration that's set in /settings/organization/sso... Alternatively, provide another set of configs, exactly the same as the ones in /settings/organization/sso...

@roperzh hmm, I think from a UX perspective we want to provide another set of configs. Maybe in some future iteration we'd add UX around using the same values from the existing SSO configuration. Something like a "Use the same SSO you use to log in to Fleet" button.

Roberto, did you get the chance to look into level of effort for these requirements (from #10689)?

  • [ ] End user must agree to end user license agreement (EULA) to continue to next step in set up flow
  • [ ] During local account creation step in set up flow, the username is set to the end user's username from the IdP
  • [ ] During local account creation step in set up flow, the password field requires the password requirements set by a configuration profile (if there is one)
roperzh commented 1 year ago

@noahtalerman sounds good, and thanks for the heads up. I'll update the issue with that.

roperzh commented 1 year ago

@lukeheath @noahtalerman I updated the issue, the only one that I haven't research (apologies) is:

During local account creation step in set up flow, the password field requires the password requirements set by a configuration profile (if there is one)

we can send a profile, but I don't know if it will enforce the settings when the account is created. I'll have to give that a try.

roperzh commented 1 year ago

@lukeheath @noahtalerman sorry for the back-and-forth. I did a (hopefully) final edit to include the items related to the account creation.

noahtalerman commented 1 year ago

@lukeheath @roperzh closing this issue because the research is done.

fleet-release commented 1 year ago

Unboxing flows ease, SAML authentication, Sky-cities merge paths.