@@ -7,7 +7,7 @@ keywords: docker sandboxes, sign-in enforcement, organization enforcement, sbx l
77---
88
99Sign-in enforcement restricts Docker Sandboxes to users who are members of
10- specific Docker Hub organizations. An administrator deploys an enforcement
10+ specific Docker organizations. An administrator deploys an enforcement
1111configuration to managed endpoints, and ` sbx login ` verifies organization
1212membership after the user authenticates. If the check fails, credentials are
1313immediately revoked and the user can't run sandboxes.
@@ -17,47 +17,28 @@ bypass organization [governance policies](org.md). Sign-in enforcement closes
1717that gap at the endpoint, where users can't override it.
1818
1919> [ !NOTE]
20- > Sandbox organization governance is available on a separate paid
21- > subscription.
20+ > Sign-in enforcement is part of Docker's AI Governance offering.
2221> [ Contact Docker Sales] ( https://www.docker.com/products/ai-governance/#contact-sales )
23- > to request access .
22+ > to learn more .
2423
2524## How it works
2625
27261 . An administrator deploys an enforcement configuration to managed endpoints
2827 through MDM, Group Policy, or configuration management, specifying one or
29- more allowed Docker Hub organization slugs.
30- 2 . When a user runs ` sbx login ` , they authenticate with Docker Hub . Credentials
31- are saved temporarily, then Docker Sandboxes calls the Docker Hub API to
28+ more allowed Docker organization slugs.
29+ 2 . When a user runs ` sbx login ` , they authenticate with Docker. Credentials
30+ are saved temporarily, then Docker Sandboxes calls the Docker API to
3231 verify organization membership.
33323 . If the user belongs to at least one allowed organization, login succeeds and
3433 the credentials are kept.
35344 . If not, Docker Sandboxes immediately revokes the saved credentials and the
3635 user receives an [ error message] ( #error-messages ) listing the required
37- organizations. If the revocation fails, for example due to a keychain error,
38- the user is instructed to run ` sbx logout ` manually.
36+ organizations.
3937
4038` sbx login ` and ` sbx logout ` always run regardless of organization membership.
4139Other commands require a valid signed-in session, so they fail after a denied
4240login until the user signs in with an allowed account.
4341
44- Enforcement applies at login time only. There's no per-command or per-request
45- check. This has a few key consequences:
46-
47- - Enforcement is fail-closed. If the Docker Hub API is unreachable or returns
48- an error, login is denied. Users can't bypass enforcement by going offline.
49- - Users who are already signed in aren't affected immediately. If a user was
50- signed in before the configuration was deployed, they keep their session
51- until it ends. To re-trigger the check, they run ` sbx login ` again.
52- - Automatic sign-in is also checked. If a user's Docker session expires while
53- they use the CLI from an interactive terminal, the CLI starts the sign-in
54- flow automatically, and the enforcement check runs against that sign-in the
55- same way it does for an explicit ` sbx login ` .
56-
57- > [ !NOTE]
58- > A denied user is signed out, so they can't run ` sbx ls ` or ` sbx rm ` to clean
59- > up existing sandboxes until they sign in with an allowed account.
60-
6142## Enforcement configuration
6243
6344All platforms express the same logical schema. The canonical JSON
@@ -72,12 +53,12 @@ representation:
7253}
7354```
7455
75- | Field | Type | Required | Description |
76- | ------------- | --------------- | -------- | ------------------------------------------------------------------------------------------------------- |
77- | ` allowedOrgs ` | list of strings | Yes | Docker Hub organization slugs. The user must be a member of at least one. Matching is case-insensitive. |
78- | ` adminName ` | string | No | Administrator or team display name shown in the denial message. |
79- | ` adminEmail ` | string | No | Contact email shown in the denial message. |
80- | ` adminURL ` | string | No | Help desk or access-request URL shown in the denial message. |
56+ | Field | Type | Required | Description |
57+ | ------------- | --------------- | -------- | --------------------------------------------------------------------------------------------------- |
58+ | ` allowedOrgs ` | list of strings | Yes | Docker organization slugs. The user must be a member of at least one. Matching is case-insensitive. |
59+ | ` adminName ` | string | No | Administrator or team display name shown in the denial message. |
60+ | ` adminEmail ` | string | No | Contact email shown in the denial message. |
61+ | ` adminURL ` | string | No | Help desk or access-request URL shown in the denial message. |
8162
8263If ` allowedOrgs ` is empty or missing, enforcement is inactive and any
8364authenticated user can use Docker Sandboxes.
@@ -96,10 +77,10 @@ platform reads it from a native location that ordinary users can't modify.
9677
9778On macOS, the configuration is a managed preferences domain, ` com.docker.sbx ` .
9879
99- Deploy it through any MDM solution, such as Jamf, Mosyle, Kandji, Intune, or
100- Fleet, as a custom configuration profile. MDM-deployed profiles take precedence
101- over user-level preferences and can only be removed by removing the device from
102- MDM management, so users can't override them.
80+ Deploy it through any MDM solution, such as Jamf or Intune, as a custom
81+ configuration profile. MDM-deployed profiles take precedence over user-level
82+ preferences and can only be removed by removing the device from MDM management,
83+ so users can't override them.
10384
10485The following ` .mobileconfig ` payload sets the allowed organization and admin
10586contact details:
@@ -176,10 +157,6 @@ settings in the same domain are ignored.
176157{{< /tab >}}
177158{{< tab name="Windows" >}}
178159
179- On Windows, the configuration is the registry key
180- ` HKLM\SOFTWARE\Policies\Docker\SBX ` . The ` HKLM\SOFTWARE\Policies\ ` hive is
181- writable only by administrators.
182-
183160Deploy it through Group Policy, Intune, or any endpoint management tool that can
184161write registry values.
185162
@@ -249,11 +226,6 @@ isn't owned by root, or is writable by group or other. Any deviation is treated
249226as a configuration error and ` sbx login ` is denied with a descriptive message.
250227Deploying with the commands above passes these checks.
251228
252- > [ !NOTE]
253- > Linux enforcement is weaker than macOS and Windows because users with sudo
254- > access can modify or delete the file. This is an industry-wide limitation for
255- > developer workstations.
256-
257229{{< /tab >}}
258230{{< /tabs >}}
259231
0 commit comments