Freigeben über


Eine Azure-App für den SharePoint-Zugriff konfigurieren

Die Verwendung der SharePoint-Dokumenten-Entität in einer Dynamics 365-Organisation außerhalb des Dokumentrasters in einer Dynamics 365 Customer Engagement (on-premises) App erfordert eine Azure-Anwendung, um Zugriff zu gewähren. Ein Beispiel für diesen Zugriff ist die Verwendung innerhalb von Dynamics 365 Customer Engagement-API-Aufrufen. Das Einrichtung verwendet die verwalteten Power Platform-Identitäten mit Azure, um Zugriff zu gewähren.

Wichtig

Ab März 2025 wird der aktuelle Zugriff entfernt, um den Systemschutz zu verbessern. Um einen kontinuierlichen Zugriff sicherzustellen, gehen Sie wie folgt vor, um eine Azure-Anwendung mit den erforderlichen SharePoint-Berechtigungen zu erstellen, verwaltete Identitäten in Ihrer Dynamics 365 Customer Engagement (on-premises) Organisation einzurichten und Verbundanmeldeinformationen zu konfigurieren.

Eine Azure-Anwendung mit SharePoint-Berechtigungen erstellen

Erstellen Sie eine App-Registrierung mit App-Berechtigungen für SharePoint. Weitere Informationen zum Registrieren einer App und SharePoint-Zugriff finden Sie unter Azure-Schnellstart – App registrieren und SharePoint-Zugriff nur über Azure AD-App.

  1. Öffnen Sie das Azure-Portal.

  2. Wählen Sie unter Azure-Dienste die Option App-Registrierungen aus.

  3. Wählen Sie Neue Registrierung aus.

  4. Geben Sie einen Namen für die Anwendung ein.

  5. Wählen Sie unter Unterstützte Kontotypen die Option Konten nur in diesem Organisationsverzeichnis aus.

    Anmerkung

    Andere Kontotypen werden derzeit nicht unterstützt.

  6. Wählen Sie Registrieren aus, um die App-Registrierung zu erstellen.

  7. Notieren Sie sich die Anwendungs-ID (Client) und Verzeichnis-ID (Mandant).

    1. Wählen Sie im Navigationsbereich Übersicht aus.
    2. Kopieren Sie unter Grundlagen die Werte für die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandant) aus, die Sie im nächsten Abschnitt brauchen.
  8. Wählen Sie in der Navigationsliste Verwalten>API-Berechtigungen aus.

  9. Wählen Sie unter Konfigurierte Berechtigungen die Option Berechtigung hinzufügen aus, um den Bereich API-Berechtigungen anfordern zu öffnen.

    1. Wählen Sie SharePoint aus.
    2. Wählen Sie unter Welche Art von Berechtigungen benötigt Ihre Anwendung? die Option Anwendungsberechtigungen aus.
    3. Wählen Sie unter Berechtigungen auswählen die Option Sites.FullControl.All aus.
    4. Wählen Sie Berechtigungen hinzufügen aus, um die SharePoint-Berechtigung zu erstellen.
    5. Wählen Sie Administratoreinwilligung für den <tenant name>.

Voraussetzungen und Server-Einrichtung

  1. Laden Sie das NuGet-Paket für die Assembly Microsoft.Identity.Client, Version 4.11.0, herunter.

    1. https://www.nuget.org/packages/Microsoft.Identity.Client/4.11.0#readme-body-tab öffnen
    2. Wählen Sie Über und Paket herunterladen aus
  2. Benennen Sie das heruntergeladene Paket von microsoft.identity.Client.4.11.0.nupkg in microsoft.identity.Client.4.11.0.zip um.

  3. Führen Sie den Extraktionsvorgang auf microsoft.identity.Client.4.11.0.zip aus.

  4. Öffnen Sie im extrahierten Verzeichnis den lib/net45-Ordner und suchen Sie die Dateien Microsoft.Identify.Client.dll und Microsoft.Identify.Client.xml, die Sie in einem späteren Schritt verwenden möchten.

  5. Starten Sie auf dem Windows Server, auf dem die Dynamics 365 Customer Engagement (on-premises) Webanwendungsserverrolle ausgeführt wird, öffnen Sie den Internetinformationsdienste-Manager.

    1. Öffnen Sie die Eingabeaufforderung Ausführen über das Start-Menü.
    2. Geben Sie inetmgr ein und betätigen Sie mit der Eingabetaste.
  6. Erweitern Sie im Bereich Verbindungen den Abschnitt Websites.

  7. Klicken Sie mit der rechten Maustaste auf die Microsoft Dynamics CRM-Website und wählen Sie Erkunden aus und öffnen Sie dann den Ordner CRMWeb.

  8. Öffnen Sie den Ordner Intervall.

  9. Kopieren Sie die beiden Dateien Microsoft.Identity.Client.dll und Microsoft.Identity.Client.xml aus dem extrahierten NuGet Paketverzeichnis, und fügen Sie dann beide in den Ordner Intervall ein.

Erstellen eines Azure Anwendungsdatensatzes in der PartnerApplicationBase-Tabelle in der Dynamics 365 Customer Engagement-Organisationsdatenbank

  1. Öffnen Sie SQL Server Management Studio und kopieren Sie dieses SQL-Skript.
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. Aktualisieren Sie im Skript die Variablen @byoaAppId und @tenantId mit den Werten für die Anwendungs-ID und die Mandante-ID, die Sie zuvor im Microsoft Azure Portal unter Eine Azure-Anwendung mit SharePoint Bereichtigungen im Abschnitt diees Artikels kopiert haben.

  2. Überprüfen Sie die Datenbank, und führen Sie dann das Skript aus.

  3. Bestätigen Sie, indem Sie die Auswahlabfrage ausführen SELECT * FROM [PartnerApplicationBase]und die PartnerApplicationId und TenantId Felder überprüfen.

Zertifikat in Azure App-Zertifikate hochladen

Rufen Sie das vorhandene Dynamics 365 Customer Engagement (on-premises) Zertifikat mithilfe dieses Skripts ab.

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 
    } 
} 

Hochladen des vorhandenen Zertifikats zu Azure Anwendungszertifikate

  1. Öffnen Sie einen Webbrowser und gehen sie zum Azure-Portal für die Azure AD App, die im erste Abschnitt erstellt wurde.

  2. Erweitern Sie Verwalten und wählen dann Zertifikate und Geheimnisse aus.

  3. Laden Sie das erstellte Dateizertifikat hoch.

    1. Wählen Sie im Abschnitt Zertifikate die Option Zertifikat hochladen aus.

    2. Wählen Sie unter Zertifikat hochladen die Zertifikatdatei aus, die aus dem Skript PowerShell erstellt wurde.

    3. Fügen Sie die Beschreibung hinzu und wählen Hinzufügen aus.

Das neu erstellte Zertifikat wird in der Liste Zertifikate angezeigt.