Partilhar via


Configurar a autenticação servidor para servidor do SharePoint Server para o SharePoint no Microsoft 365

APLICA-SE A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition yes-img-sopSharePoint no Microsoft 365

Este artigo é parte de um roteiro de procedimentos para configurar soluções híbridas do SharePoint. Siga um roteiro ao realizar os procedimentos neste artigo.

Observação

Recomendamos que utilize o Assistente de Configuração Híbrida do SharePoint para estabelecer a autenticação Servidor a Servidor entre o SharePoint Server e o SharePoint no Microsoft 365. Se não conseguir utilizar o Assistente de Configuração Híbrida por qualquer motivo, siga os passos neste artigo para ativar a autenticação servidor a servidor.

A Microsoft recomenda que você use funções com o menor número de permissões. A utilização de contas com permissões mais baixas ajuda a melhorar a segurança da sua organização. O Administrador Global é uma função altamente privilegiada que deve ser limitada a cenários de emergência quando não for possível usar uma função existente.

Configurar a autenticação de servidor para servidor

Este artigo fornece diretrizes para o processo de implantação de ambiente híbrido do SharePoint, que integra o SharePoint Server e o SharePoint no Microsoft 365.

Dica

Para obter o resultado mais confiável, conclua os procedimentos na ordem em que são mostrados no artigo.

Verificar as configurações do aplicativo Web

No SharePoint híbrido, os usuários federados podem enviar solicitações para o SharePoint Online no Microsoft 365 de qualquer aplicativo Web do SharePoint Server configurado para usar a Autenticação integrada do Windows com NTLM.

Por exemplo, você precisa garantir que os sites do centro de pesquisa local que você deseja usar em sua solução estejam configurados para usar a autenticação integrada do Windows com NTLM. Se não estiverem, você precisa reconfigurar o aplicativo Web para usar a autenticação do Windows com NTLM ou usar um site do centro de pesquisa em um aplicativo Web que atenda a esse requisito. Também tem de se certificar de que os utilizadores que esperam que os resultados da pesquisa sejam devolvidos do SharePoint no Microsoft 365 são utilizadores federados.

Para verificar se um aplicativo Web atende aos requisitos

  1. Confirme se a conta de usuário que executará esse procedimento é membro do grupo Administradores do Farm do SharePoint.

  2. Na Administração Central, clique em Gerenciamento de Aplicativo e Gerenciar aplicativos Web.

  3. Na coluna Nome, selecione o aplicativo Web que você deseja verificar e, na faixa de opções, clique em Provedores de Autenticação.

  4. Na caixa de diálogo Provedores de Autenticação, na coluna Zona, clique na zona à qual o centro de pesquisa está associado.

  5. Na caixa de diálogo Editar Autenticação, verifique se a autenticação Integrada do Windows e NTLM estão selecionadas, como mostra a imagem a seguir.

    Definição do tipo de autenticação para uma aplicação Web.

Configurar o OAuth sobre HTTP (se for necessário)

Por padrão, o OAuth no SharePoint Server exige HTTPS. Se você configurou seu aplicativo Web principal para usar o HTTP em vez de SSL, você precisará habilitar o OAuth via HTTP em cada servidor Web em seu farm SharePoint Server.

Observação

Se você configurou o seu aplicativo da web primário para usar o SSL, esta etapa não é necessária.

Para habilitar OAuth sobre HTTP, execute os seguintes comandos como administrador de farm no prompt de comando do Shell de Gerenciamento do SharePoint 2016 em cada servidor Web em seu farm do SharePoint Server.

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

Se você tiver habilitado OAuth sobre HTTP para teste, mas quiser reconfigurar seu ambiente a fim de usar SSL, desabilite OAuth sobre HTTP executando os seguintes comandos como uma conta de administrador de farm a partir do prompt de comando do Shell de Gerenciamento do SharePoint 2016 em cada servidor Web em seu farm do SharePoint Server.

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

Configurar a autenticação servidor para servidor entre o SharePoint Server local e o SharePoint no Microsoft 365

Esta secção ajuda-o a configurar a autenticação servidor a servidor entre:

  • SharePoint Server

  • SharePoint no Microsoft 365

  • Microsoft Entra ID

Quando configura a autenticação servidor a servidor para ambientes híbridos, cria uma relação de confiança entre o farm do SharePoint no local e o inquilino do SharePoint no Microsoft 365, que utiliza o Microsoft Entra ID como um serviço de assinatura de tokens fidedigno. Com a adição dos módulos e snap-ins necessários do PowerShell, esse processo pode acontecer em uma única janela do PowerShell, em um servidor Web do SharePoint local.

Dica

[!DICA] Pode ser conveniente manter um registro das etapas, dos cmdlets do PowerShell executados e de qualquer erro que possam ocorrer. Você deve capturar todo o conteúdo do buffer do PowerShell quando tiver concluído e antes de fechar a janela. Isso fornecerá um histórico das etapas realizadas, o que poderá ser útil se você precisar solucionar problemas ou explicar o processo para outras pessoas. Também será útil como fonte de consulta, caso a configuração seja feita em etapas.

Veja um modo de exibição de alto nível dos procedimentos que devem ser concluídos nesta seção:

  1. Instalar ferramentas de gerenciamento de serviços online em um servidor Web do em seu farm do SharePoint Server.

  2. Configurar autenticação de servidor para servidor:

    • Definir as variáveis a serem utilizadas nas etapas posteriores.

    • Carregue o certificado STS do SharePoint Server incorporado para o SharePoint no Microsoft 365.

    • Adicionar um Nome de Entidade de Serviço (SPN) ao Azure.

    • Registrar a ID de objeto principal do aplicativo SharePoint no Microsoft 365 no SharePoint Server local.

    • Configurar um domínio de autenticação comum entre o farm do SharePoint Server local e o SharePoint no Microsoft 365.

    • Configurar um proxy de aplicações do Microsoft Entra no local.

Instale as ferramentas de gerenciamento de serviços online e configure a janela do Windows PowerShell.

Para continuar, é preciso instalar essas ferramentas em um servidor Web do SharePoint Server local:

  • Microsoft Graph PowerShell

  • SharePoint no Shell de gerenciamento do Microsoft 365

Isto é mais fácil de conseguir num servidor Web no seu farm do SharePoint porque é mais fácil carregar o snap-in Microsoft.SharePoint.PowerShell nos servidores Web do que em servidores que não têm o SharePoint Server instalado.

A autenticação no SharePoint Server, SharePoint no Microsoft 365 e Microsoft Entra ID requer contas de utilizador diferentes. Para saber mais sobre como determinar qual conta usar, veja Contas necessárias para a configuração e testes do híbrido.

Observação

Para facilitar a conclusão dos passos nesta secção, vamos abrir uma janela da Linha de Comandos do PowerShell num servidor Web do SharePoint Server e adicionar os módulos e snap-ins que lhe permitem ligar ao SharePoint Server, Ao SharePoint no Microsoft 365 e ao Microsoft Entra ID. (Forneceremos etapas detalhadas sobre como fazer isso mais adiante neste artigo.) Em seguida, manteremos essa janela aberta para usá-la para todas as etapas restantes do PowerShell neste artigo.

Para instalar as ferramentas de gerenciamento de serviços online e configurar a janela doPowerShell:

  1. Instalar a versão mais recente do PowerShell do Microsoft Graph

  2. Instalar o SharePoint no Shell de Gerenciamento do Microsoft 365:

    SharePoint no Shell de Gerenciamento do Microsoft 365 (versão de 64 bits)

    Para obter mais informações, confira Introdução ao SharePoint no Shell de Gerenciamento do Microsoft 365.

  3. Abra uma janela do PowerShell.

  4. Para ajudar a garantir espaço em buffer e evitar a perda de qualquer histórico de comando, aumente o tamanho do buffer da janela do PowerShell.

  5. Clique no canto superior esquerdo da janela do PowerShell e em seguida, clique em Propriedades.

  6. Na janela Propriedades do PowerShell, clique na guia Layout.

  7. Em Tamanho do Buffer de Tela, defina o campo Altura como 9999 e depois clique em OK.

  8. Essa etapa carrega os módulos baixados para que seja possível utilizá-los na sua sessão do PowerShell. Copie os seguintes comandos em sua sessão do PowerShell e pressione Enter.

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    Import-Module Microsoft.PowerShell.Utility
    Import-Module Microsoft.Graph
    

    Se, mais tarde, quiser executar novamente qualquer etapa de configuração, lembre-se de executar esses comandos outra vez para carregar os módulos e snap-ins do PowerShell necessários.

  9. Insira os comandos a seguir para entrar no SharePoint no Microsoft 365, a partir do prompt de comando do PowerShell:

       Connect-MgGraph -Scopes "Group.ReadWrite.All","RoleManagement.ReadWrite.Directory","Organization.ReadWrite.All"
    

    É-lhe pedido para iniciar sessão. Tem de iniciar sessão com uma conta de administrador global do Microsoft 365. Pode explorar outras formas de ligar ao Microsoft Graph.

    Deixe a janela do PowerShell aberta concluir todas as etapas neste artigo. Você precisa dela para vários procedimentos nas seções seguintes.

Configurar autenticação S2S (servidor para servidor)

Agora que instalou as ferramentas para lhe permitir administrar remotamente o Microsoft Entra ID e o SharePoint no Microsoft 365, está pronto para configurar a autenticação servidor a servidor.

Sobre as variáveis que serão criadas

Esta secção descreve as variáveis que irá definir no procedimento que se segue. Essas variáveis contêm informações importantes e que são utilizadas em muitas das etapas de configuração restantes.

Variável Comments
$spcn O nome de domínio raiz do seu domínio público. Este valor não deve estar na forma de um URL; deve ser apenas o nome de domínio, sem protocolo.
Por exemplo, adventureworks.com.
$spsite A URL interna do aplicativo Web principal local; por exemplo, http://sharepoint ou https://sharepoint.adventureworks.com. Esse valor é uma URL completa usando o protocolo apropriado ( http: // ou https:// ).
Este é o URL interno da aplicação Web que está a utilizar para a funcionalidade híbrida.
Por exemplo, http://sharepoint ou https://sharepoint.adventureworks.com
$site O objeto do aplicativo Web principal local. O comando que popula essa variável obtém o objeto do site que você especificou na variável $spsite.
Essa variável é populada automaticamente.
$spoappid O ID do principal da aplicação do SharePoint no Microsoft 365 é sempre 00000003-0000-0ff1-ce00-000000000000000. Este valor genérico identifica o SharePoint em objetos do Microsoft 365 numa organização do Microsoft 365.
$spocontextID O ID de contexto (ObjectID) do seu inquilino do SharePoint no Microsoft 365. Este valor é um GUID exclusivo que identifica o seu inquilino do SharePoint no Microsoft 365.
Esse valor é detectado automaticamente quando você executa o comando para definir a variável.
$metadataEndpoint O URL utilizado pelo seu proxy do Microsoft Entra ID para ligar ao seu inquilino do Microsoft Entra.
Não é preciso inserir o valor dessa variável.

Etapa 1: Definir as variáveis

Agora que você identificou as variáveis que devem ser definidas, utilize essas instruções para defini-las. O pré-preenchimento das variáveis mais comumente utilizadas devem lhe ajudar a realizar as demais etapas, de forma mais rápida. Essas variáveis permanecerão preenchidas enquanto a sessão do PowerShell não for fechada. Tenha cuidado para fornecer informações precisas onde quer que veja parênteses angulares (<>) e remova sempre os parênteses angulares antes de executar o comando. Não altere o código fora dos parênteses angulares.

Observação

Se, mais tarde, você precisar realizar qualquer uma dessas etapas de configuração, comece executando os seguintes comandos do PowerShell desta etapa para popular novamente as variáveis importantes.

Copie as seguintes declarações de variáveis e cole-as em um editor de texto, como o Bloco de Notas. Defina valores de entrada específicos para sua organização. No prompt de comando do PowerShell configurado com as ferramentas de gerenciamento de serviços online, execute os comandos:

$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-MgOrganization).Id
$metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $spocontextID + "/metadata/json/1"

Após preencher essas variáveis, é possível exibir os respectivos valores inserindo o nome da variável na janela do PowerShell. Por exemplo, introduzir $metadataEndpoint devolve um valor semelhante ao seguinte:

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

Etapa 2: Carregar o certificado STS para o SharePoint no Microsoft 365

Nessa etapa, você carrega o novo certificado STS para seu farm do SharePoint Server para seu locatário do SharePoint no Microsoft 365, o que habilita o SharePoint Server e o SharePoint no Microsoft 365 a se conectarem e consumirem aplicativos de serviços entre si.

A arquitetura envolvida quando um certificado STS é carregado no SharePoint no Microsoft 365

Os comandos neste passo adicionam o certificado STS no local (apenas chave pública) ao SharePoint no objeto principal do Microsoft 365 da sua organização do Microsoft 365.

No prompt de comando do PowerShell, digite os seguintes comandos:

$Cert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate

$principal = Get-MgServicePrincipal -Filter "AppId eq '$spoappid’” -Property "Id,DisplayName,KeyCredentials,AppId"

$existingCerts = $principal.KeyCredentials

$keyCredentials = @(@{ Type = "AsymmetricX509Cert"; Usage = "Verify"; Key = $Cert.RawData; KeyId = New-Guid; StartDateTime = $Cert.NotBefore; EndDateTime = $Cert.NotAfter; })

$noUpdate = $false

foreach($existingCert in $existingCerts) {

    if ([string]$existingCert.Key -eq [string]$Cert.RawData) {

        $noUpdate = $true

        break

    }

    else {

        $existingCert.Key = $null

        $keyCredentials += $existingCert

    }
}

if (-Not $noUpdate) {

     Update-MgServicePrincipal -ServicePrincipalId $principal.Id -KeyCredentials $keyCredentials

}

Passo 3: Adicionar um SPN para o seu nome de domínio público ao ID do Microsoft Entra

Neste passo, vai adicionar um nome principal de serviço (SPN) ao seu inquilino do Microsoft Entra. O objeto principal do SharePoint no Microsoft 365 e o espaço de nomes DNS público da sua empresa formam o SPN.

Tal como a função SPNs no Active Directory, a criação deste SPN regista um objeto no Microsoft Entra ID que é utilizado para suportar a autenticação mútua entre o SharePoint Server e o SharePoint no Microsoft 365. A sintaxe básica para o SPN é:

<nome da instância/<tipo> de serviço>

Onde:

  • <O tipo> de serviço é o objeto principal do SharePoint no Microsoft 365, que é o mesmo para todos os inquilinos do SharePoint no Microsoft 365.

  • <nome da instância> é a URL do espaço para nomes de domínios DNS público de sua empresa, o qual sempre é expresso como um curinga, mesmo se o Certificado SSL de Canal Seguro for um certificado de SAN.

Exemplo:

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

Se o nome comum no certificado for sharepoint.adventureworks.com, a sintaxe do SPN terá o seguinte aspeto:

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

A utilização de um valor de caráter universal permite que o SharePoint no Microsoft 365 valide as ligações com qualquer anfitrião nesse domínio. Isso é útil no caso de necessitar alterar o nome de host do ponto de extremidade externo (caso a sua topologia inclua um) ou se você desejar alterar seu do aplicativo Web do SharePoint Server, futuramente.

Para adicionar o SPN ao Microsoft Entra ID, introduza os seguintes comandos na linha de comandos do PowerShell do Microsoft Graph.

$msp = Get-MgServicePrincipal -Filter "AppId eq '$spoappid'"
$params =@{
  "servicePrincipalNames"="$spoappid/$spcn"
}
Update-MgServicePrincipal -ServicePrincipalId $msp.Id -BodyParameter $params

Para validar que o SPN foi definido, introduza os seguintes comandos na linha de comandos do PowerShell do Microsoft Graph.

$msp = Get-MgServicePrincipal -Filter "AppId eq '$spoappid'"
$spns = $msp.ServicePrincipalNames
$spns

Você deverá ver uma lista atual de SPNs para o SharePoint no Microsoft 365 em sua organização do Microsoft 365 e um dos SPNs deve incluir seu nome de domínio raiz público, precedida da ID principal do aplicativo do SharePoint no Microsoft 365. Esse registro é um registro de caractere curinga e deve ser parecido com o exemplo a seguir:

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

Este deve ser o único SPN na lista que inclui seu nome de domínio raiz público.

Etapa 4: Registrar a ID do objeto principal do aplicativo do SharePoint no Microsoft 365 com o SharePoint Server

Essa etapa registra a ID do objeto principal do aplicativo do SharePoint no Microsoft 365 no Serviço de Gerenciamento de Aplicativos do SharePoint no Microsoft 365 local, que permite ao SharePoint Server se autenticar no SharePoint no Microsoft 365 usando OAuth.

No prompt de comando do PowerShell, digite os seguintes comandos:

$spoappprincipalID  = (Get-MgServicePrincipal -Filter "AppId eq '$spoappid'").Id
$sponameidentifier = "$spoappprincipalID@$spocontextID"
$appPrincipal = Register-SPAppPrincipal -site $site.rootweb -nameIdentifier $sponameidentifier -displayName "SharePoint"

Para validar essa etapa, no prompt de comando do PowerShell, digite a seguinte variável $appPrincipal:

$appPrincipal | fl

A saída esperada é uma descrição da entidade de segurança de aplicativo registrada com o nome SharePoint Online, que deve ser parecida com o seguinte:

Principal entidade do aplicativo registrado para o SharePoint no Microsoft 365

Etapa 5: configurar o domínio de autenticação do SharePoint no Microsoft 365

Esta etapa define o domínio de autenticação do farm do SharePoint Server para a identificação de contexto da organização do Microsoft 365 da organização.

No prompt de comando do PowerShell, digite o seguinte comando:

Set-SPAuthenticationRealm -realm $spocontextID

Para validar esta etapa, no prompt de comando do PowerShell, digite os seguintes comandos:

$spocontextID
Get-SPAuthenticationRealm

A saída de cada um desses comandos é o GUID que representa a ID de contexto do locatário do SharePoint no Microsoft 365. Esses GUIDs devem ser idênticos.

Importante

Se tiver configurado scripts de configuração de farm que especificam o valor do realm de autenticação de farm, você deverá atualizar os scripts de configuração com esse novo valor antes de executá-los novamente. > Para obter mais informações sobre os requisitos dos valores de realm nos scripts de configuração do farm, veja Planear a autenticação servidor a servidor no SharePoint Server. Como, agora, você já configurou esse farm do SharePoint para participar da configuração híbrida, o valor de realm de autenticação de farm do SharePoint deve sempre equivaler ao identificador de contexto do locatário. Se esse valor for alterado, o farm não participará mais da funcionalidade híbrida.

Passo 6: Configurar um proxy no local para o Microsoft Entra ID

Neste passo, vai criar um serviço proxy do Microsoft Entra ID no farm do SharePoint Server. Isto permite que o Microsoft Entra ID seja um emissor de tokens fidedigno que o SharePoint Server utiliza para assinar e autenticar tokens de afirmações do SharePoint no Microsoft 365.

No prompt de comando do PowerShell, digite os seguintes comandos.

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

Para validar o comando New-SPAzureAccessControlServiceApplicationProxy:

  1. Navegue no site do Administração central do SharePoint 2016 e clique em Segurança>Segurança geral>Gerenciar confiança.

  2. Verifique se você possui uma entrada com um nome que comece com ACS e digite Consumidor de serviços confiável.

    Para validar esta etapa, no prompt de comando do PowerShell, digite o seguinte comando.

    Get-SPTrustedSecurityTokenIssuer
    

    A saída esperada é uma descrição do emissor de token confiável do farm, onde o valor da propriedade NomeDoEmissorRegistrado é o seguinte:

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

    Onde:

    • <O ID> de contexto é o ID de contexto do seu inquilino do SharePoint no Microsoft 365, que é o valor na variável $spocontextID.

A partir de outubro de 2021, é necessário um passo adicional para ajustar uma configuração híbrida existente do SharePoint para funcionar e autenticar com o novo motor de busca do Microsoft 365.

O script tem de ser executado num servidor onde o SharePoint No Local está instalado (2013, 2016 ou 2019). O script tenta instalar as dependências do módulo necessárias (MSOnline, AzureAD) no servidor onde é executado.

  1. Transfira o script de configuração.

  2. No diretório onde o script foi transferido, execute o script com a conta de Administrador de Farm no Local do SharePoint, com o seguinte comando:

    Update-FederatedHybridSearchForM365.ps1 -HybridWebApp YourHybridWebApplication -Force
    

    Para obter mais informações sobre os valores dos parâmetros, execute o seguinte comando:

    Get-Help .\Update-FederatedHybridSearchForM365.ps1
    
  3. Quando lhe for pedido, inicie sessão com a conta de Administrador Global do Microsoft 365.

  4. Aguarde pela conclusão da execução do script; caso existam problemas, contacte o Suporte da Microsoft.

  5. Após a execução do script, os utilizadores não verão alterações quando esta alteração for implementada.

Passo 8 (apenas necessário para o SharePoint Server 2013): conceder permissão a QueryAsUserIgnoreAppPrincipal do Novo Principal de Aplicação

O SharePoint Server 2013 precisa de uma restrição oculta em todas as consultas federadas. O proxy inverso devolve os documentos indexados no próprio site de proxy inverso e não o site de pesquisa interno no local conforme esperado. Para evitar isto, tem de executar os seguintes passos no seu site de administração do SharePoint Server 2013:

  1. Aceda a <CentralAdminURL>/_layouts/appinv.aspx e Procure c3959f3a-5ad4-4d2b-b1f0-bc70f9a5d0a1, onde deve encontrar a Greenland Federated Search Bot Skill.

  2. Se existirem itens no campo Domínio da Aplicação, deixe-os em branco e, se estiver vazio, utilize localhost.

  3. No URL de Redirecionamento, utilize https://localhost.

  4. No campo XML Do Pedido de Permissão, cole o seguinte excerto XML:

    <AppPermissionRequests>
    <AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" />
    </AppPermissionRequests>
    
  5. A página de configuração deve ser semelhante à seguinte captura de ecrã. Por fim, selecione Criar.

Conceder permissão à aplicação QueryAsUserIgnoreAppPrincipal

Validação e próximas etapas

Após terminar as tarefas deste tópico e suas etapas de validação, você deverá verificar seu SSO e a configuração da Sincronização de Diretório.

Tendo um histórico das etapas realizadas, você captura todo o conteúdo do buffer do PowerShell em um arquivo. Isso será fundamental caso você precise consultar o histórico de configuração para solucionar problemas ou por qualquer outro motivo. Isso também ajudará a retomar o trabalho do ponto em que você tiver parado, caso a configuração demore vários dias ou envolva diversas pessoas.

Depois de concluir e validar as tarefas de configuração neste artigo, continue com o mapa de configuração.

Confira também

Híbrido para o SharePoint Server

Instalar e configurar o SharePoint Server híbrido