Pour la synchronisation des utilisateurs dans 1Password, il est nécessaire d'avoir une VM avec un service SCIM. 1Password fourni le logiciel sous la forme d'une image docker : docker.io/1password/scim. Au moment d'écrire cet article, la dernière version est v2.9.15. La mise en place du bridge SCIM consiste à faire tourner cette image docker et l'exposer via un lien WEB.
Il faut donc :
Sur l'infrastructure client, il faut créer la VM, nous utiliserons un Debian dernière version, sans interface graphique et avec le minimum d'outil préinstallé. Nous y ajouterons installerons uniquement Docker Engine (voir la documentation de Docker pour l'installation).
Prérequis :
Pré installation de la VM :
Mettre à jour l'index des paquets du système.
sudo apt update
Installer les dépendances nécessaires pour télécharger et gérer les certificats.
sudo apt install ca-certificates curl
Créer le répertoire destiné au stockage des clés GPG si celui-ci n'existe pas encore.
sudo install -m 0755 -d /etc/apt/keyrings
Télécharger la clé GPG officielle de Docker et l'enregistrer dans le répertoire dédié.
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
Ajuster les permissions afin que la clé soit lisible par tous les utilisateurs.
sudo chmod a+r /etc/apt/keyrings/docker.asc
Ajouter le dépôt officiel Docker à la liste des sources APT du système.
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF Types: deb URIs: https://download.docker.com/linux/debian Suites: $(. /etc/os-release && echo "$VERSION_CODENAME") Components: stable Architectures: $(dpkg --print-architecture) Signed-By: /etc/apt/keyrings/docker.asc EOF
Mettre à jour l'index des paquets afin de prendre en compte le nouveau dépôt Docker.
sudo apt update
Installer Docker Engine ainsi que les composants associés.
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Vérifier que le service Docker est actif.
sudo systemctl status docker
Si le service n'est pas démarré, le lancer manuellement.
sudo systemctl start docker
Vérifier le bon fonctionnement de l'installation en exécutant le conteneur de test Hello World.
sudo docker run hello-world
Cette commande télécharge l'image de test hello-world puis l'exécute dans un conteneur. Un message de confirmation s'affiche lorsque l'installation est correctement réalisée.
Docker Engine est maintenant installé et prêt à être utilisé.
Télécharger l'image Docker de 1Password SCIM Bridge depuis Docker Hub.
sudo docker pull 1password/scim:v2.9.15
Vérifier que l'image a bien été téléchargée sur le système.
docker images
L'image 1password/scim avec le tag v2.9.15 doit apparaître dans la liste des images Docker disponibles.
services: redis: command: --maxmemory 256mb --maxmemory-policy volatile-lru --save "" deploy: resources: reservations: cpus: "0.125" limits: memory: 512M healthcheck: test: redis-cli ping | grep PONG image: docker.io/redis restart: always networks: [op-scim] user: 999:999 scim: depends_on: [redis] restart: always deploy: resources: reservations: cpus: "0.125" limits: memory: 512M env_file: ./scim.env environment: OP_REDIS_URL: redis://redis:6379 OP_TLS_DOMAIN: ${SCIM_TLS_DOMAIN:-} OP_LETSENCRYPT_EMAIL: ${SCIM_TLS_EMAIL:-admin@wcentric.com} OP_DEBUG: ${SCIM_DEBUG:-0} OP_CONFIRMATION_INTERVAL: ${SCIM_CONFIRMATION_INTERVAL:-300} OP_JSON_LOGS: ${SCIM_JSON_LOGS:-0} OP_PRETTY_LOGS: ${SCIM_PRETTY_LOGS:-0} OP_TRACE: ${SCIM_TRACE:-0} OP_PING_SERVER: ${SCIM_PING_SERVER:-0} image: docker.io/1password/scim:v2.9.15 networks: [op-scim] ports: - "${SCIM_PORT:-443}:8443" secrets: - source: credentials target: /home/opuser/.op/scimsession uid: "999" gid: "999" mode: 0440 user: 999:999 networks: op-scim: name: op-scim secrets: credentials: file: ./scimsession name: credentials