Configurar a autenticação servidor a servidor para um ambiente híbrido do Skype para Empresas Server.
Resumo: Configurar a autenticação servidor a servidor para o ambiente híbrido do Skype para Empresas Server.
Numa configuração híbrida, alguns dos seus utilizadores estão instalados numa instalação no local do Skype para Empresas Server. Os outros utilizadores estão armazenados na versão do Microsoft 365 ou office 365 do Skype para Empresas Server. Para configurar a autenticação servidor a servidor num ambiente híbrido, primeiro tem de configurar a instalação no local do Skype para Empresas Server para confiar no servidor de autorização. O passo inicial neste processo pode ser realizado ao executar o seguinte script da Shell de Gestão do Skype para Empresas Server:
$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
Tenha em mente que o nome do realm de um locatário é normalmente diferente do nome da organização; na realidade, o nome do realm é quase sempre igual ao do ID do locatário. Devido a esse facto, a primeira linha no script é utilizada para devolver o valor da propriedade TenantId para o inquilino especificado (neste caso, fabrikam.com) e, em seguida, atribuir esse nome à variável $TenantId:
$TenantID = (Get-CsTenant -Filter {DisplayName -eq "Fabrikam.com"}).TenantId
Para executar este script, tem de ter instalado o módulo do PowerShell do Skype para Empresas Online e ligar ao seu inquilino com este módulo. Se não tiver instalado estes cmdlets, o script falhará porque o cmdlet Get-CsTenant não estará disponível. Após a conclusão do script, tem de configurar uma relação de confiança entre o Skype para Empresas Server e o servidor de autorização e uma segunda relação de confiança entre o Exchange 2013/2016 e o servidor de autorização. Isto só pode ser feito através dos cmdlets do Microsoft Online Services.
Nota
Se não tiver instalado os cmdlets do Microsoft Online Services, terá de instalá-lo a partir do repositório do PowerShell com o cmdlet install-module MSOnline
. Pode encontrar informações detalhadas sobre a instalação e utilização do Módulo microsoft Online Services no site do Microsoft 365. Estas instruções também lhe irão indicar como configurar o início de sessão único, a federação e a sincronização entre o Microsoft 365 ou o Office 365 e o Active Directory.
Depois de configurar o Microsoft 365 ou o Office 365 e depois de ter criado os principais de serviço do Microsoft 365 ou do Office 365 para o Skype para Empresas Server e o Exchange 2013, terá de registar as suas credenciais com estes principais de serviço. Para registar as suas credenciais, primeiro tem de obter um certificado X.509 Base64 guardado como . Ficheiro CER. Em seguida, este certificado será aplicado aos principais de serviço do Microsoft 365 ou do Office 365.
Nota
O Azure AD Powershell está previsto para ser preterido a 30 de março de 2024. Para saber mais, leia a atualização de preterição.
Recomendamos que migre para o Microsoft Graph PowerShell para interagir com o Microsoft Entra ID (anteriormente Azure AD). O PowerShell do Microsoft Graph permite o acesso a todas as APIs do Microsoft Graph e está disponível no PowerShell 7. Para obter respostas a consultas de migração comuns, veja as FAQ sobre Migração.
Quando obtiver o certificado X.509, abra a consola do PowerShell e importe o módulo Microsoft Online do Windows PowerShell que contém os cmdlets que podem ser utilizados para gerir principais de serviço:
Import-Module MSOnline
Quando o módulo for importado, escreva o seguinte comando e, em seguida, prima ENTER:
Connect-MsolService
Depois de pressionar ENTER, uma caixa de diálogo de credenciais será exibida. Introduza o seu nome de utilizador e palavra-passe do Microsoft 365 ou do Office 365 na caixa de diálogo e, em seguida, selecione OK.
Assim que estiver ligado ao Microsoft 365 ou ao Office 365, pode executar o seguinte comando para devolver informações sobre os principais de serviço:
Get-MsolServicePrincipal
Você deverá obter informações semelhantes a estas para todas as entidades de serviço:
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
A próxima etapa é importar, codificar e atribuir o certificado X.509. Para importar e codificar o certificado, utilize os seguintes comandos do Windows PowerShell, certificando-se de que especifica o caminho de ficheiro completo para o seu . Ficheiro CER quando chama o método Importar:
$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
$certificate.Import("C:\Certificates\Office365.cer")
$binaryValue = $certificate.GetRawCertData()
$credentialsValue = [System.Convert]::ToBase64String($binaryValue)
Depois de o certificado ter sido importado e codificado, pode atribuir o certificado aos principais de serviço do Microsoft 365 ou do Office 365. Para tal, utilize primeiro o Get-MsolServicePrincipal para obter o valor da propriedade AppPrincipalId tanto para o Skype para Empresas Server como para os principais de serviço do Microsoft Exchange; o valor da propriedade AppPrincipalId será utilizado para identificar o principal de serviço a ser atribuído ao certificado. Com o valor da propriedade AppPrincipalId do Skype para Empresas Server em mãos, utilize o seguinte comando para atribuir o certificado à versão do Skype para Empresas Online:
New-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -Type Asymmetric -Usage Verify -Value $credentialsValue
Em seguida, deve repetir o comando, desta vez com o valor da propriedade AppPrincipalId para o Exchange 2013.
Se mais tarde precisar de eliminar esse certificado, por exemplo, se tiver expirado, pode fazê-lo ao obter primeiro o KeyId do certificado:
Get-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000
O comando retornará dados como estes:
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
Você pode excluir o certificado usando um comando semelhante a este:
Remove-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -KeyId bc2795f3-2387-4543-a95d-f92c85c7a1b0
Além de atribuir um certificado, também tem de configurar o Principal de Serviço do Exchange Online e configurar a sua versão no local dos URLs de serviços Web externos do Skype para Empresas Server como um principal de serviço do Microsoft 365 ou office 365. Isso pode ser feito executando os dois comandos a seguir:
No exemplo seguinte, Pool1ExternalWebFQDN.contoso.com é o URL de serviços Web externos do conjunto do Skype para Empresas Server. Deve repetir estes passos para adicionar todos os URLs de serviços Web externos na implementação.
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