Skip to content

Commit e20141c

Browse files
iam: sso session limit (#22312)
## Description - IAM is adding an SSO attribute `dockerSessionMinutes` to support IdP default session timeout - This PR adds the attribute, and fixes FAQs that says Docker does not support IdP default timeout ## Related issues or tickets - [IAM-1046](https://docker.atlassian.net/browse/IAM-1046) ## Reviews - [ ] Technical review - [ ] Editorial review - [ ] Product review [IAM-1046]: https://docker.atlassian.net/browse/IAM-1046?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
1 parent 256da1a commit e20141c

File tree

4 files changed

+16
-15
lines changed

4 files changed

+16
-15
lines changed

content/manuals/security/faqs/general.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,12 @@ You can configure this through SSO using your IdP. Check with your IdP if they s
3131

3232
### How are sessions managed and do they expire?
3333

34-
Docker uses tokens to manage sessions after a user signs in:
34+
By default, Docker uses tokens to manage sessions after a user signs in:
3535

3636
- Docker Desktop signs you out after 90 days, or 30 days of inactivity.
3737
- Docker Hub and Docker Home sign you out after 24 hours.
3838

39-
Custom settings per organization for sessions aren't supported. Currently,
40-
Docker does not support your IdP's default session timeout for SSO users.
39+
Docker also supports your IdP's default session timeout. You can configure this by setting a Docker session minutes SAML attribute. For more information, see [SSO attributes](/manuals/security/for-admins/provisioning/_index.md#sso-attributes).
4140

4241
### How does Docker attribute downloads to us and what data is used to classify or verify the user is part of our organization?
4342

content/manuals/security/faqs/single-sign-on/faqs.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,5 @@ No. There are no specific firewall rules required for configuring SSO, as long a
6565

6666
### Does Docker use my IdP's default session timeout?
6767

68-
No. Currently, Docker does not support your IdP's default session timeout for
69-
SSO users.
70-
71-
Docker's default user session timeouts are as follows:
72-
73-
- Docker Desktop signs you out after 90 days, or 30 days of inactivity.
74-
- Docker Hub and Docker Home sign you out after 24 hours.
68+
Yes, Docker supports your IdP's default session timeout using a custom SAML attribute.
69+
Instead of relying on the standard `SessionNotOnOrAfter` element from the SAML spec, Docker uses a custom `dockerSessionMinutes` attribute to control session duration. See [SSO attributes](/manuals/security/for-admins/provisioning/_index.md#sso-attributes) for more information.

content/manuals/security/for-admins/provisioning/_index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ When a user signs in through SSO, Docker obtains several attributes from your Id
3838
- **Docker Org**: Optional. Specifies the organization the user belongs to
3939
- **Docker Team**: Optional. Defines the team the user belongs to within the organization
4040
- **Docker Role**: Optional. Determines the user's permission within Docker
41+
- **Docker session minutes**: Optional. Sets the duration of a user’s session before they must re-authenticate with their identity provider (IdP). The value must be a positive integer greater than 0.
42+
If this is attribute is not provided, by default:
43+
- Docker Desktop signs you out after 90 days, or 30 days of inactivity.
44+
- Docker Hub and Docker Home sign you out after 24 hours.
4145

4246
If your organization uses SAML for SSO, Docker retrieves these attributes from the SAML assertion message. Keep in mind that different IdPs may use different names for these attributes. The following reference table outlines possible SAML attributes used by Docker:
4347

@@ -49,6 +53,7 @@ If your organization uses SAML for SSO, Docker retrieves these attributes from t
4953
| Docker Org (optional) | `dockerOrg` |
5054
| Docker Team (optional) | `dockerTeam` |
5155
| Docker Role (optional) | `dockerRole` |
56+
| Docker session minutes (optional) | `dockerSessionMinutes`, must be a positive integer > 0 |
5257

5358
## What's next?
5459

content/manuals/security/for-admins/single-sign-on/connect.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,10 @@ The user interface for your IdP may differ slightly from the following steps. Re
7878
- Name ID format: `EmailAddress`
7979
- Application username: `Email`
8080
- Update application on: `Create and update`
81-
11. Select **Next**.
82-
12. Select the **This is an internal app that we have created** checkbox.
83-
13. Select **Finish**.
81+
11. Optional. Add SAML attributes. See [SSO attributes](/manuals/security/for-admins/provisioning/_index.md#sso-attributes) for a table of SSO attributes.
82+
12. Select **Next**.
83+
13. Select the **This is an internal app that we have created** checkbox.
84+
14. Select **Finish**.
8485

8586
{{< /tab >}}
8687
{{< tab name="Entra ID SAML 2.0" >}}
@@ -94,8 +95,9 @@ The user interface for your IdP may differ slightly from the following steps. Re
9495
7. Enter the following values from Docker into their corresponding Azure fields:
9596
- Docker Entity ID: **Identifier**
9697
- Docker ACS URL: **Reply URL**
97-
8. Save configuration.
98-
9. From the **SAML Signing Certificate** section, download your **Certificate (Base64)**.
98+
8. Optional. Add SAML attributes. See [SSO attributes](/manuals/security/for-admins/provisioning/_index.md#sso-attributes) for a table of SSO attributes.
99+
9. Save configuration.
100+
10. From the **SAML Signing Certificate** section, download your **Certificate (Base64)**.
99101

100102
{{< /tab >}}
101103
{{< tab name="Azure Connect (OIDC)" >}}

0 commit comments

Comments
 (0)