Skip to content

Commit 769e4cf

Browse files
dvdksnclaude
andcommitted
sbx: apply feature-owner review feedback on sign-in enforcement
- Frame the feature as part of the AI Governance offering (not a separate paid subscription) - Drop "Hub" from organization/API references to avoid confusion - Remove the manual-logout fallback sentence - Remove the login-time-only / fail-closed / consequences section - Trim the MDM example list to Jamf and Intune (drop unused vocab terms) - Remove the Windows registry-path intro and the Linux weaker-enforcement note Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent c014426 commit 769e4cf

2 files changed

Lines changed: 17 additions & 47 deletions

File tree

_vale/config/vocabularies/Docker/accept.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ JavaScript
128128
JetBrains
129129
JFrog
130130
JUnit
131-
Kandji
132131
Kata
133132
Keycloak
134133
Kerberos
@@ -159,7 +158,6 @@ minikube
159158
misconfiguration
160159
[Mm]ixins?
161160
monorepos?
162-
Mosyle
163161
musl
164162
MySQL
165163
nameserver

content/manuals/ai/sandboxes/governance/sign-in-enforcement.md

Lines changed: 17 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ keywords: docker sandboxes, sign-in enforcement, organization enforcement, sbx l
77
---
88

99
Sign-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
1111
configuration to managed endpoints, and `sbx login` verifies organization
1212
membership after the user authenticates. If the check fails, credentials are
1313
immediately revoked and the user can't run sandboxes.
@@ -17,47 +17,28 @@ bypass organization [governance policies](org.md). Sign-in enforcement closes
1717
that 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

2726
1. 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.
3332
3. If the user belongs to at least one allowed organization, login succeeds and
3433
the credentials are kept.
3534
4. 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.
4139
Other commands require a valid signed-in session, so they fail after a denied
4240
login 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

6344
All 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

8263
If `allowedOrgs` is empty or missing, enforcement is inactive and any
8364
authenticated user can use Docker Sandboxes.
@@ -96,10 +77,10 @@ platform reads it from a native location that ordinary users can't modify.
9677

9778
On 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

10485
The following `.mobileconfig` payload sets the allowed organization and admin
10586
contact 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-
183160
Deploy it through Group Policy, Intune, or any endpoint management tool that can
184161
write registry values.
185162

@@ -249,11 +226,6 @@ isn't owned by root, or is writable by group or other. Any deviation is treated
249226
as a configuration error and `sbx login` is denied with a descriptive message.
250227
Deploying 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

Comments
 (0)