Ceci est une ancienne révision du document !
1Password SCIM Bridge
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 :
- Un accès à la configuration du nom de domaine
- Un système en mesure de faire fonctionner un container (Docker / Kubernetes / Cloud). Nous utiliserons une VM Docker dans notre exemple.
- Un accès à la configuration admin de 1Password pour créer des tokens.
- L'accès à la configuration du pare-feu pour les ouvertures de port.
Création de la VM
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 :
- CPU : 1
- Mémoire : 2 Go
- Stockage : 20 Go
- Iso : Debian 13 standard
Pré installation de la VM :
- Choisir “install” sans installation graphique
- Langue : Français
- Pays : France
- Clavier : Français
- Nom de la machine : 1Password
- Domaine :
- Mettez en place de Mot de passe superutilisateur root
- Créez un nouvel utilisateur
- Créez le mot de passe pour l'utilisateur
- Partitionner les disques : Assisté - utiliser un disque entier
- Sélectionnez le disque > tout dans une seule partition (recommandé pour les débutants)
- Appliquez les changements sur le disque
- Utilisez le miroir ftp.debian.org
- Installez le GRUB sur /dev/sda
Fichier de configuration Docker Compose
- docker-compose.yaml
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