Configurare l'autenticazione da server a server tra SharePoint Server e SharePoint Online

 

**Si applica a:**SharePoint Online, SharePoint Server 2013, SharePoint Server 2016

**Ultima modifica dell'argomento:**2017-06-21

Riepilogo: informazioni su come creare un’attendibilità tra server specifici tra SharePoint Server e SharePoint Online.

Questo articolo fa parte di una roadmap di procedure per configurare soluzioni ibride di SharePoint. Accertarsi di seguire una roadmap quando si eseguono le procedure illustrate in questo articolo.

Configurare l'autenticazione da server a server

In questo articolo sono contenute istruzioni per il processo di distribuzione dell’ambiente ibrido di SharePoint, che integra SharePoint Server e SharePoint Online.

Suggerimento

Per avere risultati affidabili, eseguire le procedure nell'ordine in cui sono riportate in questo articolo.

Verifica delle impostazioni dell'applicazione Web

Nell’ambiente ibrido di SharePoint, gli utenti federati possono inviare richieste a SharePoint Online da qualsiasi applicazione Web SharePoint Server configurata per l'utilizzo dell'autenticazione integrata di Windows con NTLM.

È necessario ad esempio verificare che i siti Centro ricerche locali che si desidera utilizzare nella soluzione siano configurati per l'utilizzo dell'autenticazione integrata di Windows con NTLM. In caso contrario, sarà necessario riconfigurare l'applicazione Web per l'utilizzo dell'autenticazione di Windows con NTLM oppure utilizzare un sito Centro ricerche in un'applicazione Web in grado di soddisfare questo requisito. È inoltre necessario accertarsi che gli utenti che desiderano ottenere risultati di ricerca da SharePoint Online siano utenti federati.

Per verificare che un'applicazione Web soddisfi questo requisito

  1. Verificare che l'account utente che eseguirà questa procedura sia membro del gruppo Amministratori farm di SharePoint.

  2. In Amministrazione centrale fare clic su Gestione applicazioni > Gestisci applicazioni Web.

  3. Nella colonna Nome selezionare l'applicazione Web che si desidera verificare e quindi fare clic su Provider di autenticazione sulla barra multifunzione.

  4. Nella colonna Area della finestra di dialogo Provider di autenticazione fare clic sull'area a cui è associato il sito Centro ricerche.

  5. Nella finestra di dialogo Modifica autenticazione verificare che siano selezionati l'autenticazione integrata di Windows e NTLM, come mostrato nella figura riportata di seguito.

    This figure illustrates the authentication type setting for a web application

Configurazione di OAuth su HTTP (se necessario)

Per impostazione predefinita, OAuth in SharePoint Server richiede HTTPS. Se è stata configurata l'applicazione Web principale in modo che utilizzi HTTP anziché SSL, è necessario abilitare OAuth su HTTP su ogni server Web della farm SharePoint Server.

Nota

Se l'applicazione Web principale è stata configurata per l'utilizzo di SSL, questo passaggio non è necessario ed è possibile andare direttamente a Creazione e configurazione di un'applicazione di destinazione per il certificato SSL in SharePoint Online.

Per abilitare OAuth su HTTP, eseguire i seguenti comandi con l'account amministratore della farm al prompt dei comandi di SharePoint 2016 Management Shell in ogni server Web della farm di SharePoint Server.

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $true
$serviceConfig.Update()

Se OAuth su HTTP è stato abilitato per il testing ma si desidera riconfigurare l'ambiente per l'utilizzo di SSL, è possibile disabilitarlo. A tale scopo, al prompt dei comandi di SharePoint 2016 Management Shell in ogni server Web della farm di SharePoint Server eseguire i seguenti comandi con l'account amministratore della farm.

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $false
$serviceConfig.Update()

Configurazione dell'autenticazione da server a server tra SharePoint Server in locale e SharePoint Online

In questa sezione verranno fornite informazioni utili per configurare l'autenticazione da server a server tra i seguenti componenti:

  • SharePoint Server

  • SharePoint Online

  • Azure Active Directory

Quando si configura l'autenticazione da server a server per gli ambienti ibridi, si crea una trust relationship tra la on-premises SharePoint farm e il SharePoint Onlinetenant, che utilizza Azure Active Directory come servizio attendibile per la firma di token. Aggiungendo gli snap-in e i moduli di PowerShell necessari, questo processo può verificarsi in un'unica finestra di PowerShell in un server Web SharePoint locale.

Suggerimento

È opportuno prendere nota delle operazioni effettuate, dei cmdlet di PowerShell eseguiti e degli errori che possono verificarsi. A tale scopo, è necessario acquisire tutto il contenuto del buffer di PowerShell al termine, prima di chiudere la finestra. In questo modo si otterrà una cronologia dei passaggi effettuati, che risulterà utile nel caso si debba eseguire la risoluzione dei problemi o spiegare il processo ad altri. Può inoltre essere utile per ricordare le operazioni effettuate qualora la configurazione avvenga per fasi.

Di seguito è riportata una panoramica generale delle procedure da eseguire in questa sezione:

  1. Configurazione del servizio token di sicurezza (STS) in SharePoint Server:

    • Creazione di un nuovo certificato servizio token di sicurezza

    • Sostituzione del certificato servizio token di sicurezza predefinito in ogni server della farm di SharePoint Server

  2. Installazione degli strumenti di gestione dei servizi online in un server Web della farm di SharePoint Server

  3. Configurazione dell'autenticazione da server a server:

    • Impostazione delle variabili che verranno utilizzate nei passaggi successivi

    • Caricamento del nuovo certificato servizio token di sicurezza locale in SharePoint Online

    • Aggiunta di un nome dell'entità servizio (SPN) a Azure

    • Registrazione dell'ID oggetto entità applicazione di SharePoint Online in SharePoint Server in locale

    • Configurazione di un'area di autenticazione comune tra la farm di SharePoint Server locale e SharePoint Online

    • Configurazione di un proxy di applicazione di Azure Active Directory in locale

Installazione degli strumenti di gestione dei servizi online e configurazione della finestra di Windows PowerShell

Per proseguire, è necessario installare questi strumenti in un server Web SharePoint Server locale:

  • Assistente per l'accesso ai Microsoft Online Services

  • I Azure Active Directory Module per Windows PowerShell

  • SharePoint Online Management Shell

Nella maggior parte dei casi è consigliabile procedere su un server Web della farm di SharePoint perché è più facile caricare lo snap-in Microsoft.SharePoint.PowerShell nei server Web che non nei server senza SharePoint Server installato.

L’autenticazione per SharePoint Server, SharePoint Online e Azure Active Directory richiede diversi account utente. Per informazioni su come determinare l'account da utilizzare, vedere Account necessari per la configurazione e la verifica di una soluzione ibrida.

Nota

Per rendere più semplice completare i passaggi descritti in questa sezione, è possibile aprire una finestra del prompt dei comandi di PowerShell in un server Web SharePoint Server e aggiungere moduli e snap-in che consentono di connettersi a SharePoint Server, SharePoint Online e Azure Active Directory. Le istruzioni dettagliate su come eseguire questa operazione verranno fornite più avanti in questo articolo. Questa finestra verrà tenuta aperta e utilizzata per tutti i rimanenti passaggi di PowerShell in questo articolo.

Per installare gli strumenti di gestione dei servizi online e configurare la finestra di PowerShell, effettuare le seguenti operazioni:

  1. Installare gli strumenti di gestione dei servizi online:

    1. Installare l'Assistente per l'accesso ai Microsoft Online Services:

      Assistente per l'accesso ai Microsoft Online Services per professionisti IT - BETA (versione a 64 bit) (https://go.microsoft.com/fwlink/?LinkId=391943)

      Per ulteriori informazioni, vedere Assistente per l'accesso ai Microsoft Online Services per professionisti IT - RTW (https://go.microsoft.com/fwlink/?LinkId=392322).

    2. Installare Azure Active Directory Module per Windows PowerShell:

      Modulo di Windows Azure Active Directory per Windows PowerShell (versione a 64 bit) (https://go.microsoft.com/fwlink/p/?linkid=236297)

      Per ulteriori informazioni su Azure Active Directory Module per Windows PowerShell, vedere Gestione di Windows Azure AD con Windows PowerShell (https://aka.ms/aadposh).

    3. Installare SharePoint Online Management Shell:

      SharePoint Online Management Shell (versione a 64 bit) (https://go.microsoft.com/fwlink/?LinkId=392323)

      Per ulteriori informazioni, vedere Introduzione a SharePoint Online Management Shell (https://go.microsoft.com/fwlink/?LinkId=392324).

  2. Aprire una finestra di PowerShell.

  3. Per essere certi di non riempire il buffer e perdere informazioni della cronologia dei comandi, aumentare le dimensioni del buffer della finestra di PowerShell:

    1. Fare clic sull'angolo superiore sinistro della finestra di PowerShell e quindi su Proprietà.

    2. Nella finestra delle proprietà di PowerShell fare clic sulla scheda Layout.

    3. In Dimensioni buffer dello schermo impostare il campo Altezza su 9999 e quindi fare clic su OK.

  4. In questo passaggio i moduli scaricati vengono caricati, in modo da poter essere utilizzati nella sessione di PowerShell. Copiare i seguenti comandi nella sessione di PowerShell e premere INVIO:

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    Import-Module Microsoft.PowerShell.Utility
    Import-Module MSOnline -force
    Import-Module MSOnlineExtended -force
    Import-Module Microsoft.Online.SharePoint.PowerShell -force
    

    Se è necessario rieseguire successivamente uno qualsiasi dei passaggi di configurazione, ricordarsi di ripetere questi comandi per caricare i moduli e gli snap-in necessari in PowerShell.

  5. Configurare la comunicazione remota in Microsoft PowerShell:

    Al prompt dei comandi di PowerShell digitare i seguenti comandi:

    enable-psremoting
    new-pssession
    

    Per ulteriori informazioni, vedere about_Remote_Requirements (https://go.microsoft.com/fwlink/?LinkId=392326).

  6. Per eseguire l'accesso al tenant di SharePoint Online, al prompt dei comandi di PowerShell digitare i seguenti comandi:

    $cred=Get-Credential
    Connect-MsolService -Credential $cred
    

    Verrà richiesto di eseguire l'accesso. Sarà necessario accedere utilizzando un account amministratore globale di Office 365.

    Lasciare la finestra di PowerShell aperta fin quando non vengono completati tutti i passaggi descritti in questo articolo. È necessaria per una serie di procedure illustrate nelle sezioni che seguono.

Configurazione dell'autenticazione da server a server (S2S)

Ora che sono stati installati gli strumenti che consentono di amministrare in remoto Azure Active Directory e SharePoint Online, si è pronti per impostare l'autenticazione da server a server.

Informazioni sulle variabili da creare

In questa sezione vengono descritte le variabili da impostare nella procedura riportata di seguito. Queste variabili contengono informazioni importanti che verranno utilizzate in molti dei passaggi di configurazione restanti.

Variable

Comments

$spcn

Il nome di dominio radice del dominio pubblico. Questo valore non deve avere il formato di un URL, ma deve essere costituito dal solo nome del dominio, senza protocollo.

Un esempio è adventureworks.com.

$spsite

L'URL interno dell'applicazione Web principale locale, ad esempio https://sharepoint o https://sharepoint.adventureworks.com. Questo valore è un URL completo con il protocollo appropriato (http:// o https://).

Questo è l'URL interno dell'applicazione Web da utilizzare per la funzionalità ibrida.

Un esempio è https://sharepoint o https://sharepoint.adventureworks.com.

$site

L'oggetto dell'applicazione Web principale locale. Il comando che inserisce dati in questa variabile recupera l'oggetto del sito specificato nella variabile $spsite.

I dati vengono inseriti automaticamente in questa variabile.

$spoappid

L'ID entità applicazione di SharePoint Online è sempre 00000003-0000-0ff1-ce00-000000000000. Questo valore generico identifica gli oggetti di SharePoint Online in un tenant di Office 365.

$spocontextID

L'ID contesto (ObjectID) del tenant di SharePoint Online. Questo valore corrisponde a un GUID univoco che identifica il tenant di SharePoint Online.

Questo valore viene rilevato automaticamente quando si esegue il comando per impostare la variabile.

$metadataEndpoint

L'URL usato dal proxy Azure Active Directory a cui connettersi alla propria tenancy di Azure Active Directory.

Non è necessario immettere un valore per questa variabile.

Passaggio 1: impostare le variabili

Ora che sono state identificate le variabili da impostare, procedere secondo queste istruzioni per impostarle. Inserendo a monte i dati nelle variabili di uso più comune, si dovrebbero eseguire più velocemente i passaggi restanti. I dati resteranno inseriti nelle variabili finché non si chiuderà la sessione di PowerShell. Specificare informazioni accurate ovunque siano visibili parentesi uncinate (< >) e rimuoverle sempre prima di eseguire il comando. Non modificare il codice all'esterno delle parentesi uncinate.

Nota

Se è necessario rieseguire uno qualsiasi di questi passaggi di configurazione in un secondo momento, iniziare eseguendo i seguenti comandi di PowerShell relativi a questo passaggio per reinserire i dati nelle variabili importanti.

Copiare le seguenti dichiarazioni di variabili e incollarle in un editor di testo come il Blocco note. Impostare i valori di input specifici dell'organizzazione. Al prompt dei comandi di PowerShell configurato con gli strumenti di gestione dei servizi online eseguire questi comandi:

$spcn="*.<public_root_domain_name>.com"
$spsite=Get-Spsite <principal_web_application_URL>
$site=Get-Spsite $spsite
$spoappid="00000003-0000-0ff1-ce00-000000000000"
$spocontextID = (Get-MsolCompanyInformation).ObjectID
$metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $spocontextID + "/metadata/json/1"

Dopo aver inserito i dati in queste variabili, è possibile visualizzarne i valori immettendo il nome della variabile nella finestra di PowerShell. Ad esempio, immettendo $metadataEndpoint viene restituito un valore simile al seguente:

https://accounts.accesscontrol.windows.net/00fceb75-246c-4ac4-a0ad-7124xxxxxxxx/metadata/json/1

Passaggio 2: caricare il certificato servizio token di sicurezza in SharePoint Online

In questo passaggio il certificato servizio token di sicurezza della farm di SharePoint Server viene caricato nel tenant di SharePoint Online, che consente a SharePoint Server e SharePoint Online di connettersi e utilizzare le rispettive applicazioni di servizio.

This figure illustrates the architecture involved when a STS certificate is uploaded to SharePoint Online

I comandi riportati in questo passaggio aggiungono il nuovo certificato servizio token di sicurezza locale (solo chiave pubblica) all'SharePoint Onlineoggetto entità di della tenancy di Office 365.

Al prompt dei comandi di PowerShell digitare i seguenti comandi:

$stsCert=(Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate
$binCert = $stsCert.GetRawCertData()
$credValue = [System.Convert]::ToBase64String($binCert);
New-MsolServicePrincipalCredential -AppPrincipalId $spoappid -Type asymmetric -Usage Verify -Value $credValue

Passaggio 3: aggiungere un nome SPN al nome del dominio pubblico Azure Active Directory

In questo passaggio viene aggiunto un nome dell'entità servizio (SPN) al tenant di Azure Active Directory. Tale nome è costituito dall'oggetto entità di SharePoint Online e dallo spazio dei nomi DNS pubblico dell'azienda.

Come avviene per i nomi SPN in Active Directory, creando tale SPN si registra in Azure Active Directory un oggetto utilizzato per supportare l'autenticazione reciproca tra SharePoint Server e il tenant di SharePoint Online. La sintassi di base per il nome SPN è la seguente:

<tipo di servizio>/<nome istanza>

dove:

  • <tipo di servizio> è l'oggetto entità di SharePoint Online, che è uguale per tutti i tenant di SharePoint Online.

  • <nome istanza> è l'URL dello spazio dei nomi di dominio DNS pubblico dell'azienda, espresso sempre con un carattere jolly, anche se il certificato SSL di canale sicuro è un certificato SAN.

Di seguito è riportato un esempio:

00000003-0000-0ff1-ce00-000000000000/*.<public domain name>.com

Se il nome comune nel certificato è sharepoint.adventureworks.com, la sintassi del nome SPN sarà simile alla seguente:

00000003-0000-0ff1-ce00-000000000000/*.adventureworks.com

Utilizzando un valore con carattere jolly, si consente a SharePoint Online di convalidare le connessioni a qualsiasi host in tale dominio. Questo è utile nel caso sia necessario cambiare il nome host dell'endpoint esterno (se incluso nella topologia) oppure si desideri cambiare l'applicazione Web di SharePoint Server in futuro.

Per aggiungere il nome SPN a Azure Active Directory digitare i seguenti comandi nel prompt dei comandi di Azure Active Directory Module per Windows PowerShell:

$msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid
$spns = $msp.ServicePrincipalNames
$spns.Add("$spoappid/$spcn") 
Set-MsolServicePrincipal -AppPrincipalId $spoappid -ServicePrincipalNames $spns

Per convalidare che il nome SPN sia stato impostato, al prompt dei comandi di Azure Active Directory Module per Windows PowerShell digitare i seguenti comandi:

$msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid
$spns = $msp.ServicePrincipalNames 
$spns

Dovrebbe essere visualizzato un elenco corrente dei nomi SPN per SharePoint Online nella tenancy di Office 365 e uno di tali SPN dovrebbe includere il nome di dominio radice pubblico, preceduto dall'ID entità applicazione di SharePoint Online. Questa è una registrazione con carattere jolly e deve risultare simile a quella del seguente esempio:

00000003-0000-0ff1-ce00-000000000000/*.<nome dominio pubblico>.com

Questo dovrebbe essere l'unico nome SPN dell'elenco a includere il nome di dominio radice pubblico.

Passaggio 4: registrare l'ID oggetto entità applicazione di SharePoint Online in SharePoint Server

In questo passaggio l'ID oggetto entità applicazione di SharePoint Online viene registrato con il servizio Gestione applicazione SharePoint locale, che consente a SharePoint Server di eseguire l'autenticazione in SharePoint Online con OAuth.

Al prompt dei comandi di PowerShell digitare i seguenti comandi:

$spoappprincipalID = (Get-MsolServicePrincipal -ServicePrincipalName $spoappid).ObjectID
$sponameidentifier = "$spoappprincipalID@$spocontextID"
$appPrincipal = Register-SPAppPrincipal -site $site.rootweb -nameIdentifier $sponameidentifier -displayName "SharePoint Online"

Per convalidare questo passaggio, al prompt dei comandi di PowerShell digitare la variabile $appPrincipal:

$appPrincipal | fl

L'output previsto è una descrizione dell'entità applicazione registrata con il nome SharePoint Online, che dovrebbe essere simile al seguente.

This figure illustrates the registered application principal for SharePoint Online

Passaggio 5: impostare l'area di autenticazione di SharePoint

In questo passaggio l'area di autenticazione della farm di SharePoint Server viene impostata sull'ID contesto della tenancy di Office 365 dell'organizzazione.

Al prompt dei comandi di PowerShell digitare il seguente comando:

Set-SPAuthenticationRealm -realm $spocontextID

Per convalidare questo passaggio, al prompt dei comandi di PowerShell digitare i seguenti comandi:

$spocontextID
 Get-SPAuthenticationRealm

L'output di ognuno di questi comandi è il GUID che rappresenta l'ID contesto della tenancy di SharePoint Online. Questi GUID devono essere identici.

Importante

Se sono stati configurati script di impostazione della farm che specificano il valore dell'area di autenticazione della farm, a questo punto è necessario aggiornarli con il nuovo valore prima di rieseguirli.
Per ulteriori informazioni sui requisiti relativi ai valori per l'area di autenticazione negli script di impostazione della farm, vedere Pianificare l'autenticazione da server a server in SharePoint Server. Poiché questa farm di SharePoint è stata configurata per far parte della configurazione ibrida, il valore dell'area di autenticazione della farm deve corrispondere sempre all'identificatore di contesto del tenant. Se si modifica questo valore, la farm non parteciperà più alla funzionalità ibrida.

Passaggio 6: configurare un proxy locale per Azure Active Directory

In questo passaggio si crea un servizio proxy Azure Active Directory nella farm di SharePoint Server. In questo modo si implementa Azure Active Directory come autorità di certificazione che rilascia token trusted che SharePoint Server utilizzerà per effettuare l'accesso e l'autenticazione dei token di attestazione da SharePoint Online.

Al prompt dei comandi di PowerShell digitare i seguenti comandi:

New-SPAzureAccessControlServiceApplicationProxy -Name "ACS" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup
New-SPTrustedSecurityTokenIssuer -MetadataEndpoint $metadataEndpoint -IsTrustBroker:$true -Name "ACS"

Per convalidare il comando New-SPAzureAccessControlServiceApplicationProxy:

  1. Passare al sito Web Amministrazione centrale SharePoint 2016 e fare clic su Sicurezza > Sicurezza generale > Gestisci relazione di trust.

  2. Verificare che esista una voce con un nome che inizia per ACS e di tipo Consumer servizio attendibile.

Per convalidare questo passaggio, al prompt dei comandi di PowerShell digitare il seguente comando:

Get-SPTrustedSecurityTokenIssuer

L'output previsto è una descrizione dell'emittente attendibile di token della farm, in cui il valore della proprietà RegisteredIssuerName è il seguente:

00000001-0000-0000-c000-000000000000@<ID contesto>

dove <ID contesto> è l'ID contesto della tenancy di SharePoint Online, ovvero il valore nella variabile $spocontextID.

Convalida e passaggi successivi

Dopo aver completato le attività di questo argomento e i relativi passaggi di convalida, è necessario controllare l’SSO e la sincronizzazione della directory eseguendo i passaggi di convalida descritti in Convalida della configurazione di SSO.

Per essere certi di disporre di una cronologia dei passaggi eseguiti, è consigliabile acquisire l'intero contenuto del buffer di PowerShell in un file. Questo sarà fondamentale nel caso sia necessario fare riferimento alla cronologia di configurazione per risolvere problemi o per qualsiasi altro motivo. Sarà inoltre utile per tenere traccia del punto in cui si è arrivati se le attività di configurazione si estendono su più giorni o coinvolgono più persone.

Dopo aver completato e convalidato le attività di configurazione in questo argomento, continuare con la roadmap sulla configurazione.

See also

Ambiente ibrido per SharePoint Server
Installare e configurare SharePoint Server ibrido