Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit der verwalteten Power Platform-Identität können Dataverse-Plug-Ins oder Plug-In-Pakete eine Verbindung mit Azure-Ressourcen herstellen, um verwaltete Identitäten zu unterstützen, ohne dass Anmeldeinformationen erforderlich sind. Dieser Artikel unterstützt Sie beim Einrichten einer verwalteten Identität in Ihren Power Platform Umgebungen.
Voraussetzungen
- Ein Azure Abonnement mit Zugriff zum Bereitstellen einer benutzerseitig zugewiesenen verwalteten Identität (User Assigned Managed Identity, UAMI) oder Anwendungsregistrierung.
- Tools für Plug-Ins oder Plug-In-Pakete:
- Integrierte Entwicklungsumgebung (IDE), z. B Visual Studio, zum Erstellen von Plug-Ins
- Plug-in Registration Tool
- SignTool.exe (Signiertool),, um die Plug-In-Assembly zu signieren
- Power Platform CLI
- Ein gültiges Zertifikat zum Signieren der Plug-In-Assembly.
Verwaltete Identität einrichten
Führen Sie die folgenden Schritte aus, um die verwaltete Power Platform-Identität für Dataverse-Plug-Ins oder Plug-In-Pakete zu konfigurieren.
- Erstellen Sie eine neue App-Registrierung oder eine benutzerseitig zugewiesene verwaltete Identität.
- Konfigurieren Sie die Anmeldeinformationen für die Verbundidentität.
- Erstellen und Registrieren von Dataverse-Plug-Ins oder Plug-In-Paketen.
Achten Sie darauf, die Plug-In-Assembly zu erstellen und das Plug-In- oder Plug-In-Paket zu registrieren. - Erstellen eines verwalteten Identitätsdatensatzes in Dataverse.
- Gewähren des Zugriffs auf die Azure-Ressourcen für die Anwendung oder die vom Benutzer zugewiesene verwaltete Identität (UAMI).
- Überprüfen Sie die Plug-In-Integration.
Erstellen einer neuen App-Registrierung oder einer benutzerseitig zugewiesenen verwalteten Identität
Sie können entweder eine vom Benutzer zugewiesene verwaltete Identität oder eine Anwendung in microsoft Entra ID basierend auf den folgenden Szenarien erstellen.
- Wenn Sie möchten, dass eine App-Identität dem Plug-In zugeordnet ist, das eine Verbindung mit Azure-Ressourcen herstellt, z. B. Azure Key Vault, verwenden Sie die Anwendungsregistrierung. Mit der App-Identität können Sie Azure-Richtlinien auf das Plug-In anwenden, das auf Azure-Ressourcen zugreift.
- Wenn Sie möchten, dass ein Dienstprinzipal auf Azure-Ressourcen wie Azure Key Vault zugreifen kann, können Sie vom Benutzer zugewiesene verwaltete Identität bereitstellen.
Notiz
Achten Sie darauf, die folgenden IDs zu erfassen, da Sie diese in späteren Schritten benötigen.
- Anwendungs-ID (Client)
- Mandanten-ID
Anmeldeinformationen für Verbundidentitäten konfigurieren
Öffnen Sie zum Konfigurieren der verwalteten Identität die benutzerseitig zugewiesene verwaltete Identität oder Microsoft Entra ID-Anwendung im Azure-Portal, das Sie im vorherigen Abschnitt erstellt haben.
- Wechseln Sie zum Azure-Portal.
- Navigieren Sie zu Microsoft Entra ID.
- Wählen Sie App-Registrierungen aus.
- Öffnen Sie die App, die Sie unter Verwaltete Identität einrichten erstellt haben.
- Navigieren Sie zu Zertifikate & Geheimnisse.
- Wählen Sie die Registerkarte "Verbundanmeldeinformationen " und dann " Anmeldeinformationen hinzufügen" aus.
- Wählen Sie Aussteller als Anderer Aussteller aus.
- Geben Sie die folgenden Informationen ein:
Emittent
Verwenden Sie den v2.0-Issuer des Mandanten.
https://login.microsoftonline.com/{tenantID}/v2.0
Example
https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0
Typ
Wählen Sie "Expliziter Subjektidentifizierer" aus.
Subjektidentifier
Wählen Sie das Format aus, das Ihrem Zertifikattyp entspricht:
Selbstsigniertes Zertifikat (nur Entwicklung):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}Vertrauenswürdiges Ausstellerzertifikat (für die Produktion empfohlen):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
Segmentreferenz
| Segment | Description |
|---|---|
| eid1 | Identitätsformatversion |
| c/pub | Cloud-Code für öffentliche Cloud, Government Community Cloud (GCC) und erste Veröffentlichungsstation in GCC. |
| t/{encodedTenantId} | Mandanten-ID |
| a/qzXoWDkuqUa3l6zM5mM0Rw/ | Nur zur internen Verwendung. Ändern Sie dies nicht. |
| n/Plug-In | Plug-In-Komponente |
| e/{environmentId} | Umgebungs-ID |
| h/{hash} | SHA-256 des Zertifikats (nur selbstsigniert) |
| i/{issuer} s/{certificateSubject} |
Details zu vertrauenswürdigen Ausstellern |
Selbstsigniertes Zertifikat generieren
Jedes Plug-In muss über eine nachweisbare Identität verfügen, und das Signaturzertifikat fungiert als eindeutiger Fingerabdruck des Plug-Ins. Der folgende Code ist ein PowerShell-Beispielausschnitt, den Sie verwenden können, um ein selbstsigniertes Zertifikat für Entwicklungs- oder Testszenarien zu generieren. Sie können sich zur Orientierung an Beispiel 3 halten.
$params = @{
Type = 'Custom'
Subject = 'E=admin@contoso.com,CN=Contoso'
TextExtension = @(
'2.5.29.37={text}1.3.6.1.5.5.7.3.4',
'2.5.29.17={text}email=admin@contoso.com' )
KeyAlgorithm = 'RSA'
KeyLength = 2048
SmimeCapabilities = $true
CertStoreLocation = 'Cert:\CurrentUser\My'
}
New-SelfSignedCertificate @params
Notiz
Codierung für {encodedTenantId}
- GUID in Hex umwandeln.
- Konvertieren von Hex → Base64URL (nicht Standard Base64).
Selbstsignierter Hash
- SHA-256 über die Datei .cer berechnen. Wenn Sie über eine PFX-Datei verfügen, exportieren Sie zuerst eine .cer :
CertUtil -hashfile <CertificateFilePath> SHA256 $cert = Get-PfxCertificate -FilePath "path o\your.pfx" $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Spezialisierte Azure-Cloudumgebungen
Legen Sie die Zielgruppe, die Aussteller-URL und das Betreff-Präfix explizit fest, wenn Sie außerhalb der öffentlichen Cloud, GCC und der ersten Veröffentlichungsstation in GCC bereitstellen:
| Wolke | Publikum | Aussteller-URL | Betreffpräfix |
|---|---|---|---|
| GCC High und DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Mondkuchen aus China) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| US-National (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| US Secure (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Notiz
Für den Zielgruppen-Wert ist die Groß- und Kleinschreibung zu beachten und muss exakt übereinstimmen.
Für öffentliche Cloud, GCC und first release station in GCC (und andere nicht aufgeführte Clouds) sind die Standardwerte:
Zielgruppe api://AzureADTokenExchange, Aussteller https://login.microsoftonline.com, Betreff-Präfix /eid1/c/pub.
Erstellen und Registrieren von Dataverse-Plug-Ins oder Plug-In-Paketen
Plug-In-Assembly erstellen
Erstellen Sie ein Plug-In mit Visual Studio Verwenden Sie beim Erstellen des Plug-Ins die Mandanten-ID aus Erstellen einer neuen App-Registrierung oder einer benutzerseitig zugewiesenen verwalteten Identität und Bereiche als Organisations-URL wie
https://{OrgName}.crm*.dynamics.com/.defaultoder sogar noch detailliertere Bereiche.Verwenden Sie IManagedIdentityService, und rufen Sie eine Token-Methode zum Anfordern eines Tokens mit einem bestimmten Bereich ab.
Methodensignatur:
string AcquireToken(IEnumerable<string> scopes);
Verpacken und Signieren
Signieren eines Plug-In-Pakets
Wenn Sie ein Plug-In-Paket erstellen, verwenden Sie die NuGet Sign CLI , um ein Paket aus einer Nuspec- oder einer CSPROJ-Datei zu generieren. Nachdem Sie das Paket generiert haben, signieren Sie es mit Ihrem Zertifikat.
nuget sign YourPlugin.nupkg `
-CertificatePath MyCert.pfx `
-CertificatePassword "MyPassword" `
-Timestamper http://timestamp.digicert.com
Signieren einer Plugin-Assembly
Wenn Sie ein Plug-In (Assembly) registrieren, signieren Sie die DLL mit einem Zertifikat mithilfe von SignTool.exe (Sign Tool).
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
Sie können optional Zeitstempel hinzufügen, indem Sie die URL eines RFC 3161-kompatiblen Zeitstempelservers angeben.
Notiz
Verwenden Sie ein selbstsigniertes Zertifikat nur für Entwicklungs- oder Testzwecke. Verwenden Sie keine selbstsignierten Zertifikate in Produktionsumgebungen.
Plug-In registrieren
Installieren Sie das Plug-In-Registrierungstool, wenn Sie es noch nicht auf Ihrem Computer haben. Weitere Informationen finden Sie unter Dataverse-Entwicklungstools.
Registrieren Sie das Plug-In. Weitere Informationen finden Sie unter Plug-In registrieren.
Verwalteten Identitätsdatensatz erstellen in Dataverse
Führen Sie die folgenden Schritte aus, um einen verwalteten Identitätsdatensatz in Dataverse bereitzustellen.
Erstellen Sie eine verwaltete Identität, indem Sie eine HTTP POST-Anforderung mit einem REST-Client senden (z. B. Schlaflosigkeit). Verwenden Sie eine URL und einen Anforderungstext im folgenden Format.
POST https://<<orgURL>>/api/data/v9.0/managedidentitiesStellen Sie sicher, dass Sie orgURL durch die URL der Organisation ersetzen.
Stellen Sie sicher, dass die credentialsource in der Nutzlast auf 2 festgelegt ist, subjectscope für umgebungsspezifische Szenarien auf 1 gesetzt ist und dass die version in der Nutzlast auf 1 festgelegt ist.
Beispielnutzlast
{ "applicationid": "<<appId>>", //Application Id, or ClientId, or User Managed Identity "managedidentityid": "<<anyGuid>>", "credentialsource": 2, // Managed client "subjectscope": 1, //Environment Scope "tenantid": "<<tenantId>>", //Entra Tenant Id "version": 1 }Aktualisieren Sie Ihren Plug-In-Paket- oder Plug-In-Assemblydatensatz, indem Sie eine HTTP PATCH-Anforderung ausgeben, um es der verwalteten Identität zuzuordnen, die in Schritt 1 erstellt wurde.
Steckmodul-Montage
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)Plug-In-Paket
PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)Beispielnutzlast
{ "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)" }Achten Sie darauf, orgURL, PluginAssemblyId (oder PluginPackageId) und ManagedIdentityGuid durch Ihre Werte zu ersetzen.
Gewähren von Zugriff auf die Azure Ressourcen für eine Anwendung oder eine benutzerseitig zugewiesene verwaltete Identität
Wenn Sie Zugriff auf eine Anwendungs-ID für den Zugriff auf Azure-Ressourcen wie Azure Key Vault gewähren müssen, gewähren Sie zugriff auf die Anwendung oder die vom Benutzer zugewiesene verwaltete Identität dieser Ressource.
Überprüfen Sie die Plug-In-Integration
Stellen Sie sicher, dass Ihr Plug-In sicher Zugriff auf Azure-Ressourcen anfordern kann, die verwaltete Identitäten unterstützen, sodass keine separaten Anmeldeinformationen erforderlich sind.
Häufig gestellte Fragen (FAQs)
Wie kann ich diesen Fehler beheben?
Wenn Sie den folgenden Fehler erhalten:
Fehler beim Abrufen – Ein Konfigurationsproblem verhindert die Authentifizierung.
AADSTS700213: Kein übereinstimmender Verbundidentitätsdatensatz gefunden
Führen Sie die folgenden Schritte aus, um das Problem zu beheben:
Stellen Sie sicher, dass FIC ordnungsgemäß konfiguriert und gespeichert ist.
Stellen Sie sicher, dass der Aussteller/Betreff dem zuvor angegebenen Format entspricht.
Sie können auch das erwartete Format im Fehlerstapel finden.
Wie kann ich den Fehler "Keine Verbindung mit Power Platform herstellen" beheben?
Bitte lesen Sie Power Platform-URLs und IP-Adressbereiche, um sicherzustellen, dass Power Platform-Endpunkte erreichbar und zugelassen sind.