Skip to content

Commit d81afd8

Browse files
Merge pull request #21262 from sarahsanders-docker/ENGDOCS-2271
Updates to enforce sign-in docs
2 parents aaaee34 + 7e822b4 commit d81afd8

File tree

2 files changed

+38
-33
lines changed

2 files changed

+38
-33
lines changed

content/manuals/security/for-admins/enforce-sign-in/_index.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ receive the [benefits of your organization’s
1616
subscription](../../../subscription/core-subscription/details.md) and they can circumvent [Docker’s
1717
security features](/manuals/security/for-admins/hardened-desktop/_index.md) for your organization.
1818

19-
There are multiple ways you can enforce sign-in, depending on your companies' set up and preferences:
19+
There are multiple methods for enforcing sign-in, depending on your companies' set up and preferences:
2020
- [Registry key method (Windows only)](methods.md#registry-key-method-windows-only){{< badge color=green text="New" >}}
2121
- [`.plist` method (Mac only)](methods.md#plist-method-mac-only){{< badge color=green text="New" >}}
2222
- [`registry.json` method (All)](methods.md#registryjson-method-all)
2323

2424
## How is sign-in enforced?
2525

26-
When Docker Desktop starts and it detects a registry key, a `.plist` file or `registry.json` file, the
26+
When Docker Desktop starts and it detects a registry key, `.plist` file, or `registry.json` file, the
2727
following occurs:
2828

2929
- A **Sign in required!** prompt appears requiring the user to sign
@@ -48,4 +48,9 @@ description and benefits when using each feature.
4848
| Enforce sign-in only | Users must sign in before using Docker Desktop. | Ensures users receive the benefits of your subscription and ensures security features are applied. In addition, you gain insights into users’ activity. |
4949
| Enforce single sign-on (SSO) only | If users sign in, they must sign in using SSO. | Centralizes authentication and enforces unified policies set by the identity provider. |
5050
| Enforce both | Users must sign in using SSO before using Docker Desktop. | Ensures users receive the benefits of your subscription and ensures security features are applied. In addition, you gain insights into users’ activity. Finally, it centralizes authentication and enforces unified policies set by the identity provider. |
51-
| Enforce neither | If users sign in, they can use SSO or their Docker credentials. | Allows users to access Docker Desktop without barriers, but at the cost of reduced security and insights. |
51+
| Enforce neither | If users sign in, they can use SSO or their Docker credentials. | Lets users access Docker Desktop without barriers, but at the cost of reduced security and insights. |
52+
53+
## What's next?
54+
55+
- To enforce sign-in, review the [Methods](/manuals/security/for-admins/enforce-sign-in/methods.md) guide.
56+
- To enforce SSO, review the [Enforce SSO](/manuals/security/for-admins/single-sign-on/connect.md) steps.

content/manuals/security/for-admins/enforce-sign-in/methods.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,28 @@ title: Ways to enforce sign-in for Docker Desktop
55
linkTitle: Methods
66
---
77

8-
This page outlines the different ways you can enforce sign-in for Docker Desktop.
8+
This page outlines the different methods for enforcing sign-in for Docker Desktop.
99

1010
## Registry key method (Windows only)
1111

1212
> [!NOTE]
1313
>
1414
> The registry key method is available with Docker Desktop version 4.32 and later.
1515
16+
To enforce sign-in for Docker Desktop on Windows, you can configure a registry key that specifies your organization's allowed users. The following steps guide you through creating and deploying the registry key to enforce this policy:
17+
1618
1. Create the registry key. Your new key should look like the following:
1719

18-
```console
20+
```console
1921
$ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop
2022
```
21-
2. Create a multi-string value `allowedOrgs`.
23+
2. Create a multi-string value `allowedOrgs`.
2224
> [!IMPORTANT]
2325
>
2426
> Only one entry for `allowedOrgs` is currently supported. If you add more than one value, sign-in enforcement silently fails.
25-
3. As string data use your organizations name, all lowercase.
27+
3. Use your organization's name, all lowercase as string data.
2628
4. Restart Docker Desktop.
27-
5. Open Docker Desktop and when Docker Desktop starts, verify that the **Sign in required!** prompt appears.
29+
5. When Docker Desktop restarts, verify that the **Sign in required!** prompt appears.
2830

2931
In some cases, a system reboot may be necessary for enforcement to take effect.
3032

@@ -34,24 +36,25 @@ In some cases, a system reboot may be necessary for enforcement to take effect.
3436
3537
### Example deployment via Group Policy
3638

37-
The following is only an illustrative example.
38-
39-
There are many ways to deploy the registry key, for example using an MDM solution or with PowerShell scripting. The method you choose is dependent on your organizations infrastructure, security policies, and the administrative rights of the end-users.
39+
The following example outlines how to deploy a registry key to enforce sign-in on Docker Desktop using Group Policy. There are multiple ways to deploy this configuration depending on your organization's infrastructure, security policies, and management tools.
4040

4141
1. Create the registry script. Write a script to create the `HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop` key, add the `allowedOrgs` multi-string, and then set the value to your organization’s name.
4242
2. Within Group Policy, create or edit a Group Policy Objective (GPO) that applies to the machines or users you want to target.
43-
3. Within the GPO, navigate to **Computer Configuration** > **Preferences** > **Windows Settings** > **Registry**.
44-
4. Add the registry item. Right-click on the **Registry** node, select **New** > **Registry Item**.
45-
5. Configure the new registry item to match the registry script you created, specifying the action as **Update**. Make sure you input the correct path, value name (`allowedOrgs`), and value data (your organization’s name).
46-
6. Link the GPO to an Organizational Unit (OU) that contains the machines you want to apply this setting to.
47-
7. Test the GPO. Test the GPO on a small set of machines first to ensure it behaves as expected. You can use the `gpupdate /force` command on a test machine to manually refresh its group policy settings and check the registry to confirm the changes.
48-
8. Once verified, you can proceed with broader deployment. Monitor the deployment to ensure the settings are applied correctly across the organization's computers.
43+
3. Within the GPO, navigate to **Computer Configuration** and select **Preferences**.
44+
4. Select **Windows Settings** then **Registry**.
45+
5. To add the registry item, right-click on the **Registry** node, select **New**, and then **Registry Item**.
46+
6. Configure the new registry item to match the registry script you created, specifying the action as **Update**. Make sure you input the correct path, value name (`allowedOrgs`), and value data (your organization’s name).
47+
7. Link the GPO to an Organizational Unit (OU) that contains the machines you want to apply this setting to.
48+
8. Test the GPO on a small set of machines first to ensure it behaves as expected. You can use the `gpupdate /force` command on a test machine to manually refresh its group policy settings and check the registry to confirm the changes.
49+
9. Once verified, you can proceed with broader deployment. Monitor the deployment to ensure the settings are applied correctly across the organization's computers.
4950

5051
## plist method (Mac only)
5152

5253
> [!NOTE]
5354
>
54-
> The registry key method is available with Docker Desktop version 4.32 and later.
55+
> The `plist` method is available with Docker Desktop version 4.32 and later.
56+
57+
To enforce sign-in for Docker Desktop on macOS, you can use a `plist` file that defines the required settings. The following steps guide you through the process of creating and deploying the necessary `plist` file to enforce this policy:
5558

5659
1. Create the file `/Library/Application Support/com.docker.docker/desktop.plist`.
5760
2. Open `desktop.plist` in a text editor and add the following content, where `myorg` is replaced with your organization’s name all lowercase:
@@ -73,18 +76,16 @@ There are many ways to deploy the registry key, for example using an MDM solutio
7376
> Only one entry for `allowedOrgs` is currently supported. If you add more than one value, sign-in enforcement silently fails.
7477
7578
3. Modify the file permissions to ensure the file cannot be edited by any non-administrator users.
76-
4. Restart Docker Desktop.
77-
5. Open Docker Desktop and when Docker Desktop starts, verify that the **Sign in required!** prompt appears.
79+
4. Restart Docker Desktop.
80+
5. When Docker Desktop restarts, verify that the **Sign in required!** prompt appears.
7881

7982
> [!NOTE]
8083
>
8184
> If a `plist` and `registry.json` file both exist, the `plist` file takes precedence.
8285
83-
### Example deployment
86+
### Example deployment
8487

85-
The following is only an illustrative example.
86-
87-
There are many ways to deploy the `.plist` file. The method you choose is dependent on your organizations infrastructure, security policies, and the administrative rights of the end-users.
88+
The following example outlines how to create and distribute the `plist` file to enforce sign-in on Docker Desktop. There are multiple ways to deploy this configuration depending on your organization's infrastructure, security policies, and management tools.
8889

8990
{{< tabs >}}
9091
{{< tab name="MDM" >}}
@@ -107,22 +108,21 @@ There are many ways to deploy the `.plist` file. The method you choose is depend
107108
2. Before deploying the script across the organization, test it on a local macOS machine to ensure it behaves as expected. Pay attention to directory paths, permissions, and the successful application of `plist` settings.
108109
3. Ensure that you have the capability to execute scripts remotely on macOS devices. This might involve setting up SSH access or using a remote support tool that supports macOS.
109110
4. Use a method of remote script execution that fits your organization's infrastructure. Options include:
110-
- SSH. If SSH is enabled on the target machines, you can use it to execute the script remotely. This method requires knowledge of the device's IP address and appropriate credentials.
111-
- Remote support tool. For organizations using a remote support tool, you can add the script to a task and execute it across all selected machines.
112-
5. Ensure the script is running as expected on all targeted devices. This might involve checking log files or implementing logging within the script itself to report its success or failure.
111+
- SSH: If SSH is enabled on the target machines, you can use it to execute the script remotely. This method requires knowledge of the device's IP address and appropriate credentials.
112+
- Remote support tool: For organizations using a remote support tool, you can add the script to a task and execute it across all selected machines.
113+
5. Ensure the script is running as expected on all targeted devices. You may have to check log files or implement logging within the script itself to report its success or failure.
113114

114115
{{< /tab >}}
115116
{{< /tabs >}}
116117

117118
## registry.json method (All)
118-
119-
The following instructions explain how to create and deploy a `registry.json` file to a single device. There are many ways to deploy the `registry.json` file. You can follow the example deployments outlined in the `.plist` file section. The method you choose is dependent on your organization's infrastructure, security policies, and the administrative rights of the end-users.
119+
120+
The following instructions explain how to create and deploy a `registry.json` file to a single device. There are many ways to deploy the `registry.json` file. You can follow the example deployments outlined in the `.plist` file section. The method you choose is dependent on your organization's infrastructure, security policies, and the administrative rights of the end-users.
120121

121122
### Option 1: Create a registry.json file to enforce sign-in
122123

123-
1. Ensure that the user is a member of your organization in Docker. For more
124+
1. Ensure the user is a member of your organization in Docker. For more
124125
details, see [Manage members](/admin/organization/members/).
125-
126126
2. Create the `registry.json` file.
127127

128128
Based on the user's operating system, create a file named `registry.json` at the following location and make sure the file can't be edited by the user.
@@ -150,8 +150,8 @@ details, see [Manage members](/admin/organization/members/).
150150
4. Verify that sign-in is enforced.
151151

152152
To activate the `registry.json` file, restart Docker Desktop on the user’s machine. When Docker Desktop starts, verify that the **Sign in
153-
required!** prompt appears.
154-
153+
required!** prompt appears.
154+
155155
In some cases, a system reboot may be necessary for the enforcement to take effect.
156156

157157
> [!TIP]

0 commit comments

Comments
 (0)