Del via


Konfigurere Azure app til SharePoint adgang

Brug af enheden tabellen SharePoint Dokumenter i en Dynamics 365-organisation uden for dokumentgitteret i en Dynamics 365 Customer Engagement (on-premises)-app kræver et Azure-program for at give adgang. Et eksempel på denne adgang omfatter brug i Dynamics 365 Customer Engagement API-kald. Opsætningen bruger de administrerede Power Platform identiteter med Azure til at give adgang.

Vigtige oplysninger

Fra marts 2025 fjernes den nuværende adgang for at forbedre systembeskyttelsen. Hvis du vil sikre fortsat adgang, skal du følge disse trin for at oprette et Azure-program med de nødvendige SharePoint tilladelser, konfigurere administrerede identiteter i Dynamics 365 Customer Engagement (on-premises)-organisationen og konfigurere legitimationsoplysninger.

Opret et Azure program med SharePoint tilladelser

Opret en appregistrering med API-tilladelse til SharePoint. Få mere at vide om registrering af en app og SharePoint adgang i Azure Hurtig start: Registrer app, og SharePoint-adgang via Azure AD Kun app.

  1. Åbn Azure-portalen.

  2. Vælg Appregistreringer under Azure-tjenester.

  3. Vælg Ny registrering.

  4. Angiv et Navn til applikationen.

  5. Under Understøttede kontotyper skal du kun vælge Konti i dette organisationskatalog.

    Bemærk

    Andre kontotyper understøttes ikke i øjeblikket.

  6. Vælg Registrer for at oprette appregistreringen.

  7. Bemærk Program-id (klient) og Mappe-id (lejer).

    1. På navigationslisten, vælg Oversigt.
    2. Under Grundlæggende, kopier værdierne for program-id (klient) og mappe-id (lejer) til brug i næste afsnit.
  8. På navigationslisten skal du vælge Administrer>API-tilladelser.

  9. Under Konfigurerede tilladelser skal du vælge Tilføj en tilladelse for at åbne panelet Anmod om API-tilladelser.

    1. Vælg SharePoint.
    2. Vælg Programtilladelser under Hvilken type tilladelser kræver dit program?.
    3. Under Vælg tilladelser skal du vælge Sites.FullControl.All.
    4. Vælg Tilføj tilladelser for at oprette SharePoint-tilladelsen.
    5. Vælg Giv administratorsamtykke til <tenant name>.

Forudsætninger for serverkonfiguration

  1. Hent NuGet pakken til samling af "Microsoft.Identity.Client" version 4.11.0.

    1. Åbn https://www.nuget.org/packages/Microsoft.Identity.Client/4.11.0#readme-body-tab
    2. Under Om vælges Download pakke
  2. Omdøb den hentede pakke fra "microsoft.identity.client.4.11.0.nupkg" til microsoft.identity.client.4.11.0.zip.

  3. Kør udpakning på microsoft.identity.client.4.11.0.zip.

  4. I den udpakkede mappe skal du åbne mappen lib / net45 og finde filerne "Microsoft.Identify.Client.dll" og "Microsoft.Identify.Client.xml" til brug i et senere trin.

  5. Åbn Internet Information Services (IIS) Manager i Windows Server, hvor Dynamics 365 Customer Engagement (on-premises) webprogrammets serverrolle kører.

    1. Åbn Kør-prompten fra Windows-proceslinjens Start-menu.
    2. Skriv inetmgr, og tryk derefter på Enter.
  6. Udvid sektionen Websteder i ruden Forbindelser.

  7. Højreklik på Microsoft Dynamics CRM-webstedet, vælg Udforsk, og åbn derefter mappen CRMWeb.

  8. Åbn mappen interval.

  9. Kopier de to filer "Microsoft.Identity.Client.dll" og "Microsoft.Identity.Client.xml" fra den udpakkede NuGet pakkemappe, og indsæt derefter begge i mappen interval.

Oprette Azure programmet post i tabellen PartnerApplicationBase i Dynamics 365 Customer Engagement organisationsdatabasen

  1. Åbn SQL Server Management Studio, og kopiér dette SQL script.
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. I scriptet skal du opdatere variablerne @byoaAppId og @tenantId med værdierne Program-id og Lejer ID, som du kopierede tidligere fra Microsoft Azure-portalen i afsnittet Opret et Azure program med SharePoint-tilladelser i denne artikel.

  2. Kontrollér databasen, og udfør derefter scriptet.

  3. Bekræft ved at køre udvælgelsesforespørgslen SELECT * FROM [PartnerApplicationBase]og kontrollere felterne PartnerApplicationId og TenantId.

Overfør certifikat i Azure-appcertifikater

Hent det eksisterende Dynamics 365 Customer Engagement (on-premises) certifikat ved hjælp af dette 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 
    } 
} 

Upload det eksisterende certifikat til Azure applikationscertifikater

  1. Åbn en webbrowser, og gå til Azure portalen for den Azure AD app, der blev oprettet i første afsnit.

  2. Udvid Administrer, og vælg derefter Certifikater og hemmeligheder.

  3. Overfør den oprettede certifikatfil.

    1. Under afsnittet Certifikater skal du vælge Overfør certifikat.

    2. Brug Overfør et certifikat til at vælge den certifikatfil, der blev oprettet fra scriptet PowerShell.

    3. Tilføj Beskrivelse, og vælg derefter Tilføj.

Det nyoprettede certifikat vises på listen Certifikater.