-
Notifications
You must be signed in to change notification settings - Fork 8.3k
HD freshness #24666
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
HD freshness #24666
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,12 @@ | ||
| --- | ||
| title: Air-gapped containers | ||
| description: Control container network access with air-gapped containers using custom proxy rules and network restrictions | ||
| keywords: air gapped containers, network security, proxy configuration, container isolation, docker desktop | ||
| description: Restrict outbound container traffic using proxy rules, PAC files, and network isolation with Docker Desktop air-gapped containers | ||
| keywords: air gapped containers, network security, proxy configuration, container isolation, docker desktop, PAC file, network isolation | ||
| aliases: | ||
| - /desktop/hardened-desktop/settings-management/air-gapped-containers/ | ||
| - /desktop/hardened-desktop/air-gapped-containers/ | ||
| - /security/for-admins/hardened-desktop/air-gapped-containers/ | ||
| weight: 30 | ||
| --- | ||
|
|
||
| {{< summary-bar feature_name="Air-gapped containers" >}} | ||
|
|
@@ -14,17 +15,13 @@ Air-gapped containers let you restrict container network access by controlling w | |
|
|
||
| Docker Desktop can configure container network traffic to accept connections, reject connections, or tunnel through HTTP or SOCKS proxies. You control which TCP ports the policy applies to and whether to use a single proxy or per-destination policies via Proxy Auto-Configuration (PAC) files. | ||
|
|
||
| This page provides an overview of air-gapped containers and configuration steps. | ||
|
|
||
| ## Who should use air-gapped containers? | ||
|
|
||
| Air-gapped containers help organizations maintain security in restricted environments: | ||
| Use air-gapped containers if: | ||
|
|
||
| - Secure development environments: Prevent containers from accessing unauthorized external services | ||
| - Compliance requirements: Meet regulatory standards that require network isolation | ||
| - Data loss prevention: Block containers from uploading sensitive data to external services | ||
| - Supply chain security: Control which external resources containers can access during builds | ||
| - Corporate network policies: Enforce existing network security policies for containerized applications | ||
| - Your organisation requires containers to communicate only with approved internal services | ||
| - You need to meet compliance standards that mandate network isolation (such as SOC 2, ISO 27001, or PCI DSS) | ||
| - You want to prevent containers from leaking data or reaching unapproved external endpoints during builds or at runtime | ||
|
|
||
| ## How air-gapped containers work | ||
|
|
||
|
|
@@ -47,8 +44,7 @@ Before configuring air-gapped containers, you must have: | |
|
|
||
| - [Enforce sign-in](/manuals/enterprise/security/enforce-sign-in/_index.md) enabled to ensure users authenticate with your organization | ||
| - A Docker Business subscription | ||
| - Configured [Settings Management](/manuals/enterprise/security/hardened-desktop/settings-management/_index.md) to manage organization policies | ||
| - Downloaded Docker Desktop 4.29 or later | ||
| - Configured [Settings Management](/manuals/enterprise/security/hardened-desktop/settings-management/_index.md) with the `admin-settings.json` file to manage organization policies | ||
|
|
||
| ## Configure air-gapped containers | ||
|
|
||
|
|
@@ -145,7 +141,7 @@ function FindProxyForURL(url, host) { | |
| ### General considerations | ||
|
|
||
| - `FindProxyForURL` function URL parameter format is http://host_or_ip:port or https://host_or_ip:port | ||
| - If you have an internal container trying to access https://docs.docker.com/enterprise/security/hardened-desktop/air-gapped-containers the docker proxy service will submit docs.docker.com for the host value and https://docs.docker.com:443 for the url value to FindProxyForURL, if you are using `shExpMatch` function in your PAC file as follows: | ||
| - If you have an internal container trying to access https://docs.docker.com/enterprise/security/hardened-desktop/air-gapped-containers the Docker proxy service will submit docs.docker.com for the host value and https://docs.docker.com:443 for the url value to `FindProxyForURL`, if you are using `shExpMatch` function in your PAC file as follows: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this meant to be a value, or a link? Maybe put in `s or link...ify it?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good spot! |
||
|
|
||
| ```console | ||
| if(shExpMatch(url, "https://docs.docker.com:443/enterprise/security/*")) return "DIRECT"; | ||
|
|
@@ -230,3 +226,7 @@ $ docker run --rm alpine wget -O- https://docker.io | |
| - PAC file management: Host PAC files on reliable internal infrastructure. Failed PAC downloads result in blocked container network access. | ||
| - Performance considerations: Complex PAC files with many rules may impact container network performance. Keep rules simple and efficient. | ||
|
|
||
| ## Next steps | ||
|
|
||
| - [Explore Enhanced Container Isolation](/manuals/enterprise/security/hardened-desktop/enhanced-container-isolation/_index.md) to further restrict what containers can do at runtime | ||
| - [Understand how Docker Desktop handles host and container networking](/manuals/desktop/features/networking/_index.md) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,15 @@ | ||
| --- | ||
| title: Image Access Management | ||
| description: Control which Docker Hub images developers can access with Image Access Management for enhanced supply chain security | ||
| keywords: image access management, docker official images, verified publisher, supply chain security, docker business, allow list | ||
| keywords: image access management, docker official images, verified publisher, supply chain security, docker business, allow list, image restrictions, pull restrictions | ||
| tags: [admin] | ||
| aliases: | ||
| - /docker-hub/image-access-management/ | ||
| - /desktop/hardened-desktop/image-access-management/ | ||
| - /admin/organization/image-access/ | ||
| - /security/for-admins/image-access-management/ | ||
| - /security/for-admins/hardened-desktop/image-access-management/ | ||
| weight: 40 | ||
| weight: 50 | ||
| --- | ||
|
|
||
| {{< summary-bar feature_name="Hardened Docker Desktop" >}} | ||
|
|
@@ -23,7 +23,7 @@ With Image Access Management, you can restrict access to: | |
| - Organization images: Your organization's private repositories | ||
| - Community images: Public images from individual developers | ||
|
|
||
| You can also use a repository allow list to approve specific repositories that bypass all other access controls. | ||
| You can also use a repository allowlist to approve specific repositories that bypass all other access controls. | ||
|
|
||
| ## Who should use Image Access Management? | ||
|
|
||
|
|
@@ -36,7 +36,7 @@ Common security scenarios include: | |
| - Control access to commercial third-party images | ||
| - Maintain consistent security standards across development teams | ||
|
|
||
| Use the repository allow list when you need to: | ||
| Use the repository allowlist when you need to: | ||
|
|
||
| - Grant access to specific vetted community images | ||
| - Allow essential third-party tools that don't fall under official categories | ||
|
|
@@ -46,16 +46,16 @@ Use the repository allow list when you need to: | |
|
|
||
| Before configuring Image Access Management, you must: | ||
|
|
||
| - [Enforce sign-in](/manuals/enterprise/security/enforce-sign-in/_index.md) to ensure users authenticate with your organization | ||
| - [Enforce sign-in](/manuals/enterprise/security/enforce-sign-in/_index.md). Image Access Management only takes effect when users are signed in to Docker Desktop with organization credentials. | ||
| - Use [personal access tokens (PATs)](/manuals/security/access-tokens.md) for authentication (Organization access tokens aren't supported) | ||
| - Have a Docker Business subscription | ||
|
|
||
| > [!IMPORTANT] | ||
| > | ||
| > Image Access Management only takes effect when users are signed in to Docker Desktop with organization credentials. | ||
|
|
||
| ## Configure image access | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > Image Access Management is turned off by default. Organization owners have access to all images regardless of policy settings. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is it tuned off by default, but Org owners still have access regardless of policy settings? Does this mean it's only tuned off to org members?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oo have clarified! |
||
|
|
||
| To configure Image Access Management: | ||
|
|
||
| 1. Sign in to [Docker Home](https://app.docker.com) and select your organization from the top-left account drop-down. | ||
|
|
@@ -66,22 +66,18 @@ To configure Image Access Management: | |
| - **Community images**: Images contributed by various users that may pose security risks. This category includes Docker-Sponsored Open Source images and is turned off by default. | ||
| - **Docker Verified Publisher Images**: Images from Docker partners in the Verified Publisher program, qualified for secure supply chains. | ||
| - **Docker Official Images**: Curated Docker repositories that provide OS repositories, best practices for Dockerfiles, drop-in solutions, and timely security updates. | ||
| - **Repository allow list**: A list of specific repositories that should be | ||
| - **Repository allowlist**: A list of specific repositories that should be | ||
| allowed. Configure in the next step. | ||
| 1. Optionally, when **Repository allow list** is enabled in the previous step, | ||
| 1. If **Repository allowlist** is enabled in the previous step, | ||
| you can add or remove specific repositories in the allow list: | ||
| - To add repositories, in the **Repository allow list** section, select | ||
| **Add repositories to allow list** and follow the on-screen instructions. | ||
| - To remove a repository, in the **Repository allow list** section, select | ||
| - To add repositories, in the **Repository allowlist** section, select | ||
| **Add repositories to allowlist** and follow the on-screen instructions. | ||
| - To remove a repository, in the **Repository allowlist** section, select | ||
| the trashcan icon next to it. | ||
|
|
||
| Repositories in the allow list are accessible to all organization members regardless of the image type restrictions configured in the previous steps. | ||
|
|
||
| Once restrictions are applied, organization members can view the permissions page in read-only format. | ||
|
|
||
| > [!NOTE] | ||
| > | ||
| > Image Access Management is turned off by default. Organization owners have access to all images regardless of policy settings. | ||
| After restrictions are applied, organization members can view the permissions page in read-only format. | ||
|
|
||
| ## Verify access restrictions | ||
|
|
||
|
|
@@ -103,23 +99,22 @@ Error response from daemon: image access denied: community images not allowed | |
|
|
||
| Image access restrictions apply to all Docker Hub operations including pulls, builds using `FROM` instructions, and Docker Compose services. | ||
|
|
||
| ## Security implementation | ||
|
|
||
| Start with the most restrictive policy and gradually expand based on legitimate business needs: | ||
|
|
||
| 1. Start with: Docker Official Images and Organization images | ||
| 2. Add if needed: Docker Verified Publisher Images for commercial tools | ||
| 3. Carefully evaluate: Community images only for specific, vetted use cases | ||
| 4. Use the repository allow list sparingly: Only add repositories that have been thoroughly vetted and approved through your organization's security review process | ||
|
|
||
| Other security recommendations include: | ||
| ## Best practices | ||
|
|
||
| - Start with the most restrictive policy and gradually expand based on legitimate business needs: | ||
| 1. Start with Docker Official Images and Organization images | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this be ? (I see this pattern in the docs i edit and the fussy ai bot yells at me when i don't use it lol)
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oh this is a list of just 1s....anyway |
||
| 2. If needed, add Docker Verified Publisher Images for commercial tools | ||
| 3. Carefully evaluate community images only for specific, vetted use cases | ||
| 4. Use the repository allowlist sparingly. Only add repositories that have been thoroughly vetted and approved through your organization's security review process | ||
| - Monitor usage patterns: Review which images developers are attempting to pull, identify legitimate requests for additional image types, regularly audit approved image categories for continued relevance, and use Docker Desktop analytics to monitor usage patterns. | ||
| - Regularly review the repository allow list: Periodically audit the repositories in your allow list to ensure they remain necessary and trustworthy, and remove any that are no longer needed or maintained. | ||
| - Layer security controls: Image Access Management works best with Registry Access Management to control which registries developers can access, Enhanced Container Isolation to secure containers at runtime, and Settings Management to control Docker Desktop configuration. | ||
| - Regularly review the repository allow list: Periodically audit the repositories in your allowlist to ensure they remain necessary and trustworthy, and remove any that are no longer needed or maintained. | ||
|
|
||
| ## Scope and bypass considerations | ||
|
|
||
| - Image Access Management only controls access to Docker Hub images. Images from other registries aren't affected by these policies. Use [Registry Access Management](/manuals/enterprise/security/hardened-desktop/registry-access-management.md) to control access to other registries. | ||
| - Users can potentially bypass Image Access Management by signing out of Docker Desktop (unless sign-in is enforced), using images from other registries that aren't restricted, or using registry mirrors or proxies. Enforce sign-in and combine with Registry Access Management for comprehensive control. | ||
| - Image restrictions apply to Dockerfile `FROM` instructions, Docker Compose services using restricted images will fail, multi-stage builds may be affected if intermediate images are restricted, and CI/CD pipelines using diverse image types may be impacted. | ||
|
|
||
| ## Next steps | ||
|
|
||
| - Layer security controls: Image Access Management works best with [Registry Access Management](registry-access-management.md) to control which registries developers can access, [Enhanced Container Isolation](enhanced-container-isolation/_index.md) to secure containers at runtime, and [Settings Management](settings-management/_index.md) to control Docker Desktop configuration. | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -4,7 +4,7 @@ linkTitle: Namespace access | |||||
| description: Control whether organization members can push content to their personal namespaces on Docker Hub | ||||||
| keywords: namespace access, docker hub, personal namespace, organization security, docker business | ||||||
| tags: [admin] | ||||||
| weight: 50 | ||||||
| weight: 60 | ||||||
| --- | ||||||
|
|
||||||
| {{< summary-bar feature_name="Namespace access" >}} | ||||||
|
|
@@ -16,7 +16,7 @@ outside of approved, governed locations. | |||||
|
|
||||||
| When namespace access control is enabled, organization members can still view and pull images | ||||||
| from their personal namespaces and continue accessing all existing repositories | ||||||
| and content. However, they will no longer be able to create new repositories or | ||||||
| and content. However, they are no longer able to create new repositories or | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| push new images to their personal namespace. | ||||||
|
|
||||||
| > [!IMPORTANT] | ||||||
|
|
@@ -36,7 +36,7 @@ To configure namespace access control: | |||||
| 4. Select **Save changes**. | ||||||
|
|
||||||
| Once namespace access control is enabled, organization members can still view their | ||||||
| personal namespace and existing repositories but they will not be able to create | ||||||
| personal namespace and existing repositories but they are not able to create | ||||||
| any new repositories or push any new images to existing repositories. | ||||||
|
|
||||||
| ### Verify access restrictions | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok im not trying to assert the US spelling i think we have it in our style guide but i could be mistaken...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you're not wrong...weird how the ai bot didn't pick this up