Configurar a autenticação baseada em servidor com o Customer Engagement (on-premises) e o SharePoint local
Nota
Se você habilitou o modo somente Interface Unificada, antes de usar os procedimentos neste artigo, faça o seguinte:
- Select Configurações () na barra de navegação.
- Selecione Configurações Avançadas.
Este tópico descreve como configurar a integração baseada no servidor entre o Dynamics 365 Customer Engagement (on-premises) e o Microsoft SharePoint On-Premises.
Configurar integração com base no servidor com o Customer Engagement (on-premises) e o SharePoint
Siga as etapas na ordem apresentada para configurar o Customer Engagement (on-premises) com o Microsoft SharePoint Server On-Premises.
Importante
- Os comandos do PowerShell devem ser executados no modo de administrador. Consulte: Como posso lançar o PowerShell?
- Se uma tarefa não for concluída, por exemplo, se um comando do PowerShell retornar uma mensagem de erro, o problema deverá ser solucionado antes de você prosseguir para o próximo comando, tarefa ou etapa.
- Depois que você permite a integração do SharePoint baseada em servidor, você não poderá reverter para o método de autenticação baseado em cliente anterior. Portanto, não é possível usar o Componente de Lista do Microsoft Dynamics CRM depois de configurar sua organização do Customer Engagement (on-premises) para a integração do SharePoint com base no servidor.
Verificar os pré-requisitos
Antes de configurar o Customer Engagement (on-premises) e o SharePoint On-Premises para a integração baseada em servidor, as permissões são necessárias e pré-requisitos a seguir são necessários.
Permissões necessárias
Customer Engagement (on-premises)
Direito de acesso Administrador do Sistema - é necessário para executar o assistente Habilitar Integração com o SharePoint Baseada em Servidor em aplicativos do Customer Engagement (on-premises).
Se estiver usando um certificado assinado automaticamente para fins de avaliação, você deverá ter uma associação do grupo local de administradores no computador onde o Dynamics 365 Server estiver sendo executado.
SharePoint On-Premises
- Associação ao grupo Administradores de Farm - necessária para executar a maioria dos comandos do Windows PowerShell no servidor do SharePoint.
Pré-requisitos do SharePoint
Uma das versões do SharePoint a seguir:
Edição de assinatura de serviço do SharePoint.
SharePoint 2019 On-Premises.
Integração baseada em servidor entre Dynamics 365 Customer Engagement (on-premises) e Microsoft SharePoint 2019 On-Premises requer Microsoft Dynamics 365 Server, v9.0 (on-premises) Update 0.13 ou versão posterior.
SharePoint 2016 On-Premises.
Microsoft SharePoint 2013 On-Premises com Service Pack 1 (SP1) ou versão posterior com as atualizações a seguir.
Instale a atualização cumulativa (CU) de abril de 2019 para a família de produtos SharePoint 2013. Essa CU de abril de 2019 inclui todas as correções do SharePoint 2013 (incluindo todas as correções de segurança do SharePoint 2013) lançadas desde o SP1. A CU de abril de 2019 não inclui o SP1. Você precisará instalar o SP1 antes de instalar a CU de abril de 2019.
Configuração do SharePoint
O SharePoint deve ser configurado somente para uma implantação de farm único.
Para usar o mapeamento de autenticação baseada em declarações padrão, o domínio do Active Directory onde o servidor do SharePoint e Dynamics 365 Server estão localizados deve ser o mesmo ou o domínio onde o servidor do SharePoint está localizado deve confiar no domínio onde o Dynamics 365 Server está localizado. Mais informações: Sobre a autenticação baseada em declarações
O site do SharePoint deve ser configurado para usar TLS/SSL (HTTPS) e o certificado deve ser emitido por uma Autoridade de Certificação de raiz pública. Mais informações: SharePoint: sobre certificados do SSL de Canal Seguro
O Proxy de Aplicativo de Serviço de Gerenciamento de Aplicativos deve ser criado e iniciado. Mais informações: Configurar um ambiente para aplicativos do SharePoint
Um Aplicativo de Serviço de Perfil de Usuário deve ser configurado e iniciado. Mais informações: Criar, editar ou excluir aplicativos de serviço de Perfil de Usuário no SharePoint Server 2013
Para o compartilhamento de documentos, o serviço de pesquisa do SharePoint deve estar habilitado. Mais informações: Criar e configurar um aplicativo de serviço de Pesquisa no SharePoint Server
Para a funcionalidade de gerenciamento de documentos para usar os aplicativos móveis do Microsoft Customer Engagement (on-premises), do servidor SharePoint local deverá ser disponibilizado pela Internet.
Para permitir que os usuários criem as bibliotecas do documento do SharePoint do Customer Engagement (on-premises), as seguintes permissões e configurações são necessárias:
A conta do Active Directory do usuário do Customer Engagement (on-premises) do usuário deve ser do grupo de Membros do site na coleção de sites do SharePoint em que os documentos são armazenados.
Por padrão, o mapeamento de autenticação baseado em declarações usará o endereço de email do SharePoint do usuário do Customer Engagement (on-premises) e o endereço de email de trabalho local do SharePoint do usuário do mapeamento. Quando você usar o mapeamento, os endereços de e-mail do usuário deverão corresponder entre os dois sistemas. Mais informações: Configurar o mapeamento de declarações do usuário usando o endereço de email do SharePoint
Outros pré-requisitos e limitações
Certificados digitais X509 a serem usados para a autenticação baseada em servidor entre o Dynamics 365 Server e o servidor do SharePoint. As chaves de certificado devem ter pelo menos a criptografia de 2048 bits. Na maioria dos casos esse certificado deve ser emitido por uma autoridade de certificação de confiança, mas para fins de avaliação você pode usar um certificado autoassinado.
A identidade para pool de aplicativo do CRMAppPool deve ter acesso de leitura para certificado x509 que será usado para autenticação baseada em servidor com o Dynamics 365 Server e o servidor do SharePoint. Você pode usar o snap-in de certificados MMC para conceder acesso.
Se você usar o Microsoft SharePoint 2013, para cada farm do SharePoint, apenas uma organização do Customer Engagement (on-premises) pode ser configurada para integração baseada em servidor. Porém, você pode conectar-se a mais de uma organização do Customer Engagement (on-premises) para uma farm do servidor SharePoint 2016.
Preparar o Dynamics 365 Server para integração baseada em servidor
O CertificateReconfiguration.ps1 é um script do Windows PowerShell que instala um certificado no repositório de certificados local, concede o acesso de identidade do Serviço de Processamento Assíncrono do Microsoft Dynamics 365 ao certificado e atualiza o Dynamics 365 Server para usar o certificado.
Adicione o certificado entre servidores ao armazenamento de certificado local e base de dados de configuração do Customer Engagement (on-premises)
- Abra uma sessão de comando do PowerShell em todos os servidores em que a função Servidor Completo do Dynamics 365 Server está instalada.
Importante
Execute o comando descrito aqui em todos os servidores em que a função Servidor de Aplicativos Web estiver em execução.
Altere seu local para a pasta <unidade>:\Arquivos de Programa\Microsoft Dynamics CRM\Tools.
Execute o script CertificateReconfiguration.ps1 do Windows PowerShell conforme explicado aqui:
certificateFilecaminho\Personalcertfile.pfx . Parâmetro necessário que especifica o caminho completo do arquivo de troca de informações pessoais (.pfx). Mais informações: Como trabalhar com certificados digitais
passwordpersonal_certfile_password. Parâmetro exigido que especifica a senha do certificado privado.
certificateType S2STokenIssuer. Parâmetro exigido que especifica o tipo de certificado. Para integração baseada em servidor do Customer Engagement (on-premises) e da integração com base no servidor do SharePoint, somente o S2STokenIssuer é suportado.
serviceAccount ‘DomainName\UserName’ ou ‘Network Service’.
serviceAccount 'contoso\\CRMWebAppServer' or ‘Network Service’. Required parameter that specifies the identity for the Web Application Server role. The identity is either a domain user account, such as *contoso\\CRMWebAppServer*, or Network Service. The identity will be granted permission to the certificate.
updateCrm. Adicione as informações de certificado ao banco de dados da configuração do Microsoft Customer Engagement (on-premises).
Importante
Mesmo se você tiver várias funções do servidor do aplicativo Web ou serviço assíncrono implantada, você só precisa executar o comando com o parâmetro updateCrm uma vez.
storeFindType FindBySubjectDistinguishedName. Especifica o tipo do repositório de certificados. Por padrão, esse valor é FindBySubjectDistinguishedName e é recomendado quando você executa o script.
Importante
Embora o updateCrm e os parâmetros do StoreFindType sejam opcionais para executar o comando, esses parâmetros são necessários para que a integração de SharePoint baseada em servidor sejam adicionadas à base de dados do certificado.
Exemplo
.\CertificateReconfiguration.ps1 -certificateFile c:\Personalcertfile.pfx -password personal_certfile_password -updateCrm -certificateType S2STokenIssuer -serviceAccount Domain\UserName -storeFindType FindBySubjectDistinguishedName
Preparar o farm do SharePoint para integração baseada em servidor
Obter a ID do Realm do Dynamics 365
Inicie o assistente Habilitar Integração com o SharePoint Baseada em Servidor. Vá para Configurações>Gerenciamento de Documentos.
Selecione Avançar, Local e depois Avançar.
O ID é exibido próxima ao ID do Realm do Dynamics 365 na página.
Gorjeta
Salve a ID de Realm do Dynamics 365 em um arquivo de texto em uma rede de compartilhamento segura ou armazenagem baseada em nuvem. Em seguida, você poderá recuperá-la facilmente do local em que executou o assistente Habilitar Autenticação com o SharePoint Baseada em Servidor.
No servidor do SharePoint on-premises, no Shell de Gerenciamento do SharePoint, execute estes comandos do PowerShell na ordem determinada.
Preparar o servidor do SharePoint para autenticação do Dynamics 365 Server
Se estiver usando um shell de gerenciamento do PowerShell que não seja o Shell de Gerenciamento do SharePoint, você deverá registrar o módulo do SharePoint usando o comando a seguir.
Add-PSSnapin Microsoft.SharePoint.PowerShell
Habilite a sessão do PowerShell para fazer alterações no serviço de token de segurança para o farm do SharePoint.
$c = Get-SPSecurityTokenServiceConfig $c.AllowMetadataOverHttp = $true $c.AllowOAuthOverHttp= $true $c.Update()
Crie o objeto do serviço de token de segurança confiável onde OrganizationName é o nome exclusivo da organização do Customer Engagement (on-premises) e CrmServer é o nome do servidor da Web do IIS onde a função do servidor do aplicativo da Web do Customer Engagement (on-premises) está instalado e -Name “crm” é usado para nomear o servidor do token de segurança (STS).
Importante
-
A conexão a mais de uma organização do Customer Engagement (on-premises) para uma farm de servidores do Microsoft SharePoint 2013 não é suportada. Porém, você pode conectar-se a mais de uma organização do Customer Engagement (on-premises) para uma farm do servidor SharePoint 2016.
-
Quando executar o comando New-SPTrustedSecurityTokenIssuer do PowerShell, você deverá especificar HTTPS para o ponto de extremidade de metadados de aplicativos do Customer Engagement (on-premises) quando o site do aplicativo do Customer Engagement (on-premises) tiver somente HTTPS ou ambas as associações HTTPS e HTTP, como no exemplo a seguir.
New-SPTrustedSecurityTokenIssuer –Name "crm" –IsTrustBroker:$false –MetadataEndpoint https://CrmServer/XrmServices/2015/metadataendpoint.svc/json?orgName=OrganizationName
-
Registre o Customer Engagement (on-premises) no conjunto de sites do SharePoint.
Para executar os comandos a seguir, você deve especificar os dois parâmetros:
A URL do conjunto de sites do SharePoint On-Premises. Neste exemplo,
https://sharepoint.contoso.com/sites/crm/
é usado na URL do conjunto de sites.o CrmRealmId é a ID da organização Customer Engagement (on-premises) que você deseja usar para gerenciamento de documentos com SharePoint. Mais informações: Obter a ID de Realm do Dynamics 365
Importante
Para concluir esses comandos, o Proxy de Aplicativo de Serviço de Gerenciamento de Aplicativos do SharePoint deverá existir e estar em execução. Para obter mais informações sobre como iniciar e configurar o serviço, consulte o tópico Definir as Configurações de Assinatura e os Aplicativos de Serviço de Gerenciamento de Aplicativos em Configurar um ambiente para aplicativos do SharePoint.
$CrmRealmId = "CRMRealmId" $Identifier = "00000007-0000-0000-c000-000000000000@" + $CrmRealmId $site = Get-SPSite "https://sharepoint.contoso.com/sites/crm/" Register-SPAppPrincipal -site $site.RootWeb -NameIdentifier $Identifier -DisplayName "crm"
Conceda acesso ao Customer Engagement (on-premises) para o site do SharePoint.
Nota
No exemplo a seguir, o aplicativo do Customer Engagement (on-premises) tem permissão concedida para o conjunto especificado de sites do SharePoint usando o parâmetro –Scope sitecollection. O parâmetro de escopo aceita as seguintes opções. Use o escopo que seja mais apropriado para sua configuração do SharePoint:
-
site. Concede permissão do Customer Engagement (on-premises) somente ao site especificado do SharePoint. Não concede permissão a nenhum subsite no site chamado.
-
sitecollection. Concede a permissão do Customer Engagement (on-premises) para todos os sites e subsites dentro do conjunto de sites especificado do SharePoint.
-
sitesubscription. Concede a permissão do Customer Engagement (on-premises) para todos os sites na farm do SharePoint, incluindo todos os conjuntos de sites, os sites e os subsites.
$app = Get-SPAppPrincipal -NameIdentifier $Identifier -Site $site.Rootweb Set-SPAppPrincipalPermission -AppPrincipal $app -Site $site.Rootweb -Scope "sitecollection" -Right "FullControl" -EnableAppOnlyPolicy #"Set up claims-based authentication mapping" New-SPClaimTypeMapping -IncomingClaimType "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
-
Executar o assistente Habilitar Integração com o SharePoint Baseada em Servidor
No aplicativo do Customer Engagement (on-premises), vá para Configurações>Gerenciamento de Documentos.
Na área Gerenciamento de Documentos, selecione Habilitar Integração com o SharePoint Baseada em Servidor.
Examine as informações e selecione Avançar.
Para os sites do SharePoint, selecione Local e então Avançar.
No estágio Preparar Sites, digite as seguintes informações:
URL do conjunto de sites do SharePoint On-Premises, como https://sharepoint.contoso.com/sites/crm. O site já deverá estar configurado para TLS/SSL.
ID de Realm do SharePoint. Obter o ID de Realm SharePoint
Selecione Avançar.
A seção para validar sites aparece. Se todos os sites forem válidos, selecione Habilitar. Se um ou mais sites forem inválidos, consulte Solução de problemas do Dynamics 365 Server para a integração baseada em servidor com o SharePoint Server On-Premises.
Selecionar as entidades que você deseja incluir no gerenciamento de documentos
Por padrão, as entidades Conta, Artigo, Lead, Produto, Cotação e Especificações são incluídas. Você pode adicionar ou remover as entidades que serão usadas para gerenciamento de documentos com o SharePoint em Configurações de Gerenciamento de Documentos nos aplicativos do Customer Engagement. Vá para Configurações>Gerenciamento de Documentos. Mais informações: Habilitar o gerenciamento de documentos do SharePoint para entidades específicas
Adicionar a integração com o OneDrive for Business
Depois de concluir o Customer Engagement (on-premises) e a configuração de integração baseada em servidor local do SharePoint, você também pode integrar o OneDrive for Business. Com a integração do Customer Engagement (on-premises) OneDrive for Business , os usuários do Customer Engagement (on-premises) pode criar e gerenciar documentos privados usando o OneDrive for Business. Esses documentos podem ser acessadas no Customer Engagement (on-premises) uma vez que o administrador do sistema tiver habilitado o OneDrive for Business.
Habilitar o OneDrive for Business
No Windows Server onde o SharePoint Server local está sendo executado, abra o Shell de Gerenciamento do SharePoint e execute os comandos a seguir.
Add-Pssnapin *
# Access WellKnown App principal
[Microsoft.SharePoint.Administration.SPWebService]::ContentService.WellKnownAppPrincipals
# Create WellKnown App principal
$ClientId = "00000007-0000-0000-c000-000000000000"
$PermissionXml = "<AppPermissionRequests AllowAppOnlyPolicy=""true""><AppPermissionRequest Scope=""https://sharepoint/content/tenant"" Right=""FullControl"" /><AppPermissionRequest Scope=""https://sharepoint/social/tenant"" Right=""Read"" /><AppPermissionRequest Scope=""https://sharepoint/search"" Right=""QueryAsUserIgnoreAppPrincipal"" /></AppPermissionRequests>"
$wellKnownApp= New-Object -TypeName "Microsoft.SharePoint.Administration.SPWellKnownAppPrincipal" -ArgumentList ($ClientId, $PermissionXml)
$wellKnownApp.Update()
Solução de Problemas do Customer Engagement (on-premises) para integração com base no servidor do SharePoint Local
Para obter informações sobre como solucionar problemas do assistente Habilitar Integração com o SharePoint Baseada em Servidor e exibir logs do monitoramento do SharePoint, consulte Solução de problemas de autenticação baseada em servidor.
Problemas conhecidos
Para solução de problemas e problemas conhecidos do gerenciamento de documentação com o SharePoint, consulte Solução de problemas de autenticação baseada em servidor.
Sobre mapeamento da autenticação baseada em declarações
Quando você usa o mapeamento de autenticação baseada em declarações, o domínio do Active Directory em que o SharePoint Server e o Dynamics 365 Server estão localizados deve ser o mesmo. Os servidores que estão localizados em domínios e florestas diferentes do Active Directory não são suportados. Da mesma forma, os usuários localizados em domínios externos ao Dynamics 365 Server ou ao SharePoint Server não terão acesso aos documentos.
Por padrão, autenticação baseada em servidor entre Customer Engagement (on-premises) e SharePoint locais usa o identificador de segurança do usuário para autenticar cada usuário. Se quiser usar um mapeamento personalizado da autenticação baseada em declarações, como endereço de email do usuário, consulte Definir mapeamento personalizado da declaração para integração baseada do servidor do SharePoint
Configurar mapeamento de declarações do usuário usando o endereço de email do SharePoint
Abra o editor de formulários para personalizar o formulário do usuário. Para fazer isso, vá para Configurações>Segurança>Usuários e abra o registro de usuário desejado.
Na barra de ferramentas, selecione … e então selecione Editor de Formulários.
Localize o campo Endereço de Email do SharePoint no painel Gerenciador de Campos e arraste-o e solte-o na seção Informações do Usuário do formulário do usuário.
Na barra de ferramentas do editor de formulários, selecione Salvar e, em seguida, selecione Publicar.
Feche o editor de formulários e atualize a guia do navegador da Web para exibir o campo recém-adicionado ao registro do usuário.
No campo Endereço de Email do SharePoint do registro do usuário, digite o endereço de email do usuário exatamente como ele aparece no SharePoint.
Selecione Salvar.
Repita as duas etapas anteriores para todos os usuários que precisarem do gerenciamento de documentos.
Trabalhar com certificados digitais
O procedimento a seguir cria um arquivo a troca de informações pessoais (.pfx).
Em um computador que tem acesso ao certificado que você deseja usar para autenticação entre servidores, selecione Iniciar, Executar, digite MMC e depois pressione Enter.
Selecione Arquivo e depois Adicionar/Remover Snap-in.
Na lista de Snap-ins disponíveis, selecione Certificados, Adicionar, Conta de Computador, Avançar, Concluir para selecionar o computador local e depois selecione OK.
Expanda Certificados, expanda Pessoal e depois selecione Certificados.
Clique com o botão direito do mouse no certificado que você deseja usar para criar um arquivo de certificado pessoal, aponte para Todas as Tarefas e selecione Exportar.
Selecione Avançar, Sim para exportar a chave privada, verifique se as opções a seguir estão marcadas e depois selecione Avançar.
Inclua todos os certificados no caminho de certificação, se possível
Exporte todas as propriedades estendidas
Selecione Navegar e insira um local e um nome de arquivo para o arquivo .pfx e depois selecione Salvar.
Selecione Avançar e depois Concluir.
Obter o ID de Realm SharePoint
Execute o seguinte comando do PowerShell no Shell de Gerenciamento do SharePoint, onde https://sharepoint.contoso.com/sites/crm/ é a URL do conjunto de sites do SharePoint.
Get-SPAuthenticationRealm -ServiceContext https://sharepoint.contoso.com/sites/crm/
Como alternativa, você pode descobrir a ID do realm do SharePoint nas permissões do aplicativo do site do conjunto de sites do SharePoint.
Conecte-se ao conjunto de sites do SharePoint que você usará para gerenciamento de documentos com o Customer Engagement (on-premises).
Vá para Configurações do site>Permissões de aplicativo do site.
A ID do realm é exibida em Identificador do aplicativo, à direita do símbolo @. Copie-a para a área de transferência. No assistente Habilitar Integração com o SharePoint Baseada em Servidor, cole somente o GUID. Não cole qualquer parte do identificador à esquerda de @.