-
Notifications
You must be signed in to change notification settings - Fork 8k
iam: idp-initiated doc updates #23598
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
Draft
sarahsanders-docker
wants to merge
2
commits into
main
Choose a base branch
from
idp-initiated
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+55
−27
Draft
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -18,12 +18,59 @@ identity providers (IdPs). SSO can be configured for an entire company, | |
| including all associated organizations, or for a single organization that has a | ||
| Docker Business subscription. | ||
|
|
||
| ## SSO authentication flows | ||
|
|
||
| Docker supports two authentication flows for SSO. | ||
|
|
||
| ### Service-provider initiated (SP-initiated) flow | ||
|
|
||
| Users begin the authentication process from Docker Hub or Docker Desktop. Users | ||
| navigate to Docker's sign-in page and are then redirected to your IdP for | ||
| authentication. | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > This is the default and recommended flow for all SSO connections. | ||
|
|
||
| ### Identity provider-initiated (IdP-initiated) flow | ||
|
|
||
| In the IdP-initiated flow, users start the authentication process directly from | ||
| your IdP's portal or dashboard. After authenticating with the IdP, users are | ||
| automatically redirected to Docker services. | ||
|
|
||
| IdP-initiated flow is: | ||
|
|
||
| - Only available for SAML-based SSO connections | ||
| - Disabled by default | ||
| - Not applicable to OIDC or Azure AD connections | ||
|
|
||
| Enabling IdP-initiated authentication introduces additional security risks | ||
| that you should carefully evaluate: | ||
|
|
||
| - CSRF (Cross-Site Request Forgery) vulnerability: IdP-initiated flows are more | ||
| susceptible to CSRF attacks where malicious actors could potentially trick | ||
| users into unintended authentication actions. | ||
| - Reduced security controls: The SP-initiated flow provides additional | ||
| validation and security checks that may be bypassed in IdP-initiated flows. | ||
| - Session management complexity: IdP-initiated flows can make it more difficult | ||
| to track and manage user sessions consistently. | ||
|
Comment on lines
+55
to
+56
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. thought: Not sure if this last point is true |
||
|
|
||
| For detailed security considerations, see | ||
| [Auth0's guidance on IdP-initiated SSO](https://auth0.com/docs/authenticate/protocols/saml/saml-sso-integrations/idp-initiated-sso). | ||
|
|
||
| > [!WARNING] | ||
| > | ||
| > Only enable IdP-initiated flow if your organization specifically requires it. | ||
| The SP-initiated flow provides better security and is recommended for most use | ||
| cases. | ||
|
|
||
| ## How SSO works | ||
|
|
||
| When SSO is enabled, Docker supports a non-IdP-initiated flow for user sign-in. | ||
| Instead of signing in with a Docker username and password, users are redirected | ||
| to your IdP’s sign-in page. Users must initiate the SSO authentication process | ||
| by signing in to Docker Hub or Docker Desktop. | ||
| When SSO is enabled, users sign in to Docker through your identity provider | ||
| instead of using a Docker username and password. Users must initiate the SSO | ||
| authentication process by signing in to Docker Hub or Docker Desktop | ||
| (SP-initiated), or optionally through your IdP portal if IdP-initiated flow is | ||
| enabled for SAML connections. | ||
|
|
||
| The following diagram illustrates how SSO operates and is managed between | ||
| Docker Hub, Docker Desktop, and your IdP. | ||
|
|
@@ -37,6 +84,8 @@ To configure SSO in Docker, follow these steps: | |
| 1. [Configure your domain](configure.md) by creating and verifying it. | ||
| 1. [Create your SSO connection](connect.md) in Docker and your IdP. | ||
| 1. Link Docker to your identity provider. | ||
| 1. Optional. For SAML connections, enable IdP-initiated flow if required | ||
| by your organization. | ||
| 1. Test your SSO connection. | ||
| 1. Provision users in Docker. | ||
| 1. Optional. [Enforce sign-in](../enforce-sign-in/_index.md). | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: make more clear that users will get signed in into Docker home only (web), but not into Docker Desktop. However, if they try to sign in on DD next, it will pick up the established session.