Lors de la configuration d'un système d'authentification basé sur SAML pour SaltStack Config, vous devez remplir différents champs d'informations. Il est également possible d'utiliser l'API pour configurer un système basé sur SAML, mais cela n'est pas recommandé.

Champs d'informations SAML

Tous les champs d'informations d'authentification SAML sont requis. Entrez les informations de votre configuration d'authentification SAML comme suit.

Note :

Si vous avez besoin d'aide pour la configuration de votre connexion, contactez votre administrateur.

De base

Champ

Description

Nom

Nom de la connexion d'authentification utilisée par SSE. Ce nom s'affiche dans la barre latérale lorsque vous êtes connecté à l'espace de travail Authentification et doit être unique si vous mettez en place plusieurs configurations. Ce nom ne peut pas être modifié après la création initiale.

Exemple : Acme SSO

URI de base

URL de base utilisée par votre organisation dans SaltStack Config, également appelée adresse du serveur hôte. Cette information se présente sous la forme d'un nom de domaine complet ou d'une adresse IP, par exemple https://example.com. Elle ne doit pas se terminer par une barre oblique.

Exemple : https://sse.example.com

ID de l'entité

ID unique pour ce fournisseur de services SaltStack Config. Bien que la tradition SAML pour cela soit une chaîne de type URL, n'importe quel type de chaîne est autorisé. Il doit être unique par rapport aux autres applications SAML utilisées par votre organisation. Assurez-vous d'utiliser ce même ID lors de l'enregistrement de SaltStack Config en tant qu'application.

Exemple : https://sse.example.com/saml

Informations sur l'organisation

Champ

Description

Nom de la société

Nom de votre organisation.

Nom complet

Nom à afficher en tant que nom de votre organisation.

Site Web

URL du site Web de votre organisation. Cette URL peut correspondre à n'importe quelle adresse et n'a aucune incidence sur la fonctionnalité SSO.

Clé privée

Clé privée que vous avez générée, également appelée cert.pem. Cette clé doit être au format PEM. Pour plus d'informations, reportez-vous à la section Création d'un certificat de fournisseur de services.

Clé publique

Clés publiques et certificats que vous avez générés, également appelés cert.pub. Cette clé doit être au format PEM, cert.pub. Pour plus d'informations, reportez-vous à la section Création d'un certificat de fournisseur de services.

Contact technique

Champ

Description

Nom

Nom de l'employé qui est principalement responsable de l'application dans votre organisation. Ces informations sont requises par le protocole SAML et seront transmises au fournisseur SAML. SaltStack Config n'utilise pas ces informations directement.

E-mail

Adresse e-mail du contact technique.

Contact du support

Champ

Description

Nom

Nom d'un employé qui peut être contacté si le contact technique principal de l'application n'est pas disponible. Ces informations sont requises par le protocole SAML et seront transmises au fournisseur SAML. SaltStack Config n'utilise pas ces informations directement.

E-mail

Adresse e-mail du contact du support.

Information sur le fournisseur

Champ

Description

ID de l'entité

ID d'entité du fournisseur d'identité (IdP).

Exemple d'ID d'entité Azure AD : https://sts.windows.net/2f09bc14-a1f0-48ce-8280-0a09e775e40d/

ID d'utilisateur

Référence à un attribut SAML mappé qui contiendra l'ID d'utilisateur permanent.

E-mail

Référence à un attribut SAML mappé qui contiendra l'adresse e-mail.

Nom d'utilisateur

Référence à un attribut SAML mappé qui contiendra le nom d'utilisateur.

URL

URL utilisée pour accéder aux points de terminaison SAML de votre fournisseur d'identité.

Certificat x509

Certificat au format X.509 avec clé publique intégrée générée via le système de votre fournisseur d’identité. Cette clé doit être au format PEM.

Contrôles de sécurité

Champ

Description

Contrôle de l'instruction d'attribut

Cochez cette case si vous souhaitez que SaltStack Config contrôle les instructions d'attribut SAML pour les profils d'utilisateur.

Configuration de SAML à partir de la ligne de commande (CLI)

Ce guide recommande vivement de configurer SAML à l'aide de l'interface utilisateur de SaltStack Config plutôt que la ligne de commande. Ces instructions sont incluses pour référence.

Pour configurer la plupart des normes de configuration à l'aide de l'interface de ligne de commande :

  1. Connectez-vous en tant qu'utilisateur RaaS :
    sudo su raas
  2. FACULTATIF : cette étape n'est nécessaire que si vous avez installé SaltStack Config manuellement. Sur le serveur RaaS, installez le fichier .xml OpenSSL qui est inclus dans les fichiers du programme d'installation. Utilisez la commande suivante :
    yum install xmlsec1-openssl
    Note :

    RedHat ne dispose pas de xmlsec1 dans les référentiels par défaut. Une solution possible consiste à télécharger les RPM à partir d'une machine CentOS et à les transférer vers RedHat.

  3. Accédez au répertoire dans lequel vous prévoyez d'enregistrer le fichier de configuration. Tous les chemins d'accès au répertoire sont acceptables.
  4. Créez un fichier YAML avec les informations de configuration nécessaires requises par votre fournisseur de services d'identité. Pour obtenir des exemples de formatage de ces fichiers de configuration, reportez-vous à la section Exemples de fichiers de configuration.
    Note :

    Pour obtenir une description des différents champs, reportez-vous à la section Champs d'informations SAML.

  5. Exécutez le fichier de configuration à l’aide des commandes suivantes :
    raas save_sso_config <filepath>

Exemples de fichiers de configuration

Exemple de fichier de configuration SAML pour Google

Remplacez le texte d'espace réservé dans l'exemple suivant par les informations fournies par le fournisseur d'identité :

name: Google
backend: social_core.backends.saml.SAMLAuth
settings:
  base_uri: https://example.com
  saml_sp_entity_id: raas
  saml_org_info:
    en-US:
    name: Name of Your Organization
    displayname: Display Name for Your Organization
    url: https://example.com
  saml_technical_contact:
    givenName: Name of Your Technical Contact
    emailAddress: email@my_technical_contact.com
  saml_support_contact:
    givenName: Name of Your Support Contact
    emailAddress: email@my_support_contact.com
  saml_enabled_idps:
    saml:
      entity_id: https://accounts.google.com/o/your_organization_id
      attr_user_permanent_id: Your organization's permanent ID
      attr_email: email@my_email_with_identity_provider.com
      attr_username: Your organization's username for the IdP
      url: https://accounts.google.com/o/saml2/your_organization_id
      x509cert: |
        -----BEGIN CERTIFICATE-----
        Insert certificate block of text here
        -----END CERTIFICATE-----
      saml_sp_private_key: |
        -----BEGIN PRIVATE KEY-----
        Insert private key block of text here
        -----END PRIVATE KEY-----
      saml_sp_public_cert: |
        -----BEGIN CERTIFICATE-----
        Insert certificate block of text here
        -----END CERTIFICATE-----

Exemple de fichier de configuration SAML pour Okta

Remplacez le texte d'espace réservé dans l'exemple suivant par les informations fournies par le fournisseur d'identité :

name: Okta
backend: social_core.backends.saml.SAMLAuth
settings:
  base_uri: https://example.com
  saml_sp_entity_id: https://example.com/auth/complete/saml
  saml_org_info:
    en-US:
    name: Name of Your Organization
    displayname: Display Name for Your Organization
    url: https://example.com
 saml_technical_contact:
   givenName: Name of Your Technical Contact
   emailAddress: email@my_technical_contact.com
saml_support_contact:
  givenName: Name of Your Support Contact
  emailAddress: email@my_support_contact.com
saml_security_config:
  wantAttributeStatement: False
saml_enabled_idps:
  okta:
    entity_id: https://www.okta.com/your_organization_id
    attr_user_permanent_id: Your organization's permanent ID
    attr_email: email@my_email_with_identity_provider.com
    attr_username: Your organization's username for the IdP
    url: https://example.okta.com/app/your_organization_id
    x509cert: |
      -----BEGIN CERTIFICATE-----
      Insert certificate block of text here
      -----END CERTIFICATE-----
    saml_sp_private_key: |
      -----BEGIN PRIVATE KEY-----
      Insert private key block of text here
      -----END PRIVATE KEY-----
    saml_sp_public_cert: |
      -----BEGIN CERTIFICATE-----
      Insert certificate block of text here
      -----END CERTIFICATE-----

Exemple de fichier de configuration OIDC pour Google

Remplacez le texte d'espace réservé dans l'exemple suivant par les informations fournies par le fournisseur d'identité :

name: Name of Your Organization
backend: social_core.backends.google_openidconnect.GoogleOpenIdConnect
settings:
  base_uri: example.com
  google_openidconnect_key: your_id.apps.googleusercontent.com
  google_openidconnect_secret: your_secret

Mise à jour d'une configuration SSO à partir de la ligne de commande (CLI)

Pour mettre à jour une norme de configuration à partir de l'interface de ligne de commande :

  1. Connectez-vous en tant qu'utilisateur RaaS :
    sudo su raas
  2. Accédez au répertoire dans lequel vous avez stocké le fichier de configuration. Mettez à jour le fichier de configuration si nécessaire.
  3. Enregistrez le fichier de configuration à l’aide de la commande suivante :
    raas save_sso_config <filepath>

Suppression d'une configuration SSO depuis la ligne de commande (CLI)

Si l'accès à l'interface utilisateur de SaltStack Config est disponible, il est recommandé de supprimer une configuration SSO à l'aide de l'interface utilisateur. Cependant, vous pouvez supprimer une configuration SSO à l'aide de l'API (RaaS) si nécessaire.

Pour supprimer une configuration SSO, vous devez trouver le jeton attribué à la configuration que vous souhaitez supprimer. Le jeton est une représentation du nom de la configuration dont les mots sont séparés par des tirets - et dont toutes les lettres sont en minuscules. Par exemple, le jeton peut être nom-de-votre-organisation. Pour SAML avec Google, le jeton est google.

  1. Dans l'API (RaaS), générez une liste de vos serveurs principaux SSO à l'aide de la commande suivante :
    client.api.settings.get_sso_backends()
  2. Dans la liste des serveurs principaux SSO, recherchez le jeton de la configuration que vous souhaitez supprimer. Entrez ensuite la commande suivante, en remplaçant le texte de l’espace réservé par votre configuration :
    client.api.settings.delete_sso_config('slug-for-your-configuration')