Vous pouvez intégrer VMware Integrated OpenStack à toute solution de fournisseur d'identité tierce qui utilise le protocole SAML (Security Association Markup Language) 2.0. Le Keystone dans VMware Integrated OpenStack fonctionne comme fournisseur de services pour cette configuration.

Important :
  • VMware ne prend pas en charge les fournisseurs d’identité tiers. Contactez votre administrateur de fournisseur d’identité pour obtenir les informations requises pour cette procédure.
  • Ne connectez pas VMware Integrated OpenStack à la fois à l'authentification LDAP et à la fédération qui ont le même backend AD.

Si vous souhaitez intégrer VMware Integrated OpenStack à VMware Identity Manager à l'aide de SAML 2.0, reportez-vous à la section Configurer la fédération VMware Identity Manager.

Conditions préalables

  • Déterminez l'emplacement du fichier de métadonnées de vos fournisseurs d'identité et de l'attribut entityID dans le fichier.
  • Assurez-vous que votre déploiement VMware Integrated OpenStack peut accéder au nom de domaine complet du fournisseur d'identité.
  • Pour le mappage d'attributs SAML2, Keystone utilise Shibboleth comme composant SSO. Shibboleth fait correspondre les attributs de l'utilisateur IdP aux attributs locaux utilisés par Keystone. Contactez votre administrateur IdP pour obtenir les attributs d'utilisateur.
  • Pour le mappage de règles SAML2, Keystone exige des règles pour mapper les utilisateurs distants aux domaines, projets et groupes locaux. Pour plus d'informations, reportez-vous à la section Combinations de mappage de la documentation d'OpenStack.
  • Côté fournisseur d'identité, vous devez configurer correctement le fournisseur de services. Les métadonnées du fournisseur de services sont accessibles à l'aide de l'URL suivante : https://<vio_public_endpoint>:5000/<your_idp_name>/Shibboleth.sso/Metadata

Procédure

  1. Connectez-vous à l'interface Web de Integrated OpenStack Manager en tant qu'utilisateur admin.
  2. Dans Déploiement OpenStack, cliquez sur le nom de votre déploiement et ouvrez l'onglet Gérer.
  3. Dans l'onglet Fédération Keystone, cliquez sur Ajouter.
  4. Dans le menu déroulant Type de fédération, sélectionnez SAML2 générique.
  5. Entrez les paramètres requis.
    Option Description
    Nom

    Entrez le nom du fournisseur d'identité. VMware Integrated OpenStack utilise ce nom pour créer le fournisseur d'identité OpenStack.

    Description

    Entrez une description pour le fournisseur d’identité.

    Mappage d'attributs

    Entrez des attributs SAML supplémentaires au format JSON ou téléchargez un fichier JSON contenant les attributs souhaités. VMware Integrated OpenStack utilise les données JSON pour configurer le fichier attribute-map.xml de Shibboleth.

    SAML2 générique non sécurisé

    Décochez la case pour pouvoir valider les certificats de votre fournisseur d’identité.

    ID d'entité SAML2 générique

    Entrez l'attribut entityID pour votre fournisseur d'identité. Vous pouvez trouver cette valeur dans le fichier de métadonnées de fédération. VMware Integrated OpenStack utilise cette valeur pour créer le fournisseur d'identité OpenStack.

    URL des métadonnées SAML2

    Entrez l’URL du fichier de métadonnées de fédération pour votre fournisseur d’identité. Le gestionnaire VIO peut accéder à cette URL pour télécharger le fichier de métadonnées.

    Mappage SAML2

    Entrez les mappages SAML au format JSON ou téléchargez un fichier JSON contenant les mappages souhaités. VMware Integrated OpenStack utilise cette valeur pour créer le mappage OpenStack et la définit sur le protocole de fédération pour ce fournisseur d'identité.

    Format de mappage d'attribut et exemples :
    [
          {
            "name": "urn:oid:0.9.2342.19200300.100.1.1",
            "nameFormat": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
            "id": "username"
          },
          {
            "name": "urn:oid:0.9.2342.19200300.100.1.3",
            "nameFormat": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
            "id": "email"
          }
        ]
    
    Option Description

    name

    Entrez le nom de l’attribut. Keystone exige au moins un attribut qui peut être utilisé comme identification unique des utilisateurs. Par exemple, username, email, et ainsi de suite. Contactez votre administrateur IdP pour déterminer le nom d'attribut. Il peut être différent de celui des serveurs IdP.

    nameFormat

    Entrez le format du nom d'attribut. Contactez votre administrateur IdP pour déterminer la valeur du format. Cet attribut est facultatif.
    id

    Entrez la valeur de la chaîne de cet attribut. N'utilisez pas d'espace pour la valeur de la chaîne. Par exemple, n'utilisez pas « nom d'utilisateur », mais plutôt "username". Cette valeur peut être utilisée dans les règles de mappage comme remote:type.

    Format de mappage de règles SAML2 et exemples :
    [
      {
        "local": [
          {
            "user": {
              "name": "{1}"
            },
            "group": {
              "name": "federated_users",
              "domain": {
                "name": "federated_domain"
              }
            }
          }
        ],
        "remote": [
          {
            "type": "username"
          },	
          {
            "type": "email"
          }
        ]
      }
    ]
    
    Vous pouvez trouver la définition du mappage de règles sous Combinations de mappage pour Keystone dans la communauté OpenStack.
    Option Description

    local

    Le fichier JSON définit les projets et domaines locaux OpenStack. Cet attribut peut être utilisé pour les utilisateurs mappés à partir de l'IdP. Par exemple, dans le mappage de règles SAML2, "name": "{1}" c'est la même chose que d'utiliser "type": "email" comme nom de connexion pour Keystone et la connexion pour le domaine et le projet spécifiés.

    remote

    La section définit les règles et les conditions pour le mappage des attributs distants.

  6. (Facultatif) Cochez la case Paramètres avancés pour la configuration des paramètres de domaine, de projets et de groupe.
    1. Sous Préférences avancées communes, entrez federated_domain en tant que domaine OpenStack, federated_project en tant que projet et federated_group en tant que groupe.
    2. Le domaine, le projet et le nom du groupe OpenStack doivent correspondre aux informations fournies dans le fichier JSON "local" de mappage de règles.
    3. VMware Integrated OpenStack crée le domaine et le projet pour les utilisateurs de fédération spécifiés.
      Note : N'entrez pas federated comme nom de domaine, car ce nom est utilisé par Keystone.
  7. Cliquez sur OK.
    Note : Après avoir terminé la configuration de SAML2, vous pouvez voir que le service Keystone redémarre automatiquement. Avant de télécharger les métadonnées, assurez-vous que l'état de votre déploiement est passé à EN COURS D'EXÉCUTION en exécutant viocli get deployment.
  8. Assurez-vous que https://<vio_public_endpoint>:5000/<your_idp_name>/Shibboleth.sso/Metadata est accessible et configurez votre service IdP pour faire confiance à Keystone VMware Integrated OpenStack comme fournisseur de services.

Résultats

VMware Integrated OpenStack est intégré à votre solution de fournisseur d'identité, et les groupes et utilisateurs fédérés sont importés dans OpenStack. Lorsque vous accédez au tableau de bord VMware Integrated OpenStack, vous pouvez choisir le fournisseur d'identité spécifié auquel vous connecter en tant qu'utilisateur fédéré.

Note : Lorsque vous utilisez la fédération d'identités, vous devez accéder au tableau de bord VMware Integrated OpenStack sur le point de terminaison public OpenStack. N'utilisez pas le point de terminaison OpenStack privé ou une adresse IP de contrôleur pour vous connecter en tant qu'utilisateur fédéré.

Exemple : Intégration de VMware Integrated OpenStack aux services de fédération Active Directory

La procédure suivante met en œuvre la fédération d'identité entre VMware Integrated OpenStack et ADFS (Active Directory Federation Services) en fonction du nom d'utilisateur global (UPN). La procédure de configuration de l'ADFS est un exemple type, la configuration réelle de l'entreprise peut être différente. Vous devez modifier la configuration SAML VMware Integrated OpenStack correspondante.

Dans cet exemple, l'adresse IP virtuelle publique du déploiement de VMware Integrated OpenStack est 192.0.2.160 et le rôle de l’ADFS fait partie de la machine virtuelle Windows Server située à l'adresse adfs.example.com. Le nom du fournisseur d'identité dans VMware Integrated OpenStack est adfsvio.

  1. Dans l’ADFS, ajoutez une approbation de partie de confiance pour VMware Integrated OpenStack.
    1. Dans Gestion ADFS, sélectionnez Action > Ajouter l'approbation de partie de confiance….
    2. Cliquez sur Démarrer.
    3. Sélectionnez Entrer manuellement les données concernant la partie de confiance et cliquez sur Suivant.
    4. Entrez OpenStack pour le nom d'affichage et cliquez sur Suivant.
    5. Sélectionnez Profil ADFS, puis cliquez sur Suivant.
    6. Cliquez sur Suivant.
    7. Sélectionnez Activer la prise en charge du protocole WebSSO SAML 2.0.
    8. Entrez https://192.0.2.160:5000/adfsvio/Shibboleth.sso/SAML2 pour l'URL de la partie de confiance et cliquez sur Suivant.
    9. Entrez https://192.0.2.160:5000/adfsvio pour l'identifiant de l'approbation de partie de confiance et cliquez sur Ajouter, puis sur Suivant.
    10. Sélectionnez Ne pas configurer les paramètres d'authentification multifacteur et cliquez sur Suivant.
    11. Sélectionnez Autoriser l'accès de tous les utilisateurs à cette partie de confiance et cliquez sur Suivant.
    12. Cliquez sur Suivant, sélectionnez Modifier les règles de revendication, puis cliquez sur Fermer.
    13. Cliquez sur Ajouter une règle….
    14. Sélectionnez Passer ou filtrer une revendication entrante, puis cliquez sur Suivant.
    15. Entrez Relais UPN pour le nom de la règle et sélectionnez UPN pour le type de réclamation entrante.
    16. Sélectionnez Transmettre toutes les valeurs de la revendication, puis cliquez sur Terminer.
  2. Connectez-vous à l'interface Web de Integrated OpenStack Manager en tant qu'utilisateur admin.
  3. Dans Déploiement OpenStack, cliquez sur le nom du déploiement et ouvrez l'onglet Gérer.
  4. Dans l'onglet Fédération d'identité, cliquez sur Ajouter.
  5. Dans le menu déroulant Type de fédération, sélectionnez SAML2 générique.
  6. Entrez la configuration suivante :
    Option Description
    Nom adfsvio
    Description Fournisseur d'identité ADFS
    Mappage d'attributs
    [
        {
            "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
            "id": "upn"
        }
    ]
    ID d'entité SAML2 générique http://adfs.example.com/adfs/services/trust
    URL des métadonnées SAML2 https://adfs.example.com/federationmetadata/2007-06/federationmetadata.xml
    Mappage SAML2
    [
        {
            "local": [
                {
                    "user": {
                        "name": "{0}"
                    },
                    "group": {
                        "domain": {
                            "name": "adfs-users"
                        },
                        "name": "Federated Users"
                    }
                }
            ],
            "remote": [
                {
                    "type": "upn"
                }
            ]
        }
    ]
  7. Cochez la case Paramètres avancés.
  8. Sélectionnez Paramètres avancés communs et entrez la configuration suivante.
    Option Description
    Domaine adfs-users
    Projet

    Laissez la zone de texte vide.

    Groupe Utilisateurs fédérés

Une fois la vérification et la mise à jour de la configuration terminées, ouvrez le tableau de bord VMware Integrated OpenStack. Vous pouvez désormais sélectionner le fournisseur d’identité ADFS et vous connecter en tant qu’utilisateur fédéré.

Que faire ensuite

Pour supprimer un fournisseur d'identité configuré, sélectionnez l'interface Web Integrated OpenStack Manager et cliquez sur Supprimer. Connectez-vous ensuite au tableau de bord VMware Integrated OpenStack, sélectionnez Identité > Fédération > Fournisseurs d'identité, sélectionnez le fournisseur souhaité, puis cliquez sur Annuler l'enregistrement des fournisseurs d'identité.