Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tożsamość zarządzana platformy Power Platform pozwala wtyczkom lub pakietom wtyczek usługi Dataverse łączyć się z zasobami platformy Azure w celu obsługi tożsamości zarządzanej bez konieczności używania poświadczeń. Ten artykuł ułatwia konfigurowanie tożsamości zarządzanej w środowiskach Power Platform.
Wymagania wstępne
- Subskrypcja Azure z dostępem do aprowizacji tożsamości zarządzanej przypisanej przez użytkownika (UAMI) lub rejestracji aplikacji.
- Narzędzia dla wtyczek lub pakietów wtyczek:
- Zintegrowane środowisko programistyczne (IDE), takie jak Visual Studio, do tworzenia wtyczek
- Plug-in Registration Tool
- SignTool.exe (Sign Tool), aby podpisać zespół wtyczki
- Power Platform CLI (interfejs wiersza polecenia)
- Prawidłowy certyfikat do podpisania zestawu wtyczek.
Konfigurowanie tożsamości zarządzanej
Aby skonfigurować tożsamość zarządzaną platformy Power Platform dla wtyczek lub pakietów wtyczek usługi Dataverse, wykonaj następujące kroki.
- Utwórz nową rejestrację aplikacji lub tożsamość zarządzaną przypisaną przez użytkownika.
- Skonfiguruj poświadczenia tożsamości federacyjnej.
- Tworzenie i rejestrowanie wtyczek lub pakietów wtyczek dla Dataverse.
Pamiętaj, aby skompilować moduł wtyczki i zarejestrować wtyczkę lub pakiet wtyczki. - Utwórz rekord tożsamości zarządzanej w usłudze Dataverse.
- Udziel dostępu do zasobów platformy Azure dla aplikacji lub tożsamości zarządzanej przypisanej przez użytkownika (UAMI).
- Sprawdź poprawność integracji wtyczki.
Utwórz nową rejestrację aplikacji lub tożsamość zarządzaną przypisaną przez użytkownika
Możesz utworzyć tożsamość zarządzaną przypisaną przez użytkownika lub aplikację w usłudze Microsoft Entra ID w oparciu o następujące scenariusze.
- Jeśli chcesz, aby tożsamość aplikacji skojarzona z wtyczką, która łączy się z zasobami platformy Azure, takimi jak usługa Azure Key Vault, użyj rejestracji aplikacji. W przypadku tożsamości aplikacji można zastosować zasady Azure we wtyczce uzyskującej dostęp do zasobów Azure.
- Jeśli chcesz, aby jednostka usługi mogła uzyskiwać dostęp do zasobów platformy Azure, takich jak usługa Azure Key Vault, możesz aprowizować tożsamość zarządzaną przypisaną przez użytkownika.
Uwaga
Pamiętaj, aby przechwycić następujące identyfikatory, ponieważ są one używane w kolejnych krokach.
- Identyfikator aplikacji (klienta)
- Identyfikator dzierżawy
Skonfiguruj poświadczenia tożsamości federacyjnej
Aby skonfigurować tożsamość zarządzaną, otwórz przypisaną do użytkownika tożsamość zarządzaną lub aplikację Tożsamość Microsoft Entra w witrynie Azure Portal utworzonej w poprzedniej sekcji.
- Przejdź do portalu Azure Portal.
- Przejdź do Tożsamość Microsoft Entra.
- Wybierz pozycję Rejestracje aplikacji.
- Otwórz aplikację utworzoną w obszarze Konfigurowanie tożsamości zarządzanej.
- Przejdź do pozycji Certyfikaty i klucze tajne.
- Wybierz kartę Poświadczenia federacyjne i wybierz pozycję Dodaj poświadczenia.
- Wybierz wystawcę jako Inny wystawca.
- Wprowadź następujące informacje:
Wystawca
Użyj wystawcy dzierżawy w wersji 2.0:
https://login.microsoftonline.com/{tenantID}/v2.0
Example
https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0
Typ
Wybierz pozycję Jawny identyfikator podmiotu.
Identyfikator podmiotu
Wybierz format zgodny z typem certyfikatu:
Certyfikat z podpisem własnym (tylko programowanie):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}Zaufany certyfikat wystawcy (zalecany w środowisku produkcyjnym):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
Odwołanie do segmentu
| Segment | Description |
|---|---|
| identyfikator eid1 | Wersja formatu tożsamości |
| c/pub | Kod w chmurze dla chmury publicznej, Government Community Cloud (GCC) i pierwsza stacja wydawnicza w GCC. |
| t/{encodedTenantId} | Identyfikator dzierżawy |
| a/qzXoWDkuqUa3l6zM5mM0Rw/ | Tylko do użytku wewnętrznego. Nie modyfikuj. |
| n/wtyczka | Składnik wtyczki |
| e/{environmentId} | Identyfikator środowiska |
| h/{hash} | SHA-256 certyfikatu (tylko z podpisem własnym) |
| i/{issuer} s/{certificateSubject} |
Szczegóły zaufanego wystawcy |
Generowanie certyfikatu z podpisem własnym
Każda wtyczka musi mieć tożsamość weryfikowalną, a certyfikat podpisywania działa jako unikatowy odcisk palca wtyczki. Poniższy kod to przykładowy fragment kodu programu PowerShell, którego można użyć do wygenerowania certyfikatu z podpisem własnym na potrzeby scenariuszy programowania lub testowania. Aby uzyskać informacje, możesz skorzystać z przykładu 3.
$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
Uwaga
Kodowanie dla {encodedTenantId}
- Przekonwertuj identyfikator GUID na format szesnastkowy.
- Przekonwertuj Hex → Base64URL (nie standardowy Base64).
Skrót samopodpisany
- Oblicz algorytm SHA-256 na .cer. Jeśli masz plik PFX, najpierw wyeksportuj .cer :
CertUtil -hashfile <CertificateFilePath> SHA256 $cert = Get-PfxCertificate -FilePath "path o\your.pfx" $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Wyspecjalizowane środowiska chmury platformy Azure
Ustaw jawnie Odbiorców, Adres URL wystawcy i Prefiks tematu podczas wdrażania poza chmurą publiczną, GCC i pierwszą stacją wydań w GCC:
| Chmura | Publiczność | Adres URL wystawcy | Prefiks tematu |
|---|---|---|---|
| GCC High i DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Ciastko księżycowe (Chiny) | 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 |
Uwaga
Wartość Odbiorcy jest wrażliwa na wielkość liter i musi być dokładnie zgodna.
W przypadku chmury publicznej, GCC i stacji pierwszej wersji w GCC (i innych chmurach innych niż wymienione) wartości domyślne to:
Odbiorcy api://AzureADTokenExchange, wystawca https://login.microsoftonline.com, prefiks tematu /eid1/c/pub.
Twórz i rejestruj wtyczki lub pakiety wtyczek do Dataverse
Tworzenie zespołu wtyczki
Utwórz wtyczkę używając Visual Studio. Podczas tworzenia wtyczki użyj identyfikatora dzierżawy z obszaru Utwórz nową rejestrację aplikacji lub tożsamość zarządzaną przypisaną przez użytkownika i zakresy jako adres URL organizacji, taki jak
https://{OrgName}.crm*.dynamics.com/.defaultlub nawet bardziej szczegółowe zakresy.Użyj IManagedIdentityService i uzyskaj metodę tokenu, aby zażądać tokenu o danym zakresie.
Podpis metody:
string AcquireToken(IEnumerable<string> scopes);
Pakowanie i podpisywanie
Podpisywanie pakietu wtyczek
Jeśli tworzysz pakiet wtyczek, użyj NuGet Sign CLI, aby wygenerować pakiet z pliku .nuspec lub .csproj. Po wygenerowaniu pakietu podpisz go przy użyciu certyfikatu.
nuget sign YourPlugin.nupkg `
-CertificatePath MyCert.pfx `
-CertificatePassword "MyPassword" `
-Timestamper http://timestamp.digicert.com
Podpisywanie zestawu wtyczek
Jeśli rejestrujesz wtyczkę (zestaw), podpisz bibliotekę DLL certyfikatem, używając SignTool.exe (narzędzie podpisywania).
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
Opcjonalnie można dodać znaczniki czasu, podając adres URL serwera sygnatury czasowej zgodnej ze standardem RFC 3161.
Uwaga
Używaj certyfikatu z podpisem własnym tylko do celów programistycznych lub testowych. Nie używaj certyfikatów z podpisem własnym w środowiskach produkcyjnych.
Rejestrowanie dodatku plug-in
Zainstaluj narzędzie rejestracji wtyczki, jeśli nie masz go jeszcze na maszynie. Aby uzyskać więcej informacji, zobacz Dataverse - narzędzia programistyczne.
Rejestrowanie dodatku plug-in. Więcej informacji można znaleźć w Zarejestruj wtyczkę.
Utwórz rekord tożsamości zarządzanej w Dataverse
Aby utworzyć rekord tożsamości zarządzanej w Dataverse, wykonaj następujące kroki.
Utwórz tożsamość zarządzaną, wysyłając żądanie HTTP POST przy użyciu klienta REST, takiego jak np. Insomnia. Użyj adresu URL i treści żądania w następującym formacie.
POST https://<<orgURL>>/api/data/v9.0/managedidentitiesPamiętaj, aby zastąpić adres orgURL adresem URL organizacji.
Upewnij się, że źródło poświadczeń ma wartość 2 w ładunku, subjectscope jest ustawione na 1 dla scenariuszy specyficznych dla środowiska, a wersja jest ustawiona na 1.
Przykładowy ładunek
{ "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 }Zaktualizuj pakiet wtyczki lub rekord zestawu wtyczek, wysyłając żądanie HTTP PATCH, aby skojarzyć go z tożsamością zarządzaną utworzoną w kroku 1.
Zestaw wtyczek
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)Pakiet wtyczek
PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)Przykładowy ładunek
{ "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)" }Pamiętaj, aby zastąpić orgURL, PluginAssemblyId (lub PluginPackageId) i ManagedIdentityGuid swoimi wartościami.
Przyznanie dostępu do zasobów platformy Azure aplikacji lub tożsamości zarządzanej przypisanej do użytkownika
Jeśli musisz przyznać dostęp do identyfikatora aplikacji, aby uzyskać dostęp do zasobów Azure, takich jak "Azure Key Vault", przyznaj dostęp aplikacji lub przypisanej przez użytkownika tożsamości zarządzanej do tego zasobu.
Sprawdź poprawność integracji wtyczki
Sprawdź, czy wtyczka może bezpiecznie żądać dostępu do zasobów platformy Azure, które obsługują tożsamość zarządzaną, eliminując potrzebę stosowania oddzielnych poświadczeń.
Często zadawane pytania (FAQ)
Jak rozwiązać ten błąd?
Jeśli wystąpi następujący błąd:
Błąd — problem z konfiguracją uniemożliwia uwierzytelnianie.
AADSTS700213: nie znaleziono pasującego rekordu tożsamości federacyjnej
Wykonaj następujące kroki, aby rozwiązać ten problem:
Upewnij się, że FIC jest poprawnie skonfigurowany i zapisany.
Sprawdź, czy wystawca/podmiot jest zgodny z określonym wcześniej formatem.
Oczekiwany format można również znaleźć w stosie błędów.
Jak rozwiązać problem z błędem "Nie można połączyć się z platformą Power Platform"?
Zapoznaj się z adresami URL i zakresami adresów IP platformy Power Platform, aby upewnić się, że punkty końcowe platformy Power Platform są osiągalne i znajdują się na liście dozwolonych.