Habilitar acesso remoto ao SharePoint com o Proxy de Aplicativo do Azure Active Directory

Este guia passo a passo explica como integrar um farm do SharePoint local com o Proxy de Aplicativo do Azure AD (Azure Active Directory).

Pré-requisitos

Para executar a configuração, você precisa dos seguintes recursos:

  • Um farm do SharePoint 2013 ou mais recente.
  • Um locatário do Azure AD com um plano que inclui o Proxy de Aplicativo. Saiba mais sobre os preços e planos do Azure AD.
  • Um domínio personalizado e verificado no locatário do Azure AD.
  • O Active Directory local sincronizado com o Azure AD Connect, por meio do qual os usuários podem entrar no Azure.
  • Um conector de Proxy de Aplicativo instalado e em execução em um computador dentro do domínio corporativo.

Configurar o SharePoint com o Proxy de Aplicativo requer duas URLs:

Importante

Para verificar se os links estão mapeados corretamente, siga estas recomendações para a URL interna:

  • Use o HTTPS.
  • Não use portas personalizadas.
  • No Sistema de Nomes de Domínio (DNS) corporativo, crie um host (A) para apontar para o WFE do SharePoint (ou balanceador de carga) e não para um alias (CName).

Este artigo usa os seguintes valores:

  • URL interna: https://sharepoint
  • URL externa: https://spsites-demo1984.msappproxy.net/
  • Conta do pool de aplicativos para o aplicativo Web do SharePoint: Contoso\spapppool

Etapa 1: configurar um aplicativo no Azure AD que usa o Proxy de Aplicativo

Nesta etapa, você cria um aplicativo em seu locatário de Azure Active Directory que usa o Proxy de Aplicativo. Você definirá a URL externa e especificará a URL interna, ambas usadas posteriormente no SharePoint.

  1. Crie o aplicativo conforme descrito com as configurações a seguir. Para obter instruções passo a passo, consulte Publicar aplicativos usando o Proxy de Aplicativo do Azure AD.

    • URL interna: URL interna do SharePoint que será definida mais tarde no SharePoint, como https://sharepoint.
    • Pré-autenticação: Azure Active Directory
    • Converter URLs em cabeçalhos: Não
    • Converter URLs em corpo de aplicativo: Não

    Publish SharePoint as application

  2. Depois que seu aplicativo for publicado, siga estas etapas para definir as configurações de logon único:

    1. Na página de aplicativo no portal, selecione Logon único.
    2. Para o Modo de Logon Único, selecione Autenticação Integrada do Windows.
    3. Defina o SPN do Aplicativo Interno para o valor que você definiu anteriormente. Neste exemplo, o valor é HTTP/sharepoint.
    4. Em Identidade de Logon Delegada, selecione a opção mais adequada para a configuração da floresta do Active Directory. Por exemplo, se você tiver um único domínio do Active Directory em sua floresta, selecione Nome da conta SAM local (conforme mostrado na captura de tela a seguir). Mas se os usuários não estiverem no mesmo domínio que o SharePoint e os servidores do conector Proxy de Aplicativo, selecione Nome UPN local (não mostrado na captura de tela).

    Configure integrated Windows authentication for SSO

  3. Para concluir a configuração de seu aplicativo, vá para a seção Usuários e grupos e atribua usuários ao acessar este aplicativo.

Etapa 2: configurar o aplicativo Web do SharePoint

O aplicativo Web do SharePoint deve ser configurado com Kerberos e os mapeamentos de acesso alternativo apropriados para funcionar corretamente com o Proxy de Aplicativo do Azure AD. Há duas opções possíveis:

  • Crie um aplicativo Web e use apenas a zona Padrão. Essa é a opção preferencial, pois oferece a melhor experiência com o SharePoint (por exemplo, os links nos alertas de email gerados pelo SharePoint sempre apontam para a zona Padrão).
  • Estenda um aplicativo Web existente para configurar o Kerberos em uma zona não padrão.

Importante

Independentemente da zona usada, a conta do pool de aplicativos do aplicativo Web do SharePoint deve ser uma conta de domínio para que o Kerberos funcione corretamente.

Provisionar o aplicativo Web do SharePoint

  • Se você criar um aplicativo Web e usar apenas a zona Padrão (opção preferencial):

    1. Inicie o Shell de Gerenciamento do SharePoint e execute o seguinte script:

      # This script creates a web application and configures the Default zone with the internal/external URL needed to work with Azure AD Application Proxy
      # Edit variables below to fit your environment. Note that the managed account must exist and it must be a domain account
      $internalUrl = "https://sharepoint"
      $externalUrl = "https://spsites-demo1984.msappproxy.net/"
      $applicationPoolManagedAccount = "Contoso\spapppool"
      
      $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$false
      $wa = New-SPWebApplication -Name "SharePoint - AAD Proxy" -Port 443 -SecureSocketsLayer -URL $externalUrl -ApplicationPool "SharePoint - AAD Proxy" -ApplicationPoolAccount (Get-SPManagedAccount $applicationPoolManagedAccount) -AuthenticationProvider $winAp
      New-SPAlternateURL -Url $internalUrl -WebApplication $wa -Zone Default -Internal
      
    2. Abra o site da Administração Central do SharePoint.

    3. Em Configurações do Sistema, selecione Configurar Mapeamentos Alternativos de Acesso. A caixa Coleção de Mapeamentos Alternativos de Acesso será aberta.

    4. Filtre a exibição com o novo aplicativo Web e confirme se você vê algo assim:

      Alternate Access Mappings of web application

  • Se você estender um aplicativo Web existente para uma nova zona (caso não possa usar a zona Padrão):

    1. Inicie o Shell de Gerenciamento do SharePoint e execute o seguinte script:

      # This script extends an existing web application to Internet zone with the internal/external URL needed to work with Azure AD Application Proxy
      # Edit variables below to fit your environment
      $webAppUrl = "http://spsites/"
      $internalUrl = "https://sharepoint"
      $externalUrl = "https://spsites-demo1984.msappproxy.net/"
      
      $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$false
      $wa = Get-SPWebApplication $webAppUrl
      New-SPWebApplicationExtension -Name "SharePoint - AAD Proxy" -Identity $wa -SecureSocketsLayer -Zone Extranet -Url $externalUrl -AuthenticationProvider $winAp
      New-SPAlternateURL -Url $internalUrl -WebApplication $wa -Zone Extranet -Internal
      
    2. Abra o site da Administração Central do SharePoint.

    3. Em Configurações do Sistema, selecione Configurar Mapeamentos Alternativos de Acesso. A caixa Coleção de Mapeamentos Alternativos de Acesso será aberta.

    4. Filtre a exibição com o aplicativo Web que foi estendido e confirme se você vê algo assim:

      Alternate Access Mappings of extended application

Verificar se o aplicativo Web do SharePoint está em execução em uma conta de domínio

Para identificar a conta que executa o pool de aplicativos do aplicativo Web do SharePoint e verificar se ela é uma conta de domínio, siga estas etapas:

  1. Abra o site da Administração Central do SharePoint.

  2. Vá para Segurança e selecione Configurar contas de serviço.

  3. Selecione Pool de aplicativos Web – YourWebApplicationName.

    Choices for configuring a service account

  4. Confirme se Selecionar uma conta para esse componente retorna uma conta de domínio e lembre-se disso, pois isso será necessário na próxima etapa.

Verificar se um certificado HTTPS está configurado para o site do IIS da zona Extranet

Como a URL interna usa o protocolo HTTPS (https://SharePoint/), um certificado deve ser definido no site dos Serviços de informações da Internet (IIS).

  1. Abra o console do Windows PowerShell.

  2. Execute o seguinte script para gerar um certificado autoassinado e adicioná-lo ao MEU armazenamento do computador:

    # Replace "SharePoint" with the actual hostname of the Internal URL of your Azure AD proxy application
    New-SelfSignedCertificate -DnsName "SharePoint" -CertStoreLocation "cert:\LocalMachine\My"
    

    Importante

    Os certificados autoassinados são adequados somente para fins de teste. Em ambientes de produção, é altamente recomendável usar certificados emitidos por uma autoridade de certificação.

  3. Abra o console Gerenciador dos Serviços de Informações da Internet.

  4. Expanda o servidor no modo de exibição de árvore, expanda Sites, selecione o site SharePoint – Proxy do AAD e selecione Associações.

  5. Selecione a associação https e selecione Editar.

  6. No campo certificado TLS/SSL, escolha certificado SharePoint e, em seguida, selecione OK.

Agora você pode acessar o site do SharePoint externamente por meio do Proxy de Aplicativo do Azure AD.

Etapa 3: configurar a delegação restrita de Kerberos

Os usuários serão inicialmente autenticados no Azure AD e, em seguida, no SharePoint usando o Kerberos por meio do conector de proxy do Azure AD. Para permitir que o conector obtenha um token Kerberos em nome do usuário do Azure AD, você deve configurar a KCD (delegação restrita de Kerberos) com a transição de protocolo. Para saber mais sobre a KCD, confira Visão geral da delegação restrita de Kerberos.

Definir um SPN para a conta de serviço do SharePoint

Neste artigo, a URL interna é https://sharepoint e, portanto, o SPN (nome da entidade de serviço) é HTTP/sharepoint. Você deve substituir esses valores pelos valores que correspondem ao seu ambiente. Para registrar o SPN HTTP/sharepoint para a conta do pool de aplicativos do SharePoint Contoso\spapppool, execute o seguinte comando em um prompt de comando, como administrador do domínio:

setspn -S HTTP/sharepoint Contoso\spapppool

O comando Setspn pesquisa pelo SPN antes de adicioná-lo. Se o SPN já existir, você verá um erro de Valor de SPN duplicado. Nesse caso, considere remover o SPN existente se ele não estiver definido na conta de pool de aplicativos correta. Você pode verificar se o SPN foi adicionado com êxito executando o comando Setspn com a opção -L. Para saber mais sobre esse comando, confira Setspn.

Verifique se o conector é confiável para delegação para o SPN adicionado à conta de pool de aplicativos do SharePoint

Configure a KCD para que o serviço Proxy de Aplicativo do Azure AD seja capaz de delegar identidades do usuário à conta do pool de aplicativos do SharePoint. Configure a KCD habilitando o conector Proxy de Aplicativo para recuperar tíquetes Kerberos para seus usuários que foram autenticados no Azure AD. Em seguida, esse servidor passa o contexto ao aplicativo de destino (SharePoint nesse caso).

Para configurar o KCD, siga estas etapas para cada computador do conector:

  1. Entre como administrador de domínio em um controlador de domínio e abra Usuários e Computadores do Active Directory.

  2. Localize o computador que está executando o conector do Proxy do Azure AD. Neste exemplo, é o computador que está executando o SharePoint Server.

  3. Clique duas vezes no computador e selecione a guia Delegação.

  4. Verifique se as opções de delegação estão definidas como Confiar neste computador para delegação somente para os serviços especificados. Então, selecione Usar qualquer protocolo de autenticação.

  5. Selecione o botão Adicionar, selecione Usuários ou Computadores e localize a conta do pool de aplicativos do SharePoint. Por exemplo: Contoso\spapppool.

  6. Na lista de SPNs, selecione aquele que você criou anteriormente para a conta de serviço.

  7. Selecione OK e, em seguida, selecione OK novamente para salvar suas alterações.

    Delegation settings

Agora você está pronto para entrar no SharePoint usando a URL externa e autenticar com o Azure.

Solucionar problemas de erros de credenciais

Se as credenciais no site não estiverem funcionando, você poderá obter mais informações sobre o problema nos logs de conector: no computador que executa o conector, abra o visualizador de eventos, acesse Logs de Aplicativos e Serviços>Microsoft>AadApplicationProxy>Conector e inspecione o log Administrador.

Próximas etapas