Façons de forcer la connexion pour Docker Desktop
Cette page décrit les différentes méthodes pour forcer la connexion pour Docker Desktop.
Méthode clé de registre (Windows uniquement)
NoteLa méthode clé de registre est disponible avec Docker Desktop version 4.32 et ultérieure.
Pour forcer la connexion pour Docker Desktop sur Windows, vous pouvez configurer une clé de registre qui spécifie les utilisateurs autorisés de votre organisation. Les étapes suivantes vous guident dans la création et le déploiement de la clé de registre pour appliquer cette politique :
-
Créez la clé de registre. Votre nouvelle clé devrait ressembler à ce qui suit :
$ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop
-
Créez une valeur multi-chaîne
allowedOrgs
.ImportantÀ partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.
-
Utilisez le nom de votre organisation, tout en minuscules comme données de chaîne. Si vous ajoutez plus d'une organisation, assurez-vous qu'elles sont toutes sur leur propre ligne. N'utilisez aucun autre séparateur comme des espaces ou des virgules.
-
Redémarrez Docker Desktop.
-
Quand Docker Desktop redémarre, vérifiez que l'invite Connexion requise ! apparaît.
Dans certains cas, un redémarrage système peut être nécessaire pour que l'application prenne effet.
NoteSi une clé de registre et un fichier
registry.json
existent tous les deux, la clé de registre a la priorité.
Exemple de déploiement via Group Policy
L'exemple suivant décrit comment déployer une clé de registre pour forcer la connexion sur Docker Desktop en utilisant Group Policy. Il existe plusieurs façons de déployer cette configuration selon l'infrastructure de votre organisation, les politiques de sécurité, et les outils de gestion.
- Créez le script de registre. Écrivez un script pour créer la clé
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Docker\Docker Desktop
, ajoutez la multi-chaîneallowedOrgs
, puis définissez la valeur au nom de votre organisation. - Dans Group Policy, créez ou modifiez un Objectif de Politique de Groupe (GPO) qui s'applique aux machines ou utilisateurs que vous voulez cibler.
- Dans le GPO, naviguez vers Configuration Ordinateur et sélectionnez Préférences.
- Sélectionnez Paramètres Windows puis Registre.
- Pour ajouter l'élément de registre, cliquez droit sur le nœud Registre, sélectionnez Nouveau, puis Élément de Registre.
- Configurez le nouvel élément de registre pour correspondre au script de registre que vous avez créé, spécifiant l'action comme Mettre à jour. Assurez-vous d'entrer le chemin correct, le nom de valeur (
allowedOrgs
), et les données de valeur (noms de vos organisations). - Liez le GPO à une Unité Organisationnelle (OU) qui contient les machines auxquelles vous voulez appliquer ce paramètre.
- Testez le GPO sur un petit ensemble de machines d'abord pour vous assurer qu'il se comporte comme attendu. Vous pouvez utiliser la commande
gpupdate /force
sur une machine de test pour actualiser manuellement ses paramètres de politique de groupe et vérifier le registre pour confirmer les changements. - Une fois vérifié, vous pouvez procéder avec un déploiement plus large. Surveillez le déploiement pour vous assurer que les paramètres sont appliqués correctement sur les ordinateurs de l'organisation.
Méthode profils de configuration (Mac uniquement)
Les profils de configuration sont une fonctionnalité de macOS qui vous permet de distribuer des informations de configuration aux Macs que vous gérez. C'est la méthode la plus sûre pour forcer la connexion sur macOS car les profils de configuration installés sont protégés par la Protection d'Intégrité Système (SIP) d'Apple et ne peuvent donc pas être altérés par les utilisateurs.
-
Sauvegardez le fichier XML suivant avec l'extension
.mobileconfig
, par exempledocker.mobileconfig
:<?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>Configuration Docker Desktop</string> <key>PayloadDescription</key> <string>Profil de configuration pour gérer les paramètres Docker Desktop.</string> <key>PayloadOrganization</key> <string>Nom de Votre Entreprise</string> <key>allowedOrgs</key> <string>première_org;seconde_org</string> </dict> </array> <key>PayloadType</key> <string>Configuration</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadIdentifier</key> <string>com.votreentreprise.docker.config</string> <key>PayloadUUID</key> <string>0deedb64-7dc9-46e5-b6bf-69d64a9561ce</string> <key>PayloadDisplayName</key> <string>Profil Config Docker Desktop</string> <key>PayloadDescription</key> <string>Profil de config pour appliquer les paramètres Docker Desktop pour les organisations autorisées.</string> <key>PayloadOrganization</key> <string>Nom de Votre Entreprise</string> </dict> </plist>
-
Changez les espaces réservés
com.votreentreprise.docker.config
etNom de Votre Entreprise
au nom de votre entreprise. -
Ajoutez le nom de votre organisation. Les noms des organisations autorisées sont stockés dans la propriété
allowedOrgs
. Elle peut contenir soit le nom d'une seule organisation ou une liste de noms d'organisation, séparés par un point-virgule :<key>allowedOrgs</key> <string>première_org;seconde_org</string>
-
Utilisez une solution MDM pour distribuer votre fichier
.mobileconfig
modifié à vos clients macOS. -
Vérifiez que le profil est ajouté à la liste des profils Appareil (Géré) (Paramètres Système > Général > Gestion d'Appareil) sur vos clients macOS.
Méthode plist (Mac uniquement)
NoteLa méthode
plist
est disponible avec Docker Desktop version 4.32 et ultérieure.
Pour forcer la connexion pour Docker Desktop sur macOS, vous pouvez utiliser un fichier plist
qui définit les paramètres requis. Les étapes suivantes vous guident dans le processus de création et déploiement du fichier plist
nécessaire pour appliquer cette politique :
-
Créez le fichier
/Library/Application Support/com.docker.docker/desktop.plist
. -
Ouvrez
desktop.plist
dans un éditeur de texte et ajoutez le contenu suivant, oùmonorg
est remplacé par le nom de votre organisation tout en minuscules :<?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>monorg1</string> <string>monorg2</string> </array> </dict> </plist>
ImportantÀ partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation. Avec Docker Desktop version 4.35 et antérieure, l'application de connexion échoue silencieusement si vous ajoutez plus d'une organisation.
-
Modifiez les permissions du fichier pour vous assurer que le fichier ne peut pas être édité par des utilisateurs non-administrateurs.
-
Redémarrez Docker Desktop.
-
Quand Docker Desktop redémarre, vérifiez que l'invite Connexion requise ! apparaît.
NoteSi un fichier
plist
etregistry.json
existent tous les deux, le fichierplist
a la priorité.
Exemple de déploiement
L'exemple suivant décrit comment créer et distribuer le fichier plist
pour forcer la connexion sur Docker Desktop. Il existe plusieurs façons de déployer cette configuration selon l'infrastructure de votre organisation, les politiques de sécurité, et les outils de gestion.
- Suivez les étapes précédemment décrites pour créer le fichier
desktop.plist
. - Utilisez un outil MDM comme Jamf ou Fleet pour distribuer le fichier
desktop.plist
vers/Library/Application Support/com.docker.docker/
sur les appareils macOS cibles. - Via l'outil MDM, définissez les permissions du fichier pour permettre l'édition par les administrateurs uniquement.
- Créez un script Bash qui peut vérifier l'existence du fichier
.plist
dans le répertoire correct, le créer ou le modifier selon les besoins, et définir les permissions appropriées. Incluez des commandes dans votre script pour :- Naviguer vers le répertoire
/Library/Application Support/com.docker.docker/
ou le créer s'il n'existe pas. - Utiliser la commande
defaults
pour écrire les clés et valeurs requises dans le fichierdesktop.plist
. Par exemple :$ defaults write /Library/Application\ Support/com.docker.docker/desktop.plist allowedOrgs -string "monorg"
- Changer les permissions du fichier
plist
pour restreindre l'édition, en utilisantchmod
et possiblementchown
pour définir le propriétaire sur root ou un autre compte administrateur, s'assurant qu'il ne peut pas être facilement modifié par des utilisateurs non autorisés.
- Naviguer vers le répertoire
- Avant de déployer le script dans l'organisation, testez-le sur une machine macOS locale pour vous assurer qu'il se comporte comme attendu. Portez attention aux chemins de répertoire, permissions, et à l'application réussie des paramètres
plist
. - Assurez-vous d'avoir la capacité d'exécuter des scripts à distance sur les appareils macOS. Ceci peut impliquer de configurer l'accès SSH ou d'utiliser un outil de support à distance qui supporte macOS.
- Utilisez une méthode d'exécution de script à distance qui correspond à l'infrastructure de votre organisation. Les options incluent :
- SSH : Si SSH est activé sur les machines cibles, vous pouvez l'utiliser pour exécuter le script à distance. Cette méthode nécessite la connaissance de l'adresse IP de l'appareil et les identifiants appropriés.
- Outil de support à distance : Pour les organisations utilisant un outil de support à distance, vous pouvez ajouter le script à une tâche et l'exécuter sur toutes les machines sélectionnées.
- Assurez-vous que le script s'exécute comme attendu sur tous les appareils ciblés. Vous devrez peut-être vérifier les fichiers de log ou implémenter la journalisation dans le script lui-même pour rapporter son succès ou échec.
Méthode registry.json (Tous)
Les instructions suivantes expliquent comment créer et déployer un fichier registry.json
sur un seul appareil. Il existe de nombreuses façons de déployer le fichier registry.json
. Vous pouvez suivre les exemples de déploiement décrits dans la section du fichier .plist
. La méthode que vous choisissez dépend de l'infrastructure de votre organisation, des politiques de sécurité, et des droits administratifs des utilisateurs finaux.
Option 1 : Créer un fichier registry.json pour forcer la connexion
-
Assurez-vous que l'utilisateur est membre de votre organisation dans Docker. Pour plus de détails, voir Gérer les membres.
-
Créez le fichier
registry.json
.Basé sur le système d'exploitation de l'utilisateur, créez un fichier nommé
registry.json
à l'emplacement suivant et assurez-vous que le fichier ne peut pas être édité par l'utilisateur.Plateforme Emplacement Windows /ProgramData/DockerDesktop/registry.json
Mac /Library/Application Support/com.docker.docker/registry.json
Linux /usr/share/docker-desktop/registry/registry.json
-
Spécifiez votre organisation dans le fichier
registry.json
.Ouvrez le fichier
registry.json
dans un éditeur de texte et ajoutez le contenu suivant, oùmonorg
est remplacé par le nom de votre organisation. Le contenu du fichier est sensible à la casse et vous devez utiliser des lettres minuscules pour le nom de votre organisation.{ "allowedOrgs": ["monorg1", "monorg2"] }
ImportantÀ partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.
-
Vérifiez que sign-in est forcé.
Pour activer le fichier
registry.json
, redémarrez Docker Desktop sur la machine de l'utilisateur. Quand Docker Desktop démarre, vérifiez que l'invite Connexion requise ! apparaît.Dans certains cas, un redémarrage système peut être nécessaire pour que l'application prenne effet.
TipSi vos utilisateurs ont des problèmes de démarrage de Docker Desktop après avoir forcé la connexion, ils peuvent avoir besoin de mettre à jour vers la dernière version.
Option 2 : Créer un fichier registry.json lors de l'installation de Docker Desktop
Pour créer un fichier registry.json
lors de l'installation de Docker Desktop, utilisez les instructions suivantes basées sur le système d'exploitation de votre utilisateur.
Pour créer automatiquement un fichier registry.json
lors de l'installation de Docker Desktop,
téléchargez Docker Desktop Installer.exe
et exécutez une des commandes suivantes
depuis le répertoire contenant Docker Desktop Installer.exe
. Remplacez monorg
par le nom de votre organisation. Vous devez utiliser des lettres minuscules pour le
nom de votre organisation.
Si vous utilisez PowerShell :
PS> Start-Process '.\Docker Desktop Installer.exe' -Wait 'install --allowed-org=monorg'
Si vous utilisez l'Invite de Commande Windows :
C:\Users\Admin> "Docker Desktop Installer.exe" install --allowed-org=monorg
ImportantÀ partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation à un seul fichier
registry.json
. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.
Pour créer automatiquement un fichier registry.json
lors de l'installation de Docker Desktop,
téléchargez Docker.dmg
et exécutez les commandes suivantes dans un terminal depuis le
répertoire contenant Docker.dmg
. Remplacez monorg
par le nom de votre organisation. Vous devez utiliser des lettres minuscules pour le nom de votre organisation.
$ sudo hdiutil attach Docker.dmg
$ sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --allowed-org=monorg
$ sudo hdiutil detach /Volumes/Docker
Option 3 : Créer un fichier registry.json en utilisant la ligne de commande
Pour créer un registry.json
en utilisant la ligne de commande, utilisez les instructions suivantes basées sur le système d'exploitation de votre utilisateur.
Pour utiliser le CLI pour créer un fichier registry.json
, exécutez la commande PowerShell
suivante en tant qu'administrateur et remplacez monorg
par le nom de votre organisation. Le contenu du
fichier est sensible à la casse et vous devez utiliser des lettres minuscules pour le
nom de votre organisation.
PS> Set-Content /ProgramData/DockerDesktop/registry.json '{"allowedOrgs":["monorg"]}'
Ceci crée le fichier registry.json
à
C:\ProgramData\DockerDesktop\registry.json
et inclut les informations d'organisation
auxquelles l'utilisateur appartient. Assurez-vous que l'utilisateur ne peut pas éditer ce fichier, mais seulement l'administrateur peut :
PS C:\ProgramData\DockerDesktop> Get-Acl .\registry.json
Directory: C:\ProgramData\DockerDesktop
Path Owner Access
---- ----- ------
registry.json BUILTIN\Administrators NT AUTHORITY\SYSTEM Allow FullControl...
ImportantÀ partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation à un seul fichier
registry.json
. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.
Pour utiliser le CLI pour créer un fichier registry.json
, exécutez les commandes suivantes dans un
terminal et remplacez monorg
par le nom de votre organisation. Le contenu du fichier
est sensible à la casse et vous devez utiliser des lettres minuscules pour le nom de votre
organisation.
$ sudo mkdir -p "/Library/Application Support/com.docker.docker"
$ echo '{"allowedOrgs":["monorg"]}' | sudo tee "/Library/Application Support/com.docker.docker/registry.json"
Ceci crée (ou met à jour, si le fichier existe déjà) le fichier registry.json
à /Library/Application Support/com.docker.docker/registry.json
et inclut
les informations d'organisation auxquelles l'utilisateur appartient. Assurez-vous que le fichier a le
contenu attendu, et que l'utilisateur ne peut pas éditer ce fichier, mais seulement l'administrateur peut.
Vérifiez que le contenu du fichier contient les informations correctes :
$ sudo cat "/Library/Application Support/com.docker.docker/registry.json"
{"allowedOrgs":["monorg"]}
Vérifiez que le fichier a les permissions attendues (-rw-r--r--
) et la propriété
(root
et admin
) :
$ sudo ls -l "/Library/Application Support/com.docker.docker/registry.json"
-rw-r--r-- 1 root admin 26 Jul 27 22:01 /Library/Application Support/com.docker.docker/registry.json
ImportantÀ partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation à un seul fichier
registry.json
. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.
Pour utiliser le CLI pour créer un fichier registry.json
, exécutez les commandes suivantes dans un
terminal et remplacez monorg
par le nom de votre organisation. Le contenu du fichier
est sensible à la casse et vous devez utiliser des lettres minuscules pour le nom de votre
organisation.
$ sudo mkdir -p /usr/share/docker-desktop/registry
$ echo '{"allowedOrgs":["monorg"]}' | sudo tee /usr/share/docker-desktop/registry/registry.json
Ceci crée (ou met à jour, si le fichier existe déjà) le fichier registry.json
à /usr/share/docker-desktop/registry/registry.json
et inclut les
informations d'organisation auxquelles l'utilisateur appartient. Assurez-vous que le fichier a le
contenu attendu et que l'utilisateur ne peut pas éditer ce fichier, seulement root peut.
Vérifiez que le contenu du fichier contient les informations correctes :
$ sudo cat /usr/share/docker-desktop/registry/registry.json
{"allowedOrgs":["monorg"]}
Vérifiez que le fichier a les permissions attendues (-rw-r--r--
) et la propriété
(root
) :
$ sudo ls -l /usr/share/docker-desktop/registry/registry.json
-rw-r--r-- 1 root root 26 Jul 27 22:01 /usr/share/docker-desktop/registry/registry.json
ImportantÀ partir de Docker Desktop version 4.36 et ultérieure, vous pouvez ajouter plus d'une organisation à un seul fichier
registry.json
. Avec Docker Desktop version 4.35 et antérieure, si vous ajoutez plus d'une organisation l'application de connexion échoue silencieusement.