SimpleSAMLphp 1.10 configureren

U kunt SimpleSAMLphp 1.10 configureren als uw identiteitsprovider voor Enterprise Logins in ArcGIS Online. Het configuratieproces bestaat in grote lijnen uit twee stappen: de identiteitsprovider van uw bedrijf registreren bij ArcGIS Online en ArcGIS Online registreren bij de identiteitsprovider van uw bedrijf.

SimpleSAMLphp registreren als de identiteitsprovider van uw bedrijf bij ArcGIS Online

Stappen:
  1. Een verificatiebron configureren in de SimpleSAMLphp IdP.
    1. Een verificatiebron maken.

      SimpleSAMLphp ondersteunt verificatie van gebruikers van verschillende verificatiebronnen zoals LDAP-server, gebruikers in een SQL-server, Active Directory-domein, enz. Het onderstaande voorbeeld laat zien hoe u een Apache Directory Server configureert als verificatiebron in SimpleSAMLphp IdP.

      Verificatiebronnen kunnen worden geconfigureerd in het bestand <SimpleSAML_HOME>/config/authsources.php. Als u de LDAP-server wilt configureren, opent u het bestand config/authsources.php en voegt u een LDAP-gebaseerde verificatiebron in de volgende indeling toe.

      'example-ldapApacheDS' => array(
      		'ldap:LDAP',
      
      		/* The hostname of the LDAP server. */
      		'hostname' => 'host:port',
      
      		/* Whether SSL/TLS should be used when contacting the LDAP server. */
      		'enable_tls' => TRUE,
      
      		/*
      		 * Which attributes should be retrieved from the LDAP server.
      		 * This can be an array of attribute names, or NULL, in which case
      		 * all attributes are fetched.
      		 */
      		'attributes' => NULL,
      
      		/*
      		 * The pattern which should be used to create the users DN given the username.
      		 * %username% in this pattern will be replaced with the users username.
      		 *
      		 * This option is not used if the search.enable option is set to TRUE.
      		 */
      		'dnpattern' => 'uid=%username%,ou=users,ou=system',
      
      		/*
      		 * As an alternative to specifying a pattern for the users DN, it is possible to
      		 * search for the username in a set of attributes. This is enabled by this option.
      		 */
      		'search.enable' => FALSE,
      
      		/*
      		 * The DN which will be used as a base for the search.
      		 * This can be a single string, in which case only that DN is searched, or an
      		 * array of strings, in which case they will be searched in the order given.
      		 */
      		'search.base' => 'ou=users,ou=system',
      
      		/*
      		 * The attribute(s) the username should match against.
      		 *
      		 * This is an array with one or more attribute names. Any of the attributes in
      		 * the array may match the value the username.
      		 */
      		'search.attributes' => array('uid', 'mail'),
      
      		/*
      		 * The username & password the simpleSAMLphp should bind to before searching. If
      		 * this is left as NULL, no bind will be performed before searching.
      		 */
      		'search.username' => 'uid=admin,ou=system',
      		'search.password' => 'password',
      	),
      

      ArcGIS Online ondersteunt de instroom van de attributen givenName en email address van de enterprise login van de bedrijfsidentiteitsprovider in ArcGIS Online. Als een gebruiker zich aanmeldt met een enterprise login en als ArcGIS Online attributen ontvangt met de namen givenname en email of mail (in ieder geval), vult ArcGIS Online de volledige naam en het e-mailadres van het gebruikersaccount in met de waarden die van de identiteitsprovider worden ontvangen.

      Wij raden aan dat u het e-mailadres van de bedrijfsidentiteitsprovider doorgeeft aan ArcGIS Online. Dit is nuttig als de gebruiker later een beheerder wordt. Door een e-mailadres in het account te hebben, kan de gebruiker meldingen ontvangen over beheerdersactiviteiten en kan deze andere gebruikers uitnodigingen verzenden om lid te worden van de organisatie.

    2. De verificatiebron die u hierboven hebt gemaakt als verificatiemodule configureren in de SimpleSAMLphp IdP.

      Open het bestand metadata/ saml20-idp-hosted.php en voeg de te gebruiken verificatiebron toe.

      /*
      	 * Authentication source to use. Must be one that is configured in
      	 * 'config/authsources.php'.
      	 */
      	'auth' => 'example-ldapApacheDS',
      
  2. De indeling voor de naam-id configureren die door de SimpleSAMLphp IdP wordt ondersteund.

    Open het bestand < SimpleSAML_HOME >/metadata/saml20-idp-hosted.php en voeg de onderstaande snippet toe. In het volgende voorbeeld wordt uid als NameID doorgegeven door de SimpleSAMLphp IdP aan ArcGIS Online na verificatie van de gebruiker.

    'NameIDFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
    		'authproc' => array(
    
    			  3 => array(
    
    			  'class' => 'saml:AttributeNameID',
    			  'attribute' => 'uid',
    	              'Format' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
    				  ),
    			),
    
  3. De SimpleSAMLphp-identiteitsprovider registreren voor de ArcGIS Online-organisatie.
    1. Controleer of u bent aangemeld en of u de beheerder van uw organisatie bent.
    2. Klik op de knop Mijn Organisatie boven aan de site. Uw organisatiepagina wordt geopend.
    3. Klik op de knop Instellingen bewerken.
    4. Klik op de koppeling Beveiliging aan de linkerzijde van de pagina.
    5. Klik in de sectie Enterprise Logins op de knop Identiteitsprovider instellen.
    6. Geef in het venster dat wordt geopend een naam voor de identiteitsprovider op.
    7. Geef meta-informatie op voor de identiteitsprovider met behulp van een van deze drie opties:

      URL: kies deze optie als de URL van de metadata van de SimpleSAMLphp-federatie toegankelijk is. Dit is doorgaans https://<simpleSAML-server>/<saml-app-name>/saml2/idp/metadata.php.

      Bestand: kies deze optie als de URL niet toegankelijk is. Sla de metadata van de URL op als XML-bestand en upload het bestand naar ArcGIS Online via de optie Bestand.

      Parameters: kies deze optie als de URL of het bestand niet toegankelijk is. Voer de waarden handmatig in en geef de gevraagde parameters op: aanmeldings-URL, bindingstype en certificaat. Neem contact op met uw SimpleSAMLphp-beheerder om deze te verkrijgen.

ArcGIS Online registreren als de vertrouwde serviceprovider bij SimpleSAMLphp

Stappen:
  1. ArcGIS Online configureren als vertrouwde serviceprovider bij SimpleSAML door het bestand <SimpleSAMLphp_HOME>/metatadata/saml20-sp-remote.php te configureren.
    1. Verkrijg het XML-bestand met metadata van uw ArcGIS Online-organisatie.

      U verkrijgt het metadatabestand door u als beheerder aan te melden bij uw organisatie en de organisatiepagina te openen. Klik op de knop Instellingen bewerken en het tabblad Beveiliging en klik in de sectie Enterprise Logins op de knop Serviceprovider ophalen.

    2. Het XML-bestand dat u in bovenstaande stap hebt verkregen, converteren naar de PHP-indeling.

      SimpleSAMLphp verwacht dat de meta-informatie van de serviceprovider in de PHP-indeling worden aangeleverd. SimpleSAMLPHP heeft een ingebouwd programma om XML-metadata om te zetten in PHP-metadata dat standaard beschikbaar is als https://<simpleSAML-server>/<saml-app-name>/admin/metadata-converter.php in uw simpleSAMLphp-installatie. XML converteren naar PHP met het conversieprogramma.

    3. Open het bestand metatadata/saml20-sp-remote.php en voeg de configuratie van de serviceprovider toe in PHP-indeling die in stap 2.1.b is gemaakt.

      Hieronder staat een voorbeeld van de aan het metadatabestand toegevoegde configuratie van de serviceprovider.

      /* The following is an AGOL organization service provider */
      $metadata['citygis.maps.arcgis.com'] = array (
        'entityid' => ' citygis.maps.arcgis.com',
        'name' =>
        array (
          'en' => 'citygis ',
        ),
        'description' =>
        array (
          'en' => 'citygis ',
        ),
        'OrganizationName' =>
        array (
          'en' => 'citygis ',
        ),
        'OrganizationDisplayName' =>
        array (
          'en' => 'citygis ',
        ),
        'url' =>
        array (
          'en' => 'https://citygis.maps.arcgis.com',
        ),
        'OrganizationURL' =>
        array (
          'en' => 'https://citygis.maps.arcgis.com',
        ),
        'contacts' =>
        array (
        ),
        'metadata-set' => 'saml20-sp-remote',
        'AssertionConsumerService' =>
        array (
          0 =>
          array (
            'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
            'Location' => 'https://citygis.maps.arcgis.com/sharing/rest/oauth2/saml/signin',
            'index' => 1,
          ),
          1 =>
          array (
            'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
            'Location' => 'https://citygis.maps.arcgis.com/sharing/rest/oauth2/saml/signin',
            'index' => 2,
          ),
        ),
        'SingleLogoutService' =>
        array (
        ),
      );
      
  2. Het attribuut configureren dat als NameID wordt doorgegeven aan ArcGIS Online vanuit de SimpleSAMLphp IdP na verificatie van de gebruiker.

    Voeg het attribuut toe aan het einde van de configuratie van de serviceprovider die u in de vorige stap hebt toegevoegd.

    In het volgende voorbeeld wordt uid als NameID doorgegeven door de SimpleSAMLphp IdP aan ArcGIS Online na verificatie van de gebruiker. (Vervang citygis.maps.arcgis.com door de URL van uw organisatie.)

    /* The following is a remote AGOL organization service provider */
    $metadata['citygis.maps.arcgis.com'] = array (
      'entityid' => ' citygis.maps.arcgis.com',
      'name' =>
      array (
        'en' => 'citygis ',
      ),
      'description' =>
      array (
        'en' => 'citygis ',
      ),
      'OrganizationName' =>
      array (
        'en' => 'citygis ',
      ),
      'OrganizationDisplayName' =>
      array (
        'en' => 'citygis ',
      ),
      'url' =>
      array (
        'en' => 'https://citygis.maps.arcgis.com',
      ),
      'OrganizationURL' =>
      array (
        'en' => 'https://citygis.maps.arcgis.com',
      ),
      'contacts' =>
      array (
      ),
      'metadata-set' => 'saml20-sp-remote',
      'AssertionConsumerService' =>
      array (
        0 =>
        array (
          'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
          'Location' => 'https://citygis.maps.arcgis.com/sharing/rest/oauth2/saml/signin',
          'index' => 1,
        ),
        1 =>
        array (
          'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
          'Location' => 'https://citygis.maps.arcgis.com/sharing/rest/oauth2/saml/signin',
          'index' => 2,
        ),
      ),
      'SingleLogoutService' =>
      array (
      ),
    
    'NameIDFormat'               => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',
    'simplesaml.nameidattribute' => 'uid',
    );
    /* The following indicates whether to send all the attributes received from the authentication source to the service provider or not.
      If true, it will send, otherwise it will not send all the attributes*/
    
      'simplesaml.attributes'      => true,
    
2/14/2014