Créer une organisation

Cette section explique comment créer une organisation sur votre instance auto-hébergée de Parsec Server.

Avant de commencer

La création d’une organisation dans Parsec se déroule selon les étapes suivantes :

Create an Organization

Créez une organisation avec un nom valide (comme décrit dans cette section) et obtenez un lien de démarrage pour créer le premier utilisateur.

Configurer le Service du Sequester (facultatif)

Le service du séquestre permet de récupérer en toute sécurité toutes les données d’une organisation. Il ne peut être activé que lors de la configuration initiale de l’organisation et en aucun cas par la suite.

Bootstrap l’organisation

Le « bootstrapping » est le processus de création du premier utilisateur pour l’organisation. Cette opération peut être effectuée par toute personne disposant du lien de bootstrapping.

Important

Le premier utilisateur bénéficie d’une confiance par défaut (aucun échange de code n’est nécessaire) et est chargé d”inviter les utilisateurs suivants et, par conséquent, d’établir la confiance en suivant les étapes pour rejoindre une organisation.

Le schéma suivant résume le processus :

sequenceDiagram actor Admin as Server Admin participant Parsec actor Alice Admin->>Parsec: Create Organization
with a valid name Parsec-->>Admin: bootstrap link opt Admin->>Parsec: Set up Sequester Service end alt Server Admin is part of the Organization Admin->>Parsec: Use bootstrap link
to create first user else Server Admin is not part of the Organization Admin->>Alice: Send bootstrap link Alice->>Parsec: Use bootstrap link
to create first user end

Note

Si vous avez activé le spontaneous bootstrap sur votre serveur Parsec, n’importe qui peut créer une organisation. Pour ce faire, il suffit d’utiliser directement l’application client Parsec en indiquant l’URL de votre serveur, puis de suivre les étapes indiquées dans Parsec pour créer le premier utilisateur.

Le service du séquestre ne peut pas être configuré pour les organisations créées de cette manière.

Consultez Créer une organisation sur mon propre serveur Parsec.

Créer une organisation

Certificats TLS personnalisés

Si vous avez utilisé certificats TLS personnalisés pour déployer Parsec Server (recommandé uniquement à des fins de test), vous devrez fournir l’autorité de certification de confiance (à la fois à l’interface CLI de Parsec et à l’application Parsec). Pour ce faire, exportez SSL_CAFILE avant de continuer :

export SSL_CAFILE=$PWD/custom-ca.crt
  1. Définir les informations obligatoires

    Définissez SERVER_ADDR avec l’adresse de votre serveur et ORGANIZATION_NAME avec le nom souhaité pour l’organisation (voir À propos des noms d’organisation).

    SERVER_ADDR=parsec3://127.0.0.1:6777
    ORGANIZATION_NAME=MyOrganization
    

    Vous pouvez également saisir ces informations manuellement dans chaque commande.

  2. Définir le token d’administration pour Parsec CLI

    Si vous avez suivi nos instructions dans Déploiement du serveur, vous pouvez charger le fichier correspondant avant d’appeler la CLI :

    set -a && source parsec-admin-token.env && set +a
    

    Sinon, vous pouvez créer un fichier contenant dla variable PARSEC_ADMINISTRATION_TOKEN et la charger pour l’utiliser ci-dessous.

  3. Créer l’organisation

    Cela peut se faire soit via l’interface CLI de Parsec, soit via l’API d’administration REST.

    Avec Parsec CLI

    Pour créer une organisation avec Parsec CLI, utilisez la commande suivante :

    parsec-cli organization create --addr $SERVER_ADDR $ORGANIZATION_NAME
    

    Avec l’API d’administration REST

    Pour créer une organisation à l’aide de l’API d’administration REST, vous devez envoyer une requête POST vers administration/organizations.

    Voici un exemple illustrant comment exécuter la requête à l’aide de curl et jq :

    $ DATA=$(jq -n --arg organization_id "$ORGANIZATION_NAME" '$ARGS.named')
    $ curl ${SERVER_ADDR}/administration/organizations \
    -H "Authorization: Bearer $PARSEC_ADMINISTRATION_TOKEN" \
    --request POST --data $DATA | jq
    

    Enregistrez le lien Bootstrap ou l”URL Bootstrap qui s’affiche dans l’un ou l’autre des cas avant de continuer.

  4. Bootstrap l’organization

    1. Lancez l’application client Parsec (Web ou bureau)

    2. Sélectionnez Créer ou rejoindre ‣ Rejoindre`

    3. Collez le lien de bootstrap de l’étape précédente

    4. Suivez les instructions pour créer le premier utilisateur de l’organisation.

Configurer une Organisation

Les options de configuration possibles sont :

user_profile_outsider_allowed (défaut: true)

Pour autoriser ou interdire les utilisateurs externes à une organisation. Voir Profiles Utilisateurs.

active_users_limit (défaut: none)

le nombre maximum d’utilisateurs actifs (i.e. non révoqués) dans une organisation. Par défaut le nombre d’utilisateurs est illimité. Ce paramètre ne prend pas en compte les utilisateurs externes (qui sont toujours illimités).

realm_minimum_archiving_period_before_deletion (défaut: 2592000, 30 jours)

Quand un utilisateur supprime un espace de travail,C’est le délai minimum (en secondes) qui doit passer avant que l’espace de travail soit effectivement supprimé.

tos (défaut: none)

Cette option vous permet de spécifier un ensemble de ToS que les utilisateurs devront accepter pour pouvoir se connecter à l’organisation.Cet ensemble est fourni sous forme d’objet JSON, avec une code de langue comme clef et un lien vers les condition générales d’utilisation dans cette langue comme valeur. Par exemple :

{
  "fr": "link-to-tos-in-french.pdf",
  "en": "link-to-tos-in-english.pdf"
}

Ces options peuvent être configurées avec l’API REST d’administration, soit au moment de la création de l’organisation (voir étape 3 ci dessus), ou plus tard avec une requête PATCH.

Voici un exemple illustrant comment exécuter la requête à l’aide de curl et jq :

$ DATA=$(jq -n \
  --arg organization_id $ORGANIZATION_NAME \
  --argjson user_profile_outsider_allowed false \
  --argjson active_users_limit 5 \
  --argjson tos "{\"fr\":\"$SERVER_ADDR/tos-FR\"}" \
  --argjson realm_minimum_archiving_period_before_deletion 864000 \
  '$ARGS.named' -c )

$ curl ${SERVER_ADDR}/administration/organizations/$ORGANIZATION_NAME \
  -H "Authorization: Bearer $PARSEC_ADMINISTRATION_TOKEN" \
  --request PATCH --json $DATA | jq