-
Notifications
You must be signed in to change notification settings - Fork 8.1k
security: account association #22817
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
Closed
sarahsanders-docker
wants to merge
9
commits into
docker:main
from
sarahsanders-docker:account-association
Closed
Changes from 3 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
3135c23
draft: account association
sarahsanders-docker b5eda00
review, fix UI steps
sarahsanders-docker d332a86
nit
sarahsanders-docker aa38e12
add summary bar
sarahsanders-docker 0d7a808
feedback round 1
sarahsanders-docker 2633a31
add section to DD sign in docs
sarahsanders-docker 89bab0b
remove troubleshooting
sarahsanders-docker 16145dc
add insights for account-association
sarahsanders-docker 9fcba83
review: fixed nits and UI steps
sarahsanders-docker 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
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
185 changes: 185 additions & 0 deletions
185
content/manuals/security/for-admins/unassociated-machines.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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,185 @@ | ||
| --- | ||
| title: Manage unassociated machines | ||
| description: Learn how to manage unassociated machines using the Docker Admin Console | ||
| keywords: unassociated machines, insights, manage users, enforce sign-in | ||
| weight: 56 | ||
| --- | ||
|
|
||
| Docker administrators can identify, view, and manage Docker Desktop machines | ||
| that should be associated with their organization but aren't currently linked | ||
| to user accounts. This self-service capability helps you understand Docker | ||
| Desktop usage across your organization and streamline user onboarding without | ||
| IT involvement. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - Docker Business subscription | ||
| - Organization owner access to your Docker organization | ||
|
|
||
| ## About unassociated machines | ||
|
|
||
| Docker Desktop machines in your organization may be: | ||
|
|
||
| - Associated: The user has signed in to Docker Desktop and is a member of | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| your organization | ||
| - Unassociated: Docker has identified machines likely belonging to your | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| organization based on usage patterns, but the users haven't signed in or | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| joined your organization | ||
|
|
||
| ## How Docker identifies unassociated machines | ||
|
|
||
| Docker uses telemetry data to identify which machines belong to your | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| organization: | ||
|
|
||
| - Private registry usage: Machines accessing your organization's private | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| container registries | ||
| - Domain matching: Users signed in with email domains associated with your | ||
| organization | ||
| - Registry patterns: Analysis of container registry access patterns that | ||
| indicate organizational usage | ||
|
|
||
| ## View unassociated machines | ||
|
|
||
| To see detailed information about unassociated machines: | ||
|
|
||
| 1. Sign in to the [Admin Console](https://app.docker.com/admin) and select | ||
| your organization. | ||
| 1. In **User management**, select **Unassociated**. | ||
|
|
||
| The machine list displays: | ||
|
|
||
| - Machine ID (Docker-generated identifier) | ||
| - Registry addresses accessed (when available) | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - User email | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - Docker Desktop version | ||
sarahsanders-docker marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - Last activity date | ||
| - Sign-in enforced status | ||
|
|
||
| You can: | ||
|
|
||
| - Export the list as CSV | ||
| - Take actions on individual or multiple machines | ||
|
|
||
| ## Add unassociated machines to your organization | ||
|
|
||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| You can add unassociated machines by: | ||
| - [Auto-provisiong](/manuals/security/for-admins/domain-management.md#auto-provisioning) | ||
| - [SSO user provisioning](/manuals/security/for-admins/provisioning/_index.md) | ||
| - [Manually adding them](#add-unassociated-machines-to-your-organization) | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > If you add users and do not have enough seats in your organization, a | ||
| pop-up will appear prompting you to **Get more seats**. | ||
|
|
||
| ### Add individual users | ||
|
|
||
| 1. Sign in to the [Admin Console](https://app.docker.com/admin) and select | ||
| your organization. | ||
| 1. In **User management**, select **Unassociated**. | ||
| 1. Locate the machine you want to add to your organization. | ||
| 1. Select the **Actions** menu and choose **Add to organization**. | ||
| 1. In the pop-up modal, select **Add user**. | ||
|
|
||
| ### Bulk add users | ||
|
|
||
| 1. Sign in to the [Admin Console](https://app.docker.com/admin) and select | ||
| your organization. | ||
| 1. In **User management**, select **Unassociated**. | ||
| 1. Use the **checkboxes** to select the machines you want to add to your | ||
| organizations. | ||
| 1. Select the **Add to organization** button. | ||
| 1. In the pop-up modal, select **Add users** to confirm. | ||
|
|
||
| ## Enable sign-in enforcement | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Enable for all unassociated machines | ||
|
|
||
| 1. Sign in to the [Admin Console](https://app.docker.com/admin) and select | ||
| your organization. | ||
| 1. In **User management**, select **Unassociated**. | ||
| 1. Turn on the **Require sign-in** toggle. | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 1. In the pop-up modal, select **Require sign-in** to confirm. | ||
|
|
||
| The **Sign-in required** status will update for all unassociated machines to | ||
sarahsanders-docker marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| **Yes**. | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > Sign-in enforcement requires Docker Desktop version 4.37 or later. If you | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| enable enforcement for a user with an older version, their status shows | ||
| as **Pending** until they update Docker Desktop. | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Enable for individual unassociated machines | ||
|
|
||
| 1. Sign in to the [Admin Console](https://app.docker.com/admin) and select | ||
| your organization. | ||
| 1. In **User management**, select **Unassociated**. | ||
| 1. Locate the machine you want to enable sign-in enforcement for. | ||
| 1. Select the **Actions** menu and choose **Turn on sign-in enforcement**. | ||
| 1. In the pop-up modal, select **Require sign-in** to confirm. | ||
|
|
||
| The **Sign-in required** status will update for the individual machine to | ||
| **Yes**. | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > Sign-in enforcement works with Docker Desktop versions 4.37 and later. If you | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| enable sign-in enforcement for a user using an older version of Docker Desktop, | ||
| their **Sign-in required** status will display as **Pending**. | ||
|
|
||
| ## Disable sign-in enforcement | ||
|
|
||
| ### Disable for all unassociated machines | ||
|
|
||
| 1. Sign in to the [Admin Console](https://app.docker.com/admin) and select | ||
| your organization. | ||
| 1. In **User management**, select **Unassociated**. | ||
| 1. Turn off the **Require sign-in** toggle. | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 1. In the pop-up modal, select **Turn off sign-in** to confirm. | ||
|
|
||
| The **Sign-in required** status will update for all unassociated machines to | ||
| **No**. | ||
|
|
||
| ### Disable for specific unassociated machines | ||
|
|
||
| 1. Sign in to the [Admin Console](https://app.docker.com/admin) and select | ||
| your organization. | ||
| 1. In **User management**, select **Unassociated**. | ||
| 1. Locate the machine you want to disable sign-in enforcement for. | ||
| 1. Select the **Actions** menu and choose **Turn off sign-in enforcement**. | ||
| 1. In the pop-up modal, select **Turn off sign-in** to confirm. | ||
|
|
||
| The **Sign-in required** status will update for the individual machine to | ||
| **No**. | ||
|
|
||
| ## Developer experience | ||
|
|
||
| Sign in enforcement only takes effect after a Docker Desktop restart. The | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| following sections outline the developer experience after sign in is enforced | ||
| and Docker Desktop is restarted. | ||
|
|
||
| ### First time sign in on enforced machine | ||
|
|
||
| When a user opens Docker Desktop on an enforced machine, they see a sign-in | ||
| prompt explaining that their organization requires authentication. After | ||
| signing in, users can continue using Docker Desktop immediately. | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > Sign-in enforcement only takes effect after Docker Desktop is restarted. | ||
|
|
||
| ### After sign in | ||
|
|
||
| Once users sign in to enforced machines: | ||
|
|
||
| - With verified domains and auto-provisioning enabled: Users are automatically | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| added to your organization. For more information on verifying a domain and | ||
| enabling auto-provisioning, see [Domain management](/manuals/security/for-admins/domain-management.md). | ||
| - Without auto-provisioning: User emails appear in your the machines management | ||
| view for manual review and addition. To add a user to your organization, | ||
| see [Add unassociated machines to your organization](#add-unassociated-machines-to-your-organization). | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| For common issues and solutions, see [Troubleshoot unassociated machines](/manuals/security/troubleshoot/troubleshoot-unassociated-machines.md). | ||
185 changes: 185 additions & 0 deletions
185
content/manuals/security/troubleshoot/troubleshoot-unassociated-machines.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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,185 @@ | ||
| --- | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| title: Troubleshoot unassociated machines | ||
| description: Learn how to troubleshoot common unassociated account issues. | ||
| keywords: unassociated machines, unassociated accounts, troubleshoot | ||
| tags: [Troubleshooting] | ||
| toc_max: 2 | ||
| --- | ||
|
|
||
| If you experience issues with unassociated machine management, refer to the | ||
| following solutions. | ||
|
|
||
| ## Machine incorrectly identified as belonging to your organization | ||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Possible causes | ||
|
|
||
| - Docker's machine identification algorithm incorrectly associated the machine | ||
| with your organization based on registry usage patterns | ||
| - A contractor or temporary user accessed your organization's registries from | ||
| a personal machine | ||
| - Shared or public registries created false associations | ||
|
|
||
| ### Affected environments | ||
|
|
||
| - All Docker Desktop versions | ||
| - All operating systems | ||
|
|
||
| ### Solution | ||
|
|
||
| Docker can add incorrectly identified machines to an ignore list to prevent | ||
| future appearances. | ||
|
|
||
| [Contact Docker Support](https://hub.docker.com/support/contact) and provide: | ||
|
|
||
| - The machine ID | ||
| - The reason for why the machine doesn't belong to your organization | ||
|
|
||
| ## Users cannot sign in to Docker Desktop after enforcement | ||
|
Check warning on line 37 in content/manuals/security/troubleshoot/troubleshoot-unassociated-machines.md
|
||
sarahsanders-docker marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### Error message | ||
|
|
||
| ```txt | ||
| Sign-in required by your organization | ||
| ``` | ||
|
|
||
| ### Possible causes | ||
|
|
||
| - User is running an outdated version of Docker Desktop that doesn't support | ||
| sign-in enforcement | ||
| - Network connectivity issues preventing authentication | ||
| - User is attempting to sign in with an incorrect email address | ||
|
|
||
| ### Affected environments | ||
|
|
||
| - Docker Desktop versions before 4.37 | ||
| - Networks with restricted internet access | ||
| - Corporate firewalls blocking Docker authentication services | ||
|
|
||
| ### Solution | ||
|
|
||
| 1. Verify the user is running Docker Desktop version 4.37 or later. | ||
| 1. If not, have the user update to the latest version. | ||
| 1. Ensure the user has network access to Docker's authentication services: | ||
| - https://login.docker.com | ||
| - https://auth.docker.io | ||
| 1. Confirm the user is signing in with their work email address. | ||
|
|
||
| If issues persist, temporarily disable enforcement for that specific machine | ||
| while troubleshooting. | ||
|
|
||
| ## Machine is in unassociated list after user signs in | ||
|
Check warning on line 70 in content/manuals/security/troubleshoot/troubleshoot-unassociated-machines.md
|
||
|
|
||
| ### Possible causes | ||
|
|
||
| - Auto-provisioning is not enabled for the user's email domain | ||
| - The user signed in with a personal email address instead of their work email | ||
| - There's a delay in the data refresh cycle | ||
|
|
||
| ### Affected environments | ||
|
|
||
| - Organizations without domain auto-provisioning enabled | ||
| - All Docker Desktop versions | ||
|
|
||
| ### Solution | ||
|
|
||
| **Recommended solution**: | ||
|
|
||
| 1. In the [Admin Console](https://app.docker.com/admin), navigate to **User management** > **Members** | ||
| and check if the user appears in your organization's member list. | ||
| 1. If not visible, go to **User management** > **Unassociated**. | ||
| 1. Look for the machine and verify the email address. | ||
| 1. Select the **Actions** menu and select **Add to organization**. | ||
|
|
||
| **Alternative solution**: | ||
|
|
||
| 1. Enable [auto-provisioning](/manuals/security/for-admins/domain-management.md#auto-provisioning) for your verified domains. | ||
| 2. Ask the user to sign in again with their work email address. | ||
| 3. The user will be automatically added to your organization. | ||
|
|
||
| ## Unassociated machines count seems inaccurate | ||
|
|
||
| ### Possible causes | ||
|
|
||
| - Docker Desktop instances are shared between multiple users | ||
| - Users have multiple Docker Desktop installations (personal and work machines) | ||
| - Data collection limitations due to network restrictions or opt-outs | ||
|
|
||
| ### Affected environments | ||
|
|
||
| - Shared workstations or virtual desktop infrastructure (VDI) | ||
| - Air-gapped or restricted network environments | ||
| - Organizations with users who have opted out of telemetry | ||
|
|
||
| ### Solution | ||
|
|
||
| Review the machine list to identify patterns: | ||
|
|
||
| - Multiple recent activities from the same machine ID may indicate sharing. | ||
| - Consider the registry access patterns show in the **Unassociated** page of | ||
| the Admin Console. | ||
| - For shared machines, enforce sign-in and add users as they authenticate. | ||
| - For air-gapped environments, consider implementing centralized Docker Desktop | ||
| configuration. | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > Docker achieves approximately 97% accuracy in machine identification. | ||
| A ~3% variance is expected and normal. | ||
|
|
||
| ## Sign-in enforcement not working for some machines | ||
|
|
||
| ### Possible causes | ||
|
|
||
| - Machines are running Docker Desktop versions that don't support enforcement | ||
| - Users haven't restarted Docker Desktop since enforcement was enabled | ||
| - Network issues preventing the enforcement check | ||
|
|
||
| ### Steps to replicate | ||
|
|
||
| 1. Enable sign-in enforcement for a machine. | ||
| 1. User opens Docker Desktop. | ||
| 1. View the result: | ||
| - Expected result: Sign-in prompt appears | ||
| - Actual result: No prompt, Docker Desktop works normally | ||
|
|
||
| ### Solution | ||
|
|
||
| 1. Verify the machine is running Docker Desktop 4.37 or later. If not, | ||
| have the user upgrade to the latest version. | ||
| 1. Ask the user to restart Docker Desktop completely. | ||
| 1. Check that the machine ID matches the one in your enforcement list. | ||
| 1. If the issue persists, disable and re-enable enforcement for that specific | ||
| machine. | ||
|
|
||
| ## Auto-provisioning not working after sign-in enforcement | ||
|
|
||
| ### Possible causes | ||
|
|
||
| - Domain auto-provisioning is not enabled | ||
| - User signed in with an unverified domain | ||
| - Organization has reached its seat limit | ||
|
|
||
| ### Affected environments | ||
|
|
||
| - Organizations without verified domains | ||
| - Organizations at seat capacity | ||
|
|
||
| ### Solution | ||
|
|
||
| **Recommended solution**: | ||
|
|
||
| Verify domain auto-provisioning is enabled: | ||
|
|
||
| 1. In the [Admin Console](https://app.docker.com/admin), select **Domain management** | ||
| and confirm auto-provisioning is enabled. | ||
| 1. Ensure the user's email domain is associated with your verified domain. | ||
|
|
||
| Check organization seat usage: | ||
|
|
||
| 1. If at capacity, purchase additional seats or remove inactive users. | ||
| 1. Manually add the user if you can't enable auto-provisioning. | ||
|
|
||
| **Alternative solution**: | ||
|
|
||
| 1. Set up [Single Sign-On (SSO)](/manuals/security/for-admins/single-sign-on/_index.md). | ||
| 1. Enable [Just-in-Time (JIT)](/manuals/security/for-admins/provisioning/just-in-time.md) provisioning through your SSO configuration. | ||
Oops, something went wrong.
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.