Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El uso de la entidad Documentos de SharePoint en una organización Dynamics 365 fuera de la cuadrícula de documentos en una aplicación Dynamics 365 Customer Engagement (on-premises) requiere una aplicación Azure para conceder acceso. Un ejemplo de este acceso incluye el uso dentro de llamadas a la API de Dynamics 365 Customer Engagement. La instalación usa las Identidades Administradas de Power Platform con Azure para conceder acceso.
Importante
A partir de marzo de 2025, se elimina el acceso actual para mejorar la protección del sistema. Para garantizar el acceso continuado, siga estos pasos para crear una aplicación Azure con los permisos necesarios SharePoint, configurar identidades administradas en su organización de Dynamics 365 Customer Engagement (on-premises) y configurar credenciales federadas.
Crear una aplicación de Azure con permisos SharePoint
Cree un registro de la aplicación con permiso API a SharePoint. Obtenga más información sobre cómo registrar una aplicación y acceder a SharePoint en Inicio rápido de registro de aplicación de Azure y Acceso a SharePoint mediante solo la aplicación Azure AD.
Abra el Azure Portal.
En Servicios Azure, seleccione Registros de aplicaciones.
Seleccione Nuevo registro.
Escriba un Nombre para la aplicación.
En Tipos de cuenta compatibles, seleccione Cuentas solo en este directorio organizativo.
Nota
Actualmente no se admiten otros tipos de cuenta.
Seleccione Registrar para crear el Registro de aplicación.
Anote los valores de ID de la aplicación (cliente) e ID del directorio (inquilino).
- En la lista de navegación, seleccione Descripción general.
- En Essentials, copie los valores de Id. de aplicación (cliente) e Id. de directorio (inquilino) para usarlos en la siguiente sección.
En la lista de navegación, seleccione Administrar>Permisos de API.
En Permisos configurados, seleccione Agregar un permiso para abrir el panel Solicitar permisos de API.
- Seleccione SharePoint.
- En ¿Qué tipo de permisos requiere la aplicación?, seleccione Permisos de la aplicación.
- En Seleccionar permisos, seleccione Sites.FullControl.All.
- Seleccione Agregar permisos para crear el permiso de SharePoint.
- Seleccione Conceder consentimiento de administrador para
<tenant name>
.
Requisitos previos de configuración del servidor
Descargue el paquete NuGet para el ensamblado "Microsoft.Identity.Client", versión 4.11.0.
- Abrir https://www.nuget.org/packages/Microsoft.Identity.Client/4.11.0#readme-body-tab
- En Acerca de, seleccione Descargar paquete
Cambie el nombre del paquete descargado de "microsoft.identity.client.4.11.0.nupkg" a microsoft.identity.client.4.11.0.zip.
Ejecute extraer en microsoft.identity.client.4.11.0.zip.
Dentro del directorio extraído, abra la carpeta lib/net45 y busque los archivos "Microsoft.Identify.Client.dll" y "Microsoft.Identify.Client.xml" para usarlos en un paso posterior.
En el Windows Server donde se ejecuta el rol de servidor de aplicación web de Dynamics 365 Customer Engagement (on-premises), abra el Administrador de Internet Information Services.
- Abra el símbolo del sistema Ejecutar desde el menú Inicio de la barra de tareas de Windows.
- Escriba inetmgr y, a continuación, pulse Entrar.
Expanda la sección Sitios, en el panel Conexiones.
Haga clic derecho en el sitio Microsoft Dynamics CRM, seleccione Explorar y después abra la carpeta CRMWeb.
Abra la carpeta bin.
Copie los dos archivos "Microsoft.Identity.Client.dll" y "Microsoft.Identity.Client.xml" del directorio del paquete extraído NuGet y, a continuación, péguelos en la carpeta bin.
Crear un registro de aplicación de Azure en la tabla PartnerApplicationBase de la base de datos de la organización de Dynamics 365 Customer Engagement
- Abra SQL Server Management Studio y 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
En el script, actualice las variables @byoaAppId y @tenantId con los valores de ID de la aplicación e ID del inquilino que copió anteriormente del portal de Microsoft Azure en la sección Crear una aplicación de Azure con permisos de SharePoint de este artículo.
Verifique la base de datos y luego ejecute el script.
Confirme ejecutando la consulta de selección
SELECT * FROM [PartnerApplicationBase]
y verificando los campos PartnerApplicationId y TenantId.
Cargar certificado en certificados de aplicación Azure
Obtenga el certificado de Dynamics 365 Customer Engagement (on-premises) existente mediante 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
}
}
Cargue el certificado existente en certificados de aplicación de Azure
Abra un explorador web y vaya al Azure Portal para la aplicación de Azure AD que se creó en la primera sección.
Expanda Administrar y seleccione Certificados y secretos.
Cargue el archivo de certificado creado.
En la sección Certificados, seleccione Cargar certificado.
Utilice Cargar un certificado para seleccionar el archivo de certificado que se creó a partir del script PowerShell.
Agregue la Descripción y seleccione Agregar.
El certificado recién creado se muestra en la lista Certificados.