Partilhar via


Configurar a aplicação Azure para acesso ao SharePoint

Usar a entidade Documentos do SharePoint numa organização do Dynamics 365 fora da grelha de documentos numa aplicação Dynamics 365 Customer Engagement no local requer um aplicativo do Azure para conceder acesso. Um exemplo desse acesso inclui o uso em chamadas da API do Dynamics 365 Customer Engagement. A configuração usa as Identidades Geridas do Power Platform com o Azure para conceder acesso.

Importante

A partir de março de 2025, o acesso atual é removido para melhorar a proteção do sistema. Para garantir o acesso contínuo, siga estas etapas para criar um aplicativo do Azure com as permissões necessárias do SharePoint, configurar identidades gerenciadas em sua organização do Dynamics 365 Customer Engagement (local) e configurar credenciais federadas.

Criar uma aplicação Azure com permissões do SharePoint

Crie um registro de aplicativo com permissão de API para o SharePoint. Saiba mais sobre como registar uma aplicação e o acesso do SharePoint em Início Rápido de Registo de Aplicações do Azure e Acesso ao SharePoint através só da Aplicação Azure AD.

  1. Abra o portal do Azure.

  2. Em Serviços do Azure, selecione Registos de aplicações.

  3. Selecione Novo registo.

  4. Insira um Nome para o aplicativo.

  5. Em Tipos de conta suportados, selecione Contas somente neste diretório organizacional.

    Observação

    Outros tipos de conta não são suportados no momento.

  6. Selecione Registar para criar o Registro da aplicação.

  7. Anote o ID da Aplicação (cliente) e do ID do Diretório (inquilino).

    1. Na lista de navegação, selecione Descrição geral.
    2. Em Essentials, copie os valores de ID da Aplicação (cliente) e ID do Diretório (inquilino) para uso na secção seguinte.
  8. Na lista de navegação, selecione Gerir>Permissões de API.

  9. Em Permissões configuradas, selecione Adicionar uma permissão para abrir o painel Pedir permissões de API.

    1. Selecione SharePoint.
    2. Em Que tipo de permissões a sua aplicação requer?, selecione Permissões de aplicação.
    3. Em Selecionar permissões, selecione Sites.FullControl.All.
    4. Selecione Adicionar permissões para criar a permissão do SharePoint.
    5. Selecione Conceder consentimento de administrador para o <tenant name>.

Pré-requisitos de configuração do servidor

  1. Transfira o pacote NuGet da assemblagem "Microsoft.Identity.Client" versão 4.11.0.

    1. Abrir https://www.nuget.org/packages/Microsoft.Identity.Client/4.11.0#readme-body-tab
    2. Em Sobre, selecione Baixar pacote
  2. Renomeie o pacote baixado de "microsoft.identity.client.4.11.0.nupkg" para microsoft.identity.client.4.11.0.zip.

  3. Execute a extração em microsoft.identity.client.4.11.0.zip.

  4. Dentro do diretório extraído, abra a pasta lib/net45 e encontre os arquivos "Microsoft.Identify.Client.dll" e "Microsoft.Identify.Client.xml" para usar em uma etapa posterior.

  5. No Windows Server em que a função de servidor de aplicativos Web do Dynamics 365 Customer Engagement (local) está sendo executada, abra o Gerenciador dos Serviços de Informações da Internet.

    1. Abra o prompt Executar no menu Iniciar da barra de tarefas do Windows.
    2. Digite inetmgr e pressione Enter.
  6. Expanda a seção Sites no painel Conexões .

  7. Clique com o botão direito do mouse no site do Microsoft Dynamics CRM , selecione Explorar e abra a pasta CRMWeb .

  8. Abra a pasta bin .

  9. Copie os dois arquivos "Microsoft.Identity.Client.dll" e "Microsoft.Identity.Client.xml" do diretório de pacote NuGet extraído e, em seguida, cole ambos na pasta bin .

Criar registro de aplicativo do Azure na tabela PartnerApplicationBase no banco de dados da organização do Dynamics 365 Customer Engagement

  1. Abra o SQL Server Management Studio e copie este script SQL.
IF (SELECT COUNT(*)
FROM OrganizationBase WITH (NOLOCK)) <> 1
	THROW 51000, 'Organization records does not equal 1', 1
 
DECLARE @organizationId UNIQUEIDENTIFIER  = (SELECT OrganizationId
FROM OrganizationBase WITH (NOLOCK));
DECLARE @utcNow DATETIME = GetUtcDate();
DECLARE @principalId UNIQUEIDENTIFIER = '00000003-0000-0ff1-ce00-000000000000';
DECLARE @applicationName NVARCHAR(100) = 'Microsoft SharePoint Online';
DECLARE @byoaAppId UNIQUEIDENTIFIER = '<appId>';
--Customer need to provide the app id.
DECLARE @tenantId UNIQUEIDENTIFIER = '<tenantId';
 
BEGIN TRANSACTION InsertRows
 
INSERT INTO [dbo].[PartnerApplicationBase]
	([PrincipalId]
	,[StateCode]
	,[Name]
	,[UseAuthorizationServer]
	,[PartnerApplicationId]
	,[StatusCode]
	,[ApplicationRole]
	,[OrganizationId]
	,[CreatedOn]
	,[ModifiedOn]
	,[TenantId])
VALUES
	(@principalId
	, 0
	, @applicationName
	, 1
	, @byoaAppId
	, 1
	, 1
	, @organizationId
	, @utcNow
	, @utcNow
	, @tenantId)
 
COMMIT TRANSACTION InsertRows
  1. No script, atualize as variáveis @byoaAppId e @tenantId com os valores de ID do Aplicativo e ID do Locatário copiados anteriormente do portal do Microsoft Azure na seção Criar um aplicativo do Azure com permissões do SharePoint deste artigo.

  2. Verifique o banco de dados e execute o script.

  3. Confirme executando a consulta SELECT * FROM [PartnerApplicationBase]select e verificando os campos PartnerApplicationId e TenantId .

Carregar certificado em certificados de aplicativo do Azure

Obtenha o certificado existente do Dynamics 365 Customer Engagement (local) usando este script.

cd $PSScriptRoot 

$OutputFilePath = $PSScriptRoot + "\certificates\existing_crmsharepoints2s.cer" 
$RemoveSnapInWhenDone = $False 

if (-not (Get-PSSnapin -Name Microsoft.Crm.PowerShell -ErrorAction SilentlyContinue)) { 
    Add-PSSnapin Microsoft.Crm.PowerShell 
    $RemoveSnapInWhenDone = $True 
} 

try { 
    # Ensure the directory exists 
    $directory = [System.IO.Path]::GetDirectoryName($OutputFilePath) 
    if (-not (Test-Path -Path $directory)) { 
        New-Item -ItemType Directory -Path $directory | Out-Null 
    }

    # Fetch existing certificate using Get-CrmCertificate and filter by CertificateType 
    $existingCert = Get-CrmCertificate | Where-Object { $_.CertificateType -eq "S2STokenIssuer" } 

    if ($null -eq $existingCert) { 
        Write-Error "No certificate found with CertificateType 'S2STokenIssuer'." 
        return 
    } 

    # Store the certificate in the specified path 
    $certBytes = [Convert]::FromBase64String($existingCert.Data) 
    [System.IO.File]::WriteAllBytes($OutputFilePath, $certBytes) 
    Write-Output "Certificate saved to $OutputFilePath" 
} 
catch { 
    Write-Error "An error occurred: $_" 
} 
finally { 
    if ($RemoveSnapInWhenDone) { 
        Remove-PSSnapin Microsoft.Crm.PowerShell 
    } 
} 

Carregar o certificado existente para certificados de aplicativo do Azure

  1. Abra um navegador da Web e vá para o portal do Azure para o aplicativo Azure AD que foi criado na primeira seção.

  2. Expanda Gerenciar e selecione Certificados & Segredos.

  3. Carregue o arquivo de certificado criado.

    1. Na seção Certificados , selecione Carregar certificado.

    2. Use Carregar um certificado para selecionar o arquivo de certificado que foi criado a partir do script do PowerShell.

    3. Adicione a Descrição e selecione Adicionar.

O certificado recém-criado é mostrado na lista Certificados .