Configurer Shibboleth

Shibboleth est un fournisseur d'identités compatible avec Security Assertion Markup Language SAML. Vous pouvez configurer Shibboleth 3.2x et 3.3.x en tant que fournisseur d’identités pour les identifiants de connexion SAML dans ArcGIS Online. Le processus de configuration comporte deux étapes principales : l'enregistrement du fournisseur d'identités SAML auprès de ArcGIS Online et l'enregistrement de ArcGIS Online auprès du fournisseur d'identités SAML.

Remarque :

Pour faire en sorte que vos identifiants de connexion SAML soient configurés en toute sécurité, passez en revue les bonnes pratiques pour la sécurité SAML.

Informations requises

ArcGIS Online requiert la réception de certaines informations attributaires de la part du fournisseur d’identités lorsqu’un utilisateur se connecte à l’aide d’identifiants SAML. L’attribut NameID est obligatoire. Il doit être envoyé par votre fournisseur d’identités dans la réponse SAML afin que la fédération fonctionne avec ArcGIS Online. Puisqu’ArcGIS Online utilise la valeur de NameID pour identifier de manière unique un utilisateur nommé, il est recommandé d’utiliser une valeur constante qui identifie l’utilisateur de manière unique. Lorsqu'un utilisateur IDP se connecte, un nouvel utilisateur appelé NameID_<url_key_for_org> est créé par ArcGIS Online dans son magasin d'utilisateurs. Les caractères autorisés pour la valeur envoyée par l’attribut NameID sont les caractères alphanumériques, le trait de soulignement (_), (le point) et @ (le symbole arobase). Tous les autres caractères seront désactivés pour contenir des traits de soulignement dans le nom d'utilisateur créé par ArcGIS Online.

ArcGIS Online prend en charge le flux entrant de l’adresse électronique d’un utilisateur, les appartenances aux groupes, le nom et le prénom indiqués par le fournisseur d’identités SAML. Il est conseillé de transmettre l’adresse électronique reçue du fournisseur d’identités d’entreprise SAML afin que l’utilisateur puisse recevoir les notifications. Cela peut s'avérer utile si l'utilisateur devient plus tard administrateur. Le fait d'avoir une adresse électronique dans le compte autorise l'utilisateur à recevoir des notifications concernant les activités administratives et à envoyer des invitations à d'autres utilisateurs pour rejoindre l'organisation.

Enregistrez Shibboleth en tant que fournisseur d'identités SAML auprès de ArcGIS Online

  1. Vérifiez que vous êtes connecté en tant qu'administrateur de votre organisation.
  2. En haut du site, cliquez sur Organization (Organisation), puis sur l’onglet Settings (Paramètres).
  3. Cliquez sur Sécurité dans la partie gauche de la page.
  4. Dans la section Logins (Connexions), sous SAML login (Connexion SAML), cliquez sur le bouton Set up SAML login (Configurer une connexion SAML) et sélectionnez l’option One identity provider (Un fournisseur d’identités). Sur la page Specify properties (Spécifier les propriétés), saisissez le nom de votre organisation (par exemple Ville de Redlands). Lorsque les utilisateurs accèdent au site Web de l’organisation, ce texte est intégré dans le nom de l’option de connexion SAML (par exemple, Utilisation de votre compte Ville de Redlands).
    Remarque :

    Sélectionner l’option One identity provider (Un fournisseur d’identités) vous permet d’inscrire un fournisseur d’identités SAML pour votre organisation ArcGIS Online. Pour authentifier des utilisateurs ayant des identifiants de connexion SAML issus de plusieurs fournisseurs d’identités, inscrivez une fédération SAML au lieu d’un fournisseur d’identités unique.

  5. Sélectionnez Automatically (Automatiquement) ou Upon invitation from an administrator (Sur invitation d’un administrateur) pour préciser comment les utilisateurs peuvent rejoindre l’organisation. Si vous choisissez la première option, les utilisateurs peuvent se connecter à l’organisation avec leur identifiant de connexion SAML sans qu’un administrateur n’intervienne. Leur compte est automatiquement enregistré auprès de l’organisation lors de leur première connexion. La seconde option suppose que l'administrateur invite les utilisateurs nécessaires à rejoindre l'organisation. Lorsque l’utilisateur reçoit l’invitation, il peut se connecter à l’organisation.
  6. Indiquez des informations de métadonnées concernant le fournisseur d'identités à l'aide d'une des deux options ci-dessous :
    • File (Fichier) : par défaut, Shibboleth fournit le fichier de métadonnées du fournisseur d’identités dans SHIBBOLETH_HOME/metadata. Si le fichier de métadonnées est accessible, sélectionnez l'option File (Fichier) pour les métadonnées du fournisseur d'entités SAML et recherchez le fichier SHIBBOLETH_HOME/metadata/idp-metadata.xml.ArcGIS Online valide la signature des réponses d’assertion SAML de Shibboleth à l’aide du premier certificat de signature du fichier de métadonnées du fournisseur d’identités. Toutefois, par défaut, la première signature répertoriée dans le fichier de métadonnées du fournisseur d’identités Shibboleth est pour la communication TLS avec voie de retour, alors que la seconde permet de signer les réponses d’assertion. Vous devrez mettre en commentaire la première signature ou la placer après la seconde et utiliser le fichier de métadonnées à jour pour enregistrer Shibboleth auprès de ArcGIS Online. Les signatures sont définies à l'aide de l'élément <KeyDescriptor use="signing"> du fichier de métadonnées.
    • Parameters specified here (Paramètres spécifiés ici) : sélectionnez cette option si l’URL ou le fichier de métadonnées de la fédération n’est pas accessible. Entrez les valeurs manuellement et fournissez les paramètres demandés : l’URL de connexion et le certificat, chiffrés au format BASE 64. Contactez votre administrauteur Shibboleth pour les obtenir.
  7. Configurez les paramètres avancés comme il convient :
    • Encrypt Assertion (Chiffrer l’assertion) : activez cette option si Shibboleth doit être configuré pour chiffrer les réponses d’assertion SAML.
    • Enable Signed Request (Activer la demande signée) : activez cette option pour que ArcGIS Online signe la demande d’authentification SAML envoyée à Shibboleth.
    • Entity ID (ID d’entité) : mettez cette valeur à jour pour utiliser un nouvel ID d’entité qui identifie de manière unique votre organisation ArcGIS Onlineauprès de Shibboleth.
    • Update profiles on sign in (Mettre à jour les profils lors de la connexion) : sélectionnez cette option pour synchroniser automatiquement les informations de compte (nom complet et adresse électronique) stockées dans les profils d’utilisateur de ArcGIS Online avec les dernières informations reçues de la part du fournisseur d’identités. L’activation de cette case à cocher permet à votre organisation de vérifier, lorsqu’un utilisateur se connecte avec l’identifiant de connexion SAML, si les informations relatives au fournisseur d’identités ont changé depuis la création du compte et, si tel est le cas, de mettre à jour le profil du compte ArcGIS Online de l’utilisateur en conséquence.
    • Enable SAML based group membership (Activer l’adhésion au groupe SAML) : activez cette option pour autoriser les membres de l’organisation à relier des groupes d’entreprises SAML spécifiés à des groupes ArcGIS Online pendant le processus de création de groupe.
    Remarque :

    Actuellement, les options Propager la déconnexion au fournisseur d'identités et URL de déconnexion ne sont pas prises en charge.

  8. Cliquez sur Save (Enregistrer).

Enregistrez ArcGIS Online en tant que fournisseur de services approuvé auprès de Shibboleth

  1. Configurez ArcGIS Online comme partie de confiance dans Shibboleth.
    1. Obtenez le fichier de métadonnées de votre organisation ArcGIS Online et enregistrez-le en tant que fichier XML.

      Pour obtenir le fichier de métadonnées, connectez-vous en tant qu’administrateur de votre organisation et ouvrez la page de votre organisation. Cliquez sur l’onglet Settings (Paramètres) et sur Security (Sécurité) à gauche de la page. Dans la section Logins (Identifiants de connexion), sous SAML Login (Connexion SAML), cliquez sur le bouton Download service provider metadata (Télécharger les métadonnées du fournisseur de services).

    2. Ajoutez ArcGIS Online en tant que fournisseur de services approuvé dans Shibboleth en définissant un nouvel élément MetadataProvider dans le fichier SHIBBOLETH_HOME/conf/metadata-providers.xml.

      Ajoutez l'extrait de code ci-après dans l'élément racine MetadataProvider. Saisissez le chemin d'accès du fichier XML de métadonnées de votre organisation (enregistré à l'étape 1.a ci-dessus).

      <MetadataProvider id="EsriSP" xsi:type="FilesystemMetadataProvider"
      xmlns="urn:mace:shibboleth:2.0:metadata" 
      	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      	xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd"
      	failFastInitialization="true"
      	metadataFile=" <PATH_TO_THE_SAVED_METADATA>/esri-sp-metadata.xml" />
  2. Configurez l'authentification d'utilisateur. Dans l'exemple suivant, un serveur de répertoires LDAP est configuré en tant que magasin d'utilisateurs en mettant à jour les propriétés nécessaires dans le fichier SHIBBOLETH_HOME/conf/ldap.properties:.

    idp.authn.LDAP.authenticator = bindSearchAuthenticator

    idp.authn.LDAP.ldapURL = ldaps://myldap.example.org:port

    idp.authn.LDAP.baseDN = ou=People,dc=example,dc=org

    idp.authn.LDAP.userFilter= (uid={user})

    idp.authn.LDAP.bindDN = cn=readonlyuser,dc=example,dc=org

    idp.authn.LDAP.bindDNCredential = userpassword

  3. Configurez les attributs d'utilisateur que Shibboleth doit renvoyer.
    1. Éditez SHIBBOLETH_HOME/conf/attribute-resolver.xml. Commentez ou supprimez tous les exemples de définitions d'attributs et de connecteurs de données existants.
    2. Copiez les définitions de mail, givenName et surname du fichier SHIBBOLETH_HOME/conf/attribute-resolver-full.xml vers le fichier SHIBBOLETH_HOME/conf/attribute-resolver.xml.
    3. Copiez la section du connecteur de données LDAP de SHIBBOLETH_HOME/conf/attribute-resolver-ldap.xml vers SHIBBOLETH_HOME/conf/attribute-resolver.xml. Copiez la définition d'uid ou tout autre attribut que vous souhaitez renvoyer en tant qu'attribut NAMEID.
    4. Configurez les attributs à fournir au fournisseur de services. Modifiez le fichier SHIBBOLETH_HOME/conf/attribute-filter.xml et ajoutez ce qui suit :
    <AttributeFilterPolicy id="ArcGIS">
            <PolicyRequirementRule xsi:type="Requester" value="[The Entity ID of your ArcGIS Online organization]" />
    			<AttributeRule attributeID="<NameID Attribute>">
    				<PermitValueRule xsi:type="ANY" />
    			</AttributeRule>
    
    			<AttributeRule attributeID="givenName">
    				<PermitValueRule xsi:type="ANY" />
    			</AttributeRule>
    
    			<AttributeRule attributeID="mail">
    				<PermitValueRule xsi:type="ANY" />
    			</AttributeRule>
    		</AttributeFilterPolicy>
  4. Modifiez le fichier SHIBBOLETH_HOME/conf/relying-party.xml.
    1. Copiez le code XML ci-après et collez-le dans les éléments shibboleth.RelyingPartyOverrides pour remplacer la configuration par défaut du fournisseur d’identités Shibboleth :
      <bean parent="RelyingPartyByName" c:relyingPartyIds="[The Entity ID of your ArcGIS Online organization]">
      <property name="profileConfigurations">
       <list>
        <bean parent="SAML2.SSO" 
         p:nameIDFormatPrecedence="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" />
       </list>
      </property>
      </bean>

      Le paramètre nameIDFormatPrecedence indique au fournisseur d'identités qu'il doit envoyer l'attribut d'ID de nom SAML au format unspecified, requis par ArcGIS Online et Portal for ArcGIS.

    2. Désactivez le chiffrement d’assertions dans le fournisseur d’identités Shibboleth en définissant le paramètre encryptAssertions sur false.
      <bean parent="RelyingPartyByName" c:relyingPartyIds="[The Entity ID of your ArcGIS Online organization]">
      		<property name="profileConfigurations">
      			<list>
      				<bean parent="SAML2.SSO" 
      					p:nameIDFormatPrecedence="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" 
      					p:encryptAssertions="false" />
      			</list>
      		</property>
      		</bean>
  5. Modifiez le fichier SHIBBOLETH_HOME/conf/saml-nameid.xml et remplacez cette section :
    <!--
    <bean parent="shibboleth.SAML2AttributeSourcedGenerator"
       p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
       p:attributeSourceIds="#{ {'mail'} }" />
    -->

    par la suivante :

    <bean parent="shibboleth.SAML2AttributeSourcedGenerator"
                p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"
                p:attributeSourceIds="#{ {'your-name-id-attribute'} }" />

  6. Redémarrez le démon (Linux) Shibboleth ou le service (Windows) .