Skip To Content

Configurare SimpleSAMLphp

È possibile configurare SimpleSAMLphp 1.10 e versioni successive come provider di identità (IDP) per account di accesso aziendali in Portal for ArcGIS. Il processo di configurazione comporta due passaggi principali: la registrazione del provider di identità aziendale con Portal for ArcGIS e la registrazione di Portal for ArcGIS con il provider di identità aziendale.

Se si desidera, è possibile specificare nel portale i metadati sui gruppi aziendali nell'archivio identità. In questo modo nel portale è possibile creare gruppi che sfruttano i gruppi aziendali esistenti nell'archivio identità. Quando i membri accedono al portale, l'accesso a contenuti, elementi e dati è controllato tramite le regole di appartenenza definite nel gruppo aziendale. Se non si specificano i metadati necessari del gruppo aziendale, sarà comunque possibile creare gruppi. Tuttavia le regole di appartenenza verranno controllate da Portal for ArcGIS, non dall'archivio identità.

Informazioni obbligatorie

Con Portal for ArcGIS gli utenti che accedono con gli account aziendali devono ricevere specifiche informazioni sugli attributi dal provider di identità. NameID è un attributo obbligatorio che deve essere inviato dal provider di identità nella risposta SAML per consentire il funzionamento della federazione con Portal for ArcGIS. Quando un utente esegue l'accesso da IDP, Portal for ArcGIS crea un nuovo utente con il nome utente NameID nel proprio archivio utenti. Per il valore inviato dall'attributo NameID sono consentiti solo caratteri alfanumerici, _ (carattere di sottolineatura). (punto) e @ (chiocciola). Qualsiasi altro carattere verrà sostituito da caratteri di sottolineatura nel nome utente creato da Portal for ArcGIS.

Portal for ArcGIS supporta il flusso in ingresso degli attributi givenName e email address dell'account aziendale dal provider di identità aziendale. Quando un utente effettua l'accesso utilizzando un account aziendale e Portal for ArcGIS riceve attributi con i nomi givenname e email o mail (senza distinzione tra maiuscolo e minuscolo), Portal for ArcGIS inserisce il nome completo e l'indirizzo e-mail dell'account utente con i valori ricevuti dal provider di identità. Si consiglia di passare l'email address ottenuto dal provider di identità aziendale per consentire all'utente di ricevere notifiche.

registrare SimpleSAMLphp come provider di identità aziendale con Portal for ArcGIS

  1. Configurare un'origine di autenticazione nell'IdP di SimpleSAMLphp.
    1. Creare un'origine di autenticazione.

      SimpleSAMLphp consente di autenticare gli utenti utilizzando diverse origine di autenticazione, tra cui il server LDAP, gli utenti in un server SQL, il dominio Active Directory e così via. Nell'esempio seguente viene spiegato come configurare un server directory Apache come origine di autenticazione nell'IdP di SimpleSAMLphp.

      È possibile configurare le origini di autenticazione nel file <SimpleSAML_HOME>/config/authsources.php. Per configurare il server LDAP, aprire il file config/authsources.php e aggiungere un'origine di autenticazione basata su LDAP nel formato seguente.

      '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 that should be used to create the users DN given the username.
      		 * %username% in this pattern will be replaced with the user's 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 that 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',
      	),

      Portal for ArcGIS supporta il flusso in ingresso degli attributi givenName e email address dell'account aziendale dal provider di identità aziendale. Quando un utente effettua l'accesso utilizzando un account aziendale e Portal for ArcGIS riceve attributi con i nomi givenname e email o mail (senza distinzione tra maiuscolo e minuscolo), Portal for ArcGIS inserisce il nome completo e l'indirizzo e-mail dell'account utente con i valori ricevuti dal provider di identità.

      Si consiglia di passare a Portal for ArcGIS l'indirizzo e-mail ottenuto dal provider di identità aziendale. Questa operazione è utile se l'utente diventa in seguito un amministratore. La disponibilità di un indirizzo e-mail nell'account consente all'utente di ricevere notifiche su eventuali attività amministrative e di inviare ad altri utenti inviti ad iscriversi all'organizzazione.

    2. Configurare l'origine di autenticazione creata in precedenza come modulo di autenticazione nell'IdP di SimpleSAMLphp. Aprire il file metadata/ saml20-idp-hosted.php e aggiungere l'origine di autenticazione da utilizzare.
      /*
      	 * Authentication source to use. Must be one that is configured in	 * 'config/authsources.php'.	 */
      	'auth' => 'example-ldapApacheDS',
  2. Configurare il formato dell'identificatore di nomi supportato dall'IdP di SimpleSAMLphp. Aprire il file < SimpleSAML_HOME >/metadata/saml20-idp-hosted.php e aggiungere il frammento di codice seguente. Nell'esempio successivo l'IdP di SimpleSAMLphp passerà l'uid come NameID a Portal for ArcGIS dopo l'autenticazione dell'utente.
    '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. Registrare SimpleSAMLphp come provider di identità aziendale per Portal for ArcGIS.
    1. Accedere al Portale Web come amministratore dell'organizzazione e fare clic su La mia organizzazione > Modifica impostazioni > Sicurezza.
    2. Nella sezione Accessi aziendali fare clic sul pulsante Imposta provider di identità ed immettere il nome dell'organizzazione nella finestra che viene visualizzata, ad esempio City of Redlands. Quando gli utenti accedono al sito web del portale, questo testo viene visualizzato come parte integrante dell'opzione di accesso SAML, ad esempio Con l'account City of Redlands.
      Nota:

      È possibile registrare un provider di identità aziendale per il portale.

    3. Scegliere se gli utenti potranno iscriversi all'organizzazione Automaticamente o Dopo aver aggiunto gli account al portale. Se si seleziona la prima opzione, gli utenti potranno accedere all'organizzazione con l'account di accesso aziendale senza alcun intervento da parte di un amministratore. L'account viene registrato automaticamente con l'organizzazione al primo accesso. Con la seconda opzione è invece necessario che l'amministratore registri gli account necessari con l'organizzazione usando un'utilità da riga di comando o lo script Python di esempio. Una volta registrati gli account, gli utenti potranno accedere all'organizzazione.
      Suggerimento:

      Si consiglia di designare almeno un account aziendale come amministratore del portale e di abbassare di livello o di eliminare l'account amministratore iniziale. Si consiglia inoltre di disabilitare il pulsante Crea account e la pagina di registrazione (signup.html) del Portale Web per impedire agli utenti di creare i propri account. Per istruzioni complete, consultare Configurare un provider di identità conforme a SAML con il portale.

    4. Fornire informazioni sui metadati del provider di identità utilizzando una delle tre opzioni seguenti:

      URL: scegliere questa opzione se l'URL dei metadati di federazione SimpleSAMLphp è accessibile. In genere l'URL è https://<simpleSAML-server>/<saml-app-name>/saml2/idp/metadata.php.

      Nota:

      Se il provider di identità aziendale include un certificato autofirmato, potrebbe verificarsi un errore quando si prova a specificare l'URL HTTPS dei metadati. Questo errore si verifica perché in Portal for ArcGIS non è possibile verificare il certificato autofirmato del provider di identità. In alternativa, utilizzare HTTP nell'URL, una delle opzioni seguenti oppure configurare il provider di identità con un certificato attendibile.

      File: scegliere questa opzione se l'URL non è accessibile. Salvare i metadati dell'URL in un file XML e caricare il file su Portal for ArcGIS mediante l'opzione File.

      Parametri: scegliere questa opzione se l'URL o il file non è accessibile. Immettere i valori manualmente e fornire i parametri richiesti: URL di accesso e certificato. Per ottenere questi parametri, contattare l'amministratore di SimpleSAMLphp.

  4. Configurare le impostazioni avanzate, laddove applicabile:
    • Crittografare asserzione: selezionare questa opzione se SimpleSAMLphp verrà configurato per crittografare le risposte all'asserzione SAML.
    • Abilita richiesta firmata: selezionare questa opzione per consentire a Portal for ArcGIS di firmare la richiesta di autenticazione SAML inviata a SimpleSAMLphp.
    • ID entità: aggiornare questo valore per utilizzare un nuovo ID entità per identificare in maniera univoca il portale in SimpleSAMLphp.
    • Propaga logout a provider di identità: selezionare questa opzione per consentire a Portal for ArcGIS di utilizzare un URL di disconnessione per disconnettere l'utente da SimpleSAMLphp. Immettere l'URL da utilizzare nell'impostazione URL di disconnessione. Se il provider di identità richiede che l'URL di disconnessione sia firmato, l'opzione Abilita richiesta firmata deve essere selezionata.
    • URL di disconnessione: l'URL del provider di identità da utilizzare per disconnettere l'utente attualmente connesso. In genere l'URL di disconnessione è https://idphost.domain.com/simplesaml/saml2/idp/SingleLogoutService.php. Questo URL è definito nell'elemento SingleLogoutService nel file di metadati di IDP. In genere l'URL del file di metadati è http://[simpleSAML-server]/simplesaml/saml2/idp/metadata.php.

    Le impostazioni Crittografare asserzione e Abilita richiesta firmata utilizzano il certificato samlcert nell'archivio chiavi del portale. Per utilizzare un nuovo certificato, eliminare il certificato samlcert, creare un nuovo certificato con lo stesso alias (samlcert) seguendo la procedura in Importare un certificato nel portale e riavviare il portale.

  5. Se si desidera, specificare nel portale i metadati relativi ai gruppi aziendali nell'archivio identità.
    1. Accedere alla directory di Portal for ArcGIS come amministratore dell'organizzazione. Il formato dell'URL è https://webadaptorhost.domain.com/webadaptorname/portaladmin.
    2. Fare clic su Sicurezza > Configurazione > Aggiorna archivio identità.
    3. Inserire il JSON di configurazione del gruppo nella casella di testo Configurazione archivio gruppo (in formato JSON).
      • Copiare il testo seguente e modificarlo in modo che contenga informazioni specifiche per il proprio sito:

        {
          "type": "LDAP",  "properties": {
            "userPassword": "secret",    "isPasswordEncrypted": "false",    "user": "uid=admin,ou=system",    "ldapURLForUsers": "ldaps://bar2:10636/ou=users,ou=ags,dc=example,dc=com",    "ldapURLForRoles": "ldaps://bar2:10636/dc=example,dc=com",    "usernameAttribute": "cn",    "caseSensitive": "false",    "userSearchAttribute": "cn",    "memberAttributeInRoles": "member",    "rolenameAttribute":"cn"
          }
        }

        Nella maggior parte dei casi, sarà necessario solo modificare i valori per i parametri user, userPassword, ldapURLForUsers e ldapURLForRoles. L'URL di LDAP deve essere fornito dall'amministratore LDAP.

        Nell'esempio precedente, l'URL LDAP fa riferimento agli utenti all'interno di un OU (ou=utenti) specifico. Se gli utenti sono presenti in più OU, l'URL LDAP può fare riferimento a un OU di livello superiore o anche al livello radice se necessario. In questo caso, l'aspetto dell'URL è il seguente:

        "ldapURLForUsers": "ldaps://bar2:10636/dc=example,dc=com",

        L'account utilizzato per il parametro user deve disporre delle autorizzazioni per cercare i nomi dei gruppi nell'organizzazione. Anche se la password viene digitata in testo non crittografato, verrà crittografata quando viene archiviata nella directory di configurazione del portale o visualizzata.

        Se LDAP è configurato in modo da non fare distinzione tra maiuscole e minuscole, impostare il parametro caseSensitive su false.

    4. Una volta completata l'immissione di JSON per la configurazione dell'archivio utenti, fare clic su Aggiorna configurazione per salvare le modifiche e riavviare il portale.

registrazione di Portal for ArcGIS come provider di servizi attendibili con SimpleSAMLphp

  1. Configurare Portal for ArcGIS come provider di servizi attendibili con SimpleSAMLphp configurando il file <SimpleSAMLphp_HOME>/metatadata/saml20-sp-remote.php.
    1. Ottenere il file XML dei metadati dell'organizzazione Portal for ArcGIS.

      Per ottenere il file dei metadati, accedere come amministratore dell'organizzazione e aprire la pagina dell'organizzazione. Fare clic sul pulsante Modifica impostazioni e sulla scheda Protezione, quindi nella sezione Accessi aziendali fare clic sul pulsante Ottieni provider di servizi.

    2. Convertire in formato PHP il file XML ottenuto nel passaggio precedente.

      In SimpleSAMLphp le informazioni dei metadati del provider di servizi devono essere fornite in formato PHP. SimpleSAMLphp include codice XML incorporato al convertitore di metadati PHP, disponibile per impostazione predefinita come https://<simpleSAML-server>/<saml-app-name>/admin/metadata-converter.php nell'installazione di SimpleSAMLphp. Utilizzare questo convertitore per convertire il codice XML in PHP.

    3. Aprire il file metatadata/saml20-sp-remote.php e aggiungere la configurazione del provider di servizi in formato PHP creata al passo 1.b, sopra descritto.

      Di seguito è riportato un esempio di configurazione del provider di servizi aggiunta nel file dei metadati.

      /* The following is a Portal for ArcGIS organization service provider */
      $metadata['webadaptorhost.domain.com.webadaptorname'] = array (  'entityid' => ' webadaptorhost.domain.com.webadaptorname',  'name' =>
        array (    'en' => 'portal ',  ),  'description' =>
        array (    'en' => 'portal ',  ),  'OrganizationName' =>
        array (    'en' => 'portal ',  ),  'OrganizationDisplayName' =>
        array (    'en' => 'portal ',  ),  'url' =>
        array (    'en' => 'https://webadaptorhost.domain.com/webadaptorname',  ),  'OrganizationURL' =>
        array (    'en' => 'https://webadaptorhost.domain.com/webadaptorname',  ),  'contacts' =>
        array (  ),  'metadata-set' => 'saml20-sp-remote',  'AssertionConsumerService' =>
        array (    0 =>
          array (      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',      'Location' => 'https://webadaptorhost.domain.com/webadaptorname/sharing/rest/oauth2/saml/signin',      'index' => 1,    ),    1 =>
          array (      'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',      'Location' => 'https://webadaptorhost.domain.com/webadaptorname/sharing/rest/oauth2/saml/signin',      'index' => 2,    ),  ),  'SingleLogoutService' =>
        array (  ),
      );
  2. Configurare l'attributo passato dall'IdP di SimpleSAMLphp come NameID a Portal for ArcGIS dopo l'autenticazione dell'utente. A tale scopo, aggiungere l'attributo alla fine della configurazione del provider di servizi aggiunta al passaggio precedente.

    Nell'esempio successivo l'IdP di SimpleSAMLphp passerà l'uid come NameID a Portal for ArcGIS dopo l'autenticazione dell'utente. Sostituire webadaptorhost.domain.com.webadaptorname con l'URL del portale.

    'NameIDFormat'               => 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent', 'simplesaml.nameidattribute' => 'uid',
    /* The following indicates whether or not to send all the attributes received from the authentication source to the service provider.  If true, it will send, otherwise it will not send all the attributes*/
      'simplesaml.attributes'      => true,
    );
  3. Se si sceglie l'impostazione avanzata Crittografare asserzione quando si registra SimpleSAMLphp come provider di identità aziendale, aggiungere l'attributo sottostante alla fine della configurazione del provider di servizi aggiunta al passaggio 1.
    /*
      Whether assertions sent to this SP should be encrypted. The default value is FALSE.  */
      'assertion.encryption' => true,
    );