Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om du använder entiteten SharePoint-dokument i en Dynamics 365-organisation utanför dokumentrutnätet i en Dynamics 365 Customer Engagement (on-premises)-app krävs att ett Azure-program beviljar åtkomst. Ett exempel på den här åtkomsten är användning i Dynamics 365 Customer Engagement API-anrop. Konfigurationen använder Power Platform hanterade identiteter med Azure för att bevilja åtkomst.
Viktigt!
Från och med mars 2025 tas den aktuella åtkomsten bort för att förbättra systemskyddet. Följ dessa steg för att säkerställa fortsatt åtkomst genom att skapa ett Azure-program med nödvändiga SharePoint-behörigheter, konfigurera hanterade identiteter i din Dynamics 365 Customer Engagement (on-premises)-organisation och konfigurera federerade autentiseringsuppgifter.
Skapa en Azure-app med SharePoint-behörigheter
Skapa en appregistrering med API-behörighet till SharePoint. Läs mer om hur du registrerar en app och SharePoint-åtkomst i Azure-snabbstart Registrera app och SharePoint åtkomst via Azure AD endast app.
Öppna Azure-portalen.
Under Azure-tjänster, välj Appregistreringar.
Välj Ny registrering.
Ange ett namn för programmet.
Under Kontotyper som stöds, välj Endast konton i den här organisationskatalogen.
Anmärkning
Andra kontotyper stöds inte för närvarande.
Välj Registrera för att skapa appregistreringen.
Notera App-ID (klient) och Katalog-ID (innehavare).
- Välj Översikt i navigeringslistan.
- Under Essentials kopierar du värdena Program-ID (klient) och Katalog-ID (klientorganisation) för användning i nästa avsnitt.
I navigeringslistan väljer du Hantera>API-behörigheter.
Under Konfigurerade behörigheter, välj Lägg till en behörighet för att öppna panelen Begär API-behörigheter.
- Välj SharePoint.
- Under Vilken typ av behörigheter kräver ditt program?väljer du Programbehörigheter.
- Under Välj behörigheter väljer du Sites.FullControl.All.
- Välj Lägg till behörigheter för att skapa SharePoint-behörighet.
- Välj Bevilja administratörsmedgivande för
<tenant name>
.
Förutsättningar för serverkonfiguration
Ladda ned NuGet-paketet för sammansättningen "Microsoft.Identity.Client" version 4.11.0.
- Öppna https://www.nuget.org/packages/Microsoft.Identity.Client/4.11.0#readme-body-tab
- Under Om väljer du Ladda ned paket
Byt namn på det nedladdade paketet från "microsoft.identity.client.4.11.0.nupkg" till microsoft.identity.client.4.11.0.zip.
Kör extrakt på microsoft.identity.client.4.11.0.zip.
I den extraherade katalogen öppnar du mappen lib/net45 och letar reda på filerna "Microsoft.Identify.Client.dll" och "Microsoft.Identify.Client.xml" som ska användas i ett senare steg.
På den Windows Server där rollen för Dynamics 365 Customer Engagement (on-premises) webbprogramserverrollen körs, öppna Internet Information Services Manager.
- Öppna Kör-prompten från Start-menyn i Windows aktivitetsfält.
- Skriv inetmgr och tryck sedan på Retur.
Expandera avsnittet Platser i fönstret Anslutningar .
Högerklicka på Microsoft Dynamics CRM-webbplatsen , välj Utforska och öppna sedan mappen CRMWeb .
Öppna bin-mappen .
Kopiera de två filerna "Microsoft.Identity.Client.dll" och "Microsoft.Identity.Client.xml" från den extraherade NuGet-paketkatalogen och klistra sedan in båda i bin-mappen .
Skapa Azure-programpost i tabellen PartnerApplicationBase i Dynamics 365 Customer Engagement-organisationsdatabasen
- Öppna SQL Server Management Studio och kopiera i det här SQL-skriptet.
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
I skriptet uppdaterar du variablerna @byoaAppId och @tenantId med värdena för program-ID och klientorganisations-ID som du kopierade tidigare från Microsoft Azure Portal i avsnittet Skapa ett Azure-program med SharePoint-behörigheter i den här artikeln.
Verifiera databasen och kör sedan skriptet.
Bekräfta genom att köra urvalsfrågan
SELECT * FROM [PartnerApplicationBase]
och verifiera fälten PartnerApplicationId och TenantId .
Ladda upp certifikat i Azure-appcertifikat
Hämta det befintliga Dynamics 365 Customer Engagement (on-premises)-certifikatet med hjälp av det här skriptet.
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
}
}
Ladda upp det befintliga certifikatet till Azure-programcertifikat
Öppna en webbläsare och gå till Azure Portal för Azure AD-appen som skapades i det första avsnittet.
Expandera Hantera och välj sedan Certifikat & hemligheter.
Ladda upp den skapade certifikatfilen.
Under avsnittet Certifikat väljer du Ladda upp certifikat.
Använd Ladda upp ett certifikat för att välja den certifikatfil som skapades från PowerShell-skriptet.
Lägg till beskrivningen och välj sedan Lägg till.
Det nyskapade certifikatet visas i listan Certifikat .