Configurare l'autenticazione tramite un token di sicurezza SAML (SharePoint Foundation 2010)

 

Si applica a: SharePoint Foundation 2010

Ultima modifica dell'argomento: 2016-11-30

Nelle procedure contenute in questo articolo viene illustrato come configurare l'autenticazione utilizzando un token di sicurezza SAML (Security Assertion Markup Language) per un'applicazione Web di Microsoft SharePoint Foundation 2010 basata sulle attestazioni.

L'accesso SAML viene utilizzato in genere in scenari di federazione aziendale, ad esempio per fornire l'accesso a un partner aziendale. L'accesso SAML viene distribuito inoltre per fornire l'accesso a utenti interni i cui account si trovano in un dominio che non fa parte della foresta contenente SharePoint Foundation 2010.

Prima di configurare l'autenticazione utilizzando un token di sicurezza SAML per un'applicazione Web di SharePoint Foundation 2010 basata sulle attestazioni, è necessario configurare un server con Active Directory Federation Services (ADFS) 2.0. Per informazioni sulla configurazione di un server per l'esecuzione di ADFS 2.0, vedere la Guida alla distribuzione di ADFS 2.0 (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=191723&clcid=0x410).

Contenuto dell'articolo:

  • Configurare un'applicazione Web del servizio token di sicurezza di provider di identità tramite Windows PowerShell

  • Configurare un'applicazione Web del servizio token di sicurezza Relying Party

  • Stabilire una relazione di trust tra il servizio token di sicurezza di provider di identità e il servizio token di sicurezza Relying Party tramite Windows PowerShell

  • Esportare il certificato del servizio token di sicurezza di provider di identità attendibile tramite Windows PowerShell

  • Definire un identificatore univoco per il mapping delle attestazioni tramite Windows PowerShell

  • Creare una nuova applicazione Web di SharePoint e configurarla per l'utilizzo dell'accesso SAML

Configurare un'applicazione Web del servizio token di sicurezza di provider di identità tramite Windows PowerShell

Per utilizzare Windows PowerShell per configurare un'applicazione Web basata sulle attestazioni di SharePoint, eseguire le procedure seguenti.

Per configurare un'applicazione Web del servizio token di sicurezza di provider di identità tramite Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell creare un oggetto x509Certificate2, come illustrato nell'esempio seguente:

    $cert = New-Object
    System.Security.Cryptography.X509Certificates.X509Certificate2("path to cert file")
    
  6. Creare un mapping dei tipi di attestazione da utilizzare nel provider di autenticazione attendibile, come illustrato nell'esempio seguente:

    New-SPClaimTypeMapping "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
    -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    
  7. Creare un provider di accesso attendibile creando innanzitutto un valore per il parametro realm, come illustrato nell'esempio seguente:

    $realm = "urn:" + $env:ComputerName + ":domain-int"
    
  8. Creare un valore per il parametro signinurl che punti all'applicazione Web del servizio token di sicurezza, come illustrato nell'esempio seguente:

    $signinurl = "https://test-2/FederationPassive/"
    
  9. Creare un provider di accesso attendibile utilizzando lo stesso valore di IdentifierClaim presente in un mapping delle attestazioni ($map1.InputClaimType), come illustrato nell'esempio seguente:

    $ap = New-SPTrustedIdentityTokenIssuer -Name
    "WIF" -Description "Windows® Identity Foundation" -Realm
    $realm -ImportTrustCertificate $cert
    -ClaimsMappings $map1[,$map2..] -SignInUrl
    $signinurl -IdentifierClaim $map1.InputClaimType
    
  10. Creare un'applicazione Web creando innanzitutto un valore per l'account del pool di applicazioni (per l'utente corrente) come illustrato nell'esempio seguente:

    $account = "DOMAIN\" + $env:UserName
    

    Nota

    L'account del pool di applicazioni deve essere un account gestito. Per creare un account gestito, utilizzare New-SPManagedAccount.

  11. Creare un valore per l'URL dell'applicazione Web ($webappurl = "https://" + $env:ComputerName), come illustrato nell'esempio seguente:

    $wa = New-SPWebApplication -name "Claims WIF"
    -SecureSocketsLayer -ApplicationPool "SharePoint SSL"
    -ApplicationPoolAccount $account -Url $webappurl -Port 443
    -AuthenticationProvider $ap
    
  12. Creare un sito creando innanzitutto un oggetto attestazione, come illustrato nell'esempio seguente:

    $claim = New-SPClaimsPrincipal
    -TrustedIdentityTokenIssuerr $ap -Identity
    $env:UserName
    
  13. Creare un sito come illustrato nell'esempio seguente:

    $site = New-SPSite $webappurl -OwnerAlias
    $claim.ToEncodedString() -template "STS#0"
    

Configurare un'applicazione Web del servizio token di sicurezza Relying Party

Per configurare un'applicazione Web del servizio token di sicurezza Relying Party, eseguire la procedura illustrata in questa sezione.

Per configurare un'applicazione Web del servizio token di sicurezza Relying Party

  1. Aprire la console di gestione di Active Directory Federation Services (ADFS) 2.0.

  2. Nel riquadro sinistro espandere Policy e selezionare Relying Parties.

  3. Nel riquadro destro fare clic su Add Relying Party. Verrà aperta la configurazione guidata Active Directory Federation Services (AD FS) 2.0.

  4. Nella prima pagina della procedura guidata fare clic su Start.

  5. Selezionare Enter relying party configuration manually e fare clic su Next.

  6. Digitare il nome di una Relying Party e fare clic su Next.

  7. Accertarsi che l'opzione Active Directory Federation Services (AD FS) 2.0 Server Profile sia selezionata e fare clic su Next.

  8. Non utilizzare un certificato di crittografia. Fare clic su Next.

  9. Selezionare Enable support for Web-browser-based identity federation.

  10. Digitare il nome dell'URL dell'applicazione Web e aggiungere /_trust/, ad esempio https://nomeserver/_trust/. Fare clic su Next.

  11. Digitare un nome di un identificatore, ad esempio urn:COMPUTERNAME:Geneva, fare clic su Add e quindi su Next.

  12. Nella pagina di riepilogo fare clic su Next e quindi su Close. Verrà aperta la console di gestione dell'editor regole. Utilizzare questa console per configurare il mapping delle attestazioni tra un'applicazione Web LDAP e SharePoint.

  13. Nel riquadro sinistro espandere New Rule e selezionare Predefined Rule.

  14. Selezionare Create Claims from LDAP Attribute Store.

  15. Nell'elenco a discesa Attribute Store nel riquadro destro selezionare Enterprise Active Directory User Account Store.

  16. In LDAP Attribute selezionare sAMAccountName.

  17. In Outgoing Claim Type selezionare E-Mail Address.

  18. Nel riquadro sinistro fare clic su Save.

Stabilire una relazione di trust con un servizio token di sicurezza di provider di identità tramite Windows PowerShell

Per stabilire una relazione di trust con un servizio token di sicurezza di provider di identità, eseguire la procedura illustrata in questa sezione.

Per stabilire una relazione di trust con un servizio token di sicurezza di provider di identità tramite Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell stabilire una relazione di trust, come illustrato nell'esempio seguente:

    $waurl = "https://" + $env:ComputerName
    $title = "SAML-Claims"
    

Esportare il certificato del servizio token di sicurezza di provider di identità tramite Windows PowerShell

Eseguire la procedura illustrata in questa sezione per esportare il certificato del servizio token di sicurezza di provider di identità con cui si desidera stabilire una relazione di trust e quindi copiarlo in un percorso accessibile da Microsoft SharePoint Foundation 2010.

Per esportare il certificato del servizio token di sicurezza di provider di identità tramite Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell esportare il certificato del servizio token di sicurezza di provider di identità attendibile, come illustrato nell'esempio seguente:

    $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("c:\geneva.cer")
    

Definire un identificatore univoco per il mapping delle attestazioni tramite Windows PowerShell

Eseguire la procedura illustrata in questa sezione per definire un indirizzo di posta elettronica che verrà utilizzato come identificatore univoco per il mapping delle attestazioni. Queste informazioni in genere dovranno essere fornite dall'amministratore del servizio token di sicurezza attendibile, poiché solo il proprietario di tale servizio conosce quale valore nel token sarà sempre univoco per ogni utente. Si noti che l'amministratore del servizio token di sicurezza attendibile può creare un URI per rappresentare l'indirizzo di posta elettronica.

Per definire un identificatore univoco per il mapping delle attestazioni tramite Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell creare un mapping, come illustrato nell'esempio seguente:

    $map = New-SPClaimTypeMapping -IncomingClaimType "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    

Creare un nuovo provider di autenticazione

Per creare un nuovo provider di autenticazione che verrà utilizzato dall'applicazione Web, eseguire la procedura illustrata in questa sezione.

Per creare un nuovo provider di autenticazione tramite Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell creare un nuovo provider di autenticazione, come illustrato nell'esempio seguente. Si noti che realm è il parametro utilizzato dal servizio token di sicurezza attendibile per identificare una farm di SharePoint specifica.

    $realm = "urn:" + $env:ComputerName + ":Geneva"
    $ap = New-SPTrustedIdentityTokenIssuer -Name "Geneva" -Description "Geneva" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map -SignInUrl "https://test-2/FederationPassive/" -IdentifierClaim "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
    

Creare una nuova applicazione Web di SharePoint e configurarla per l'utilizzo dell'accesso SAML

In questo passaggio viene creata e configurata l'applicazione Web.

Per creare una nuova applicazione Web di SharePoint e configurarla per l'utilizzo dell'accesso SAML tramite Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell creare una nuova applicazione Web di SharePoint e configurarla per l'utilizzo dell'accesso SAML. Sostituire "WebAppUrl" e "domain\admin" con valori validi.

    $wa = New-SPWebApplication -Name "SAML Sign-In" -SecureSocketsLayer -ApplicationPool "SAML Sign-In" -ApplicationPoolAccount "domain\admin" -
    Url "WebAppUrl" -Port 443 -AuthenticationProvider $ap
    

    Nota

    Viene abilitato SSL poiché con l'accesso SAML vengono utilizzati i cookie come ticket Single Sign-on dell'utente. In questo modo gli amministratori possono concedere l'accesso alle risorse di SharePoint per la durata del token senza dover riautenticare l'utente. Senza SSL, esiste il rischio che un utente malintenzionato possa facilmente assumere il controllo di questi cookie e utilizzarli per rappresentare l'utente originale.

Al termine di queste procedure, creare un sito di SharePoint e assegnare un proprietario. Per informazioni sulla creazione di un sito di SharePoint, vedere Creare una raccolta siti (SharePoint Foundation 2010).