Condividi tramite


Configurare l'autenticazione da server a server per un ambiente ibrido di Skype for Business Server.

Riepilogo: Configurare l'autenticazione da server a server per l'ambiente ibrido di Skype for Business Server.

In una configurazione ibrida, alcuni utenti sono ospitati in un'installazione locale di Skype for Business Server. Gli altri utenti sono ospitati nella versione Microsoft 365 o Office 365 di Skype for Business Server. Per configurare l'autenticazione da server a server in un ambiente ibrido, è necessario innanzitutto configurare l'installazione locale di Skype for Business Server per considerare attendibile il server di autorizzazione. Il primo passaggio di questo processo può essere eseguito eseguendo il seguente script di Skype for Business Server Management Shell:

$TenantID = (Get-CsTenant -Filter {DisplayName -eq "Fabrikam.com"}).TenantId

$sts = Get-CsOAuthServer microsoft.sts -ErrorAction SilentlyContinue

   if ($sts -eq $null)
      {
         New-CsOAuthServer microsoft.sts -MetadataUrl "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1"
      }
   else
      {
         if ($sts.MetadataUrl -ne  "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1")
            {
               Remove-CsOAuthServer microsoft.sts
               New-CsOAuthServer microsoft.sts -MetadataUrl "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1"
            }
        }

$exch = Get-CsPartnerApplication microsoft.exchange -ErrorAction SilentlyContinue

if ($exch -eq $null)
   {
      New-CsPartnerApplication -Identity microsoft.exchange -ApplicationIdentifier 00000002-0000-0ff1-ce00-000000000000 -ApplicationTrustLevel Full -UseOAuthServer
    }
else
    {
       if ($exch.ApplicationIdentifier -ne "00000002-0000-0ff1-ce00-000000000000")
          {
             Remove-CsPartnerApplication microsoft.exchange
             New-CsPartnerApplication -Identity microsoft.exchange -ApplicationIdentifier 00000002-0000-0ff1-ce00-000000000000 -ApplicationTrustLevel Full -UseOAuthServer 
          }
       else
          {
             Set-CsPartnerApplication -Identity microsoft.exchange -ApplicationTrustLevel Full -UseOAuthServer
          }
   }

Set-CsOAuthConfiguration -ServiceName 00000004-0000-0ff1-ce00-000000000000

Tieni presente che il nome dell'area di autenticazione per un tenant è in genere diverso dal nome dell'organizzazione; infatti, il nome dell'area di autenticazione è quasi sempre lo stesso dell'ID tenant. Per questo motivo, la prima riga dello script viene usata per restituire il valore della proprietà TenantId per il tenant specificato (in questo caso fabrikam.com) e quindi assegnare tale nome alla variabile $TenantId:

$TenantID = (Get-CsTenant -Filter {DisplayName -eq "Fabrikam.com"}).TenantId

Per eseguire questo script, è necessario aver installato il modulo PowerShell di Skype for Business Online e connettersi al tenant con questo modulo. Se questi cmdlet non sono stati installati, lo script avrà esito negativo perché il cmdlet Get-CsTenant non sarà disponibile. Al termine dello script, è necessario configurare una relazione di trust tra Skype for Business Server e il server di autorizzazione e una seconda relazione di trust tra Exchange 2013/2016 e il server di autorizzazione. Questa operazione può essere eseguita solo usando i cmdlet dei Microsoft Online Services.

Nota

Se i cmdlet di Microsoft Online Services non sono stati installati, sarà necessario installarli dal repository di PowerShell con il cmdlet install-module MSOnline. Informazioni dettagliate sull'installazione e l'utilizzo del modulo microsoft online services sono disponibili sul sito Web Microsoft 365. Queste istruzioni spiegano anche come configurare Single Sign-On, la federazione e la sincronizzazione tra Microsoft 365 o Office 365 e Active Directory.

Dopo aver configurato Microsoft 365 o Office 365 e dopo aver creato le entità servizio di Microsoft 365 o Office 365 per Skype for Business Server ed Exchange 2013, è necessario registrare le credenziali con queste entità servizio. Per registrare le credenziali, è necessario innanzitutto ottenere un certificato Base64 X.509 salvato come . File CER. Il certificato verrà quindi applicato alle entità servizio di Microsoft 365 o Office 365.

Nota

Azure AD Powershell è previsto per la deprecazione il 30 marzo 2024. Per altre informazioni, leggi l'aggiornamento della deprecazione.

È consigliabile eseguire la migrazione a Microsoft Graph PowerShell per interagire con l'ID Microsoft Entra (in precedenza Azure AD). Microsoft Graph PowerShell consente l'accesso a tutte le API Di Microsoft Graph ed è disponibile in PowerShell 7. Per le risposte alle query di migrazione comuni, vedere Domande frequenti sulla migrazione.

Quando si ottiene il certificato X.509, aprire la console di PowerShell e importare il modulo di Windows PowerShell di Microsoft Online contenente i cmdlet che possono essere usati per gestire le entità servizio:

Import-Module MSOnline

Quando il modulo viene importato, digitare il comando seguente e quindi premere INVIO:

Connect-MsolService

Dopo aver premuto INVIO, verrà visualizzata una finestra di dialogo delle credenziali. Immettere il nome utente e la password di Microsoft 365 o Office 365 nella finestra di dialogo e quindi selezionare OK.

Dopo aver stabilito la connessione a Microsoft 365 o Office 365, è possibile eseguire il comando seguente per restituire informazioni sulle entità servizio:

Get-MsolServicePrincipal

Per tutte le entità servizio, è consigliabile recuperare informazioni simili alle seguenti:

ExtensionData        : System.Runtime.Serialization.ExtensionDataObject
AccountEnabled       : True
Addresses            : {}
AppPrincipalId       : 00000004-0000-0ff1-ce00-000000000000
DisplayName          : Skype for Business Server
ObjectId             : aada5fbd-c0ae-442a-8c0b-36fec40602e2
ServicePrincipalName : SkypeForBusinessServer/litwareinc.com
TrustedForDelegation : True

Il passaggio successivo consiste nell'importare, codificare e assegnare il certificato X.509. Per importare e codificare il certificato, usare i comandi di Windows PowerShell seguenti, assicurandosi di specificare il percorso completo del file nel . File CER quando si chiama il metodo di importazione:

$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
$certificate.Import("C:\Certificates\Office365.cer")
$binaryValue = $certificate.GetRawCertData()
$credentialsValue = [System.Convert]::ToBase64String($binaryValue) 

Dopo aver importato e codificato il certificato, è possibile assegnarlo alle entità servizio di Microsoft 365 o Office 365. A tale scopo, utilizzare innanzitutto la Get-MsolServicePrincipal per recuperare il valore della proprietà AppPrincipalId sia per Skype for Business Server che per le entità servizio di Microsoft Exchange; il valore della proprietà AppPrincipalId verrà usato per identificare l'entità servizio a cui viene assegnato il certificato. Con il valore della proprietà AppPrincipalId per Skype for Business Server in mano, usare il comando seguente per assegnare il certificato alla versione di Skype For Business online:

New-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -Type Asymmetric -Usage Verify -Value $credentialsValue 

Ripetere quindi il comando, questa volta usando il valore della proprietà AppPrincipalId per Exchange 2013.

Se in seguito è necessario eliminare il certificato, ad esempio se è scaduto, è possibile farlo recuperando prima il KeyId per il certificato:

Get-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000

Questo comando restituisce dati come questo:

Type      : Asymmetric
Value     : 
KeyId     : bc2795f3-2387-4543-a95d-f92c85c7a1b0
StartDate : 6/1/2012 8:00:00 AM
EndDate   : 5/31/2013 8:00:00 AM
Usage     : Verify

È quindi possibile eliminare il certificato usando un comando simile al seguente:

Remove-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -KeyId bc2795f3-2387-4543-a95d-f92c85c7a1b0

Oltre ad assegnare un certificato, è necessario anche configurare l'entità servizio Exchange Online e configurare la versione locale degli URL dei servizi Web esterni di Skype for Business Server come entità servizio di Microsoft 365 o Office 365. Questo può essere fatto eseguendo i seguenti due comandi.

Nell'esempio seguente Pool1ExternalWebFQDN.contoso.com è l'URL dei servizi Web esterni per il pool di Skype for Business Server. Ripetere questi passaggi per aggiungere tutti gli URL dei servizi Web esterni nella distribuzione.

Set-MSOLServicePrincipal -AppPrincipalID 00000002-0000-0ff1-ce00-000000000000 -AccountEnabled $true
$lyncSP = Get-MSOLServicePrincipal -AppPrincipalID 00000004-0000-0ff1-ce00-000000000000
$lyncSP.ServicePrincipalNames.Add("00000004-0000-0ff1-ce00-000000000000/Pool1ExternalWebFQDN.contoso.com")
Set-MSOLServicePrincipal -AppPrincipalID 00000004-0000-0ff1-ce00-000000000000 -ServicePrincipalNames $lyncSP.ServicePrincipalNames