Configurar la imposición del inicio de sesión
Puedes imponer el inicio de sesión para Docker Desktop utilizando varios métodos. Elige el método que mejor se adapte a la infraestructura y los requisitos de seguridad de tu organización.
Elige tu método
| Método | Plataforma |
|---|---|
| Clave de registro | Solo Windows |
| Perfiles de configuración | Solo Mac |
Archivo plist | Solo Mac |
registry.json | Todas las plataformas |
TipPara Mac, los perfiles de configuración ofrecen la mayor seguridad porque están protegidos por la Protección de Integridad del Sistema (System Integrity Protection - SIP) de Apple.
Windows: Método de clave de registro
Para configurar el método de clave de registro manualmente:
Crea la clave del registro:
$ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker DesktopCrea un valor de cadena múltiple llamado
allowedOrgs.Utiliza los nombres de tu organización como datos de cadena. Puedes agregar múltiples organizaciones:
- Utiliza solo letras minúsculas
- Agrega cada organización en una línea separada
- No utilices espacios ni comas como separadores
Reinicia Docker Desktop.
Verifica que aparezca el mensaje de ¡Inicio de sesión requerido! (Sign in required!) en Docker Desktop.
Despliega la clave de registro en toda tu organización utilizando una Directiva de Grupo (Group Policy):
- Crea un script de registro con la siguiente estructura:
- Ruta:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop - Nombre del valor:
allowedOrgs(cadena múltiple) - Datos del valor: Los nombres de tus organizaciones, uno por línea, solo en minúsculas
- Ruta:
- En la Consola de Administración de Directivas de Grupo (Group Policy Management), crea o edita un GPO.
- Navega a Configuración del equipo (Computer Configuration) > Preferencias (Preferences) > Configuración de Windows (Windows Settings) > Registro (Registry).
- Haz clic derecho en Registro > Nuevo > Elemento de registro (Registry Item).
- Configura el elemento de registro:
- Acción: Actualizar (Update)
- Ruta de la clave:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop - Nombre del valor:
allowedOrgs - Datos del valor: Los nombres de tus organizaciones
- Vincula el GPO a la Unidad Organizativa de destino.
- Realiza pruebas en un grupo pequeño utilizando
gpupdate /force. - Despliégalo en toda la organización tras la verificación.
Mac: Método de perfiles de configuración (recomendado)
Los perfiles de configuración proporcionan el método de imposición más seguro para Mac, ya que están protegidos por la Protección de Integridad del Sistema de Apple.
La carga útil (payload) es un diccionario de valores clave. Docker Desktop admite las siguientes claves:
allowedOrgs: Establece una lista de organizaciones en una sola cadena, donde cada organización está en minúsculas y separada por un punto y coma.overrideProxyHTTP: Establece la URL del proxy HTTP que debe usarse para las solicitudes HTTP salientes.overrideProxyHTTPS: Establece la URL del proxy HTTP que debe usarse para las solicitudes HTTPS salientes.overrideProxyExclude: Omite la configuración del proxy para los hosts y dominios especificados. Utiliza una lista separada por comas.overrideProxyPAC: Establece la ruta del archivo donde se encuentra el archivo PAC. Tiene precedencia sobre el archivo PAC remoto en el proxy seleccionado.overrideProxyEmbeddedPAC: Establece el contenido de un archivo PAC en memoria. Tiene precedencia sobreoverrideProxyPAC.
Anular al menos uno de los ajustes de proxy a través de los perfiles de configuración bloqueará automáticamente los ajustes, ya que serán gestionados por Mac.
- Crea un archivo llamado
docker.mobileconfige incluye el siguiente contenido:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>PayloadType</key> <string>com.docker.config</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadIdentifier</key> <string>com.docker.config</string> <key>PayloadUUID</key> <string>eed295b0-a650-40b0-9dda-90efb12be3c7</string> <key>PayloadDisplayName</key> <string>Docker Desktop Configuration</string> <key>PayloadDescription</key> <string>Configuration profile to manage Docker Desktop settings.</string> <key>PayloadOrganization</key> <string>Your company name</string> <key>allowedOrgs</key> <string>first_org;second_org</string> <key>overrideProxyHTTP</key> <string>http://company.proxy:port</string> <key>overrideProxyHTTPS</key> <string>https://company.proxy:port</string> </dict> </array> <key>PayloadType</key> <string>Configuration</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadIdentifier</key> <string>com.yourcompany.docker.config</string> <key>PayloadUUID</key> <string>0deedb64-7dc9-46e5-b6bf-69d64a9561ce</string> <key>PayloadDisplayName</key> <string>Docker Desktop Config Profile</string> <key>PayloadDescription</key> <string>Config profile to enforce Docker Desktop settings for allowed organizations.</string> <key>PayloadOrganization</key> <string>Your company name</string> </dict> </plist> - Reemplaza los marcadores de posición:
- Cambia
com.yourcompany.docker.configpor el identificador de tu empresa - Reemplaza
Your company namepor el nombre de tu organización, asegurándote de que esté todo en minúsculas - Reemplaza
PayloadUUIDpor un UUID generado aleatoriamente - Actualiza el valor
allowedOrgscon los nombres de tus organizaciones (separados por punto y coma) - Reemplaza
company.proxy:portcon el host (o dirección IP) y puerto del servidor proxy http/https
- Cambia
- Despliega el perfil utilizando tu solución de MDM.
- Verifica que el perfil aparezca en Ajustes del Sistema > General > Gestión de dispositivos en Dispositivo (gestionado). Asegúrate de que el perfil aparezca con el nombre y los ajustes correctos.
Algunas soluciones de MDM te permiten especificar la carga útil como un diccionario simple de ajustes de clave-valor sin el contenedor .mobileconfig completo:
<dict>
<key>allowedOrgs</key>
<string>first_org;second_org</string>
<key>overrideProxyHTTP</key>
<string>http://company.proxy:port</string>
<key>overrideProxyHTTPS</key>
<string>https://company.proxy:port</string>
</dict>Mac: Método de archivo plist
- Crea el archivo
/Library/Application Support/com.docker.docker/desktop.plist. - Agrega este contenido, reemplazando
myorg1ymyorg2con los nombres de tus organizaciones y asegurándote de que tengan solo letras minúsculas:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>allowedOrgs</key> <array> <string>myorg1</string> <string>myorg2</string> </array> </dict> </plist> - Establece los permisos del archivo para evitar que los usuarios que no sean administradores lo editen.
- Reinicia Docker Desktop.
- Verifica que aparezca el mensaje de
Sign in required!en Docker Desktop.
Crea y despliega un script para la distribución en toda la organización:
#!/bin/bash
# Crear el directorio si no existe
sudo mkdir -p "/Library/Application Support/com.docker.docker"
# Escribir el archivo plist
sudo defaults write "/Library/Application Support/com.docker.docker/desktop.plist" allowedOrgs -array "myorg1" "myorg2"
# Establecer los permisos adecuados
sudo chmod 644 "/Library/Application Support/com.docker.docker/desktop.plist"
sudo chown root:admin "/Library/Application Support/com.docker.docker/desktop.plist"Despliega este script mediante SSH, herramientas de soporte remoto o tu método de despliegue preferido.
Todas las plataformas: Método registry.json
El método registry.json funciona en todas las plataformas y ofrece opciones de despliegue flexibles.
Ubicaciones de los archivos
Crea el archivo registry.json (UTF-8 sin BOM) en la ubicación correspondiente:
| Plataforma | Ubicación |
|---|---|
| Windows | /ProgramData/DockerDesktop/registry.json |
| Mac | /Library/Application Support/com.docker.docker/registry.json |
| Linux | /usr/share/docker-desktop/registry/registry.json |
Configuración básica
- Asegúrate de que los usuarios sean miembros de tu organización de Docker.
- Crea el archivo
registry.jsonen la ubicación correspondiente a tu plataforma. - Agrega este contenido, reemplazando los nombres de las organizaciones por los tuyos y asegurándote de que tengan solo letras minúsculas:
{ "allowedOrgs": ["myorg1", "myorg2"] } - Establece los permisos del archivo para evitar que el usuario lo edite.
- Reinicia Docker Desktop.
- Verifica que aparezca el mensaje de
Sign in required!en Docker Desktop.
TipSi los usuarios tienen problemas para iniciar Docker Desktop después de imponer el inicio de sesión, es posible que necesiten actualizar a la versión más reciente.
Windows (PowerShell como Administrador)
Set-Content /ProgramData/DockerDesktop/registry.json '{"allowedOrgs":["myorg1","myorg2"]}'Mac
sudo mkdir -p "/Library/Application Support/com.docker.docker"
echo '{"allowedOrgs":["myorg1","myorg2"]}' | sudo tee "/Library/Application Support/com.docker.docker/registry.json"
Linux
sudo mkdir -p /usr/share/docker-desktop/registry
echo '{"allowedOrgs":["myorg1","myorg2"]}' | sudo tee /usr/share/docker-desktop/registry/registry.json
Crea el archivo registry.json durante la instalación de Docker Desktop:
Windows
# PowerShell
Start-Process '.\Docker Desktop Installer.exe' -Wait 'install --allowed-org=myorg'
# Símbolo del sistema (Command Prompt)
"Docker Desktop Installer.exe" install --allowed-org=myorg1NoteLa bandera
--allowed-orgacepta solo una organización. Para imponer el inicio de sesión para múltiples organizaciones en Mac, configura el archivoregistry.jsondespués de la instalación.
Mac
sudo hdiutil attach Docker.dmg
sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --allowed-org=myorg
sudo hdiutil detach /Volumes/Docker
NoteLa bandera
--allowed-orgacepta solo una organización. Para imponer el inicio de sesión para múltiples organizaciones en Mac, configura el archivoregistry.jsondespués de la instalación.
Precedencia de los métodos
Cuando existen múltiples métodos de configuración en el mismo sistema, Docker Desktop utiliza este orden de precedencia:
- Clave de registro (solo Windows)
- Perfiles de configuración (solo Mac)
- Archivo plist (solo Mac)
- Archivo registry.json
Solución de problemas de la imposición del inicio de sesión
Si la imposición del inicio de sesión no funciona:
- Verifica las ubicaciones y los permisos de los archivos
- Comprueba que los nombres de las organizaciones utilicen letras minúsculas
- Reinicia Docker Desktop o reinicia el sistema
- Confirma que los usuarios sean miembros de las organizaciones especificadas
- Actualiza Docker Desktop a la versión más reciente