Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Power Platform yönetilen kimliği, Dataverse eklentilerinin veya eklenti paketlerinin kimlik bilgilerine gerek kalmadan yönetilen kimliği desteklemek için Azure kaynaklarına bağlanmasına olanak tanır. Bu makale Power Platform ortamlarınızda yönetilen kimlik ayarlamanıza yardımcı olur.
Ön koşullar
- Kullanıcı tarafından atanan yönetilen kimlik (UAMI) veya uygulama kaydı sağlama erişimi olan bir Azure aboneliği.
- Eklentiler veya eklenti paketleri için araçlar:
- Eklentiyi oluşturmak için Visual Studio benzeri Tümleşik Geliştirici ortamı (IDE)
- Eklenti kayıt aracı
- Eklenti aksamını imzalamak için SignTool.exe (İmza Aracı)
- Power Platform CLI
- Eklenti derlemesini imzalamak için geçerli bir sertifika.
Yönetilen kimliğini oluşturma
Dataverse eklentileri veya eklenti paketleri için Power Platform yönetilen kimliğini yapılandırmak için aşağıdaki adımları tamamlayın.
- Yeni bir uygulama kaydı veya kullanıcı tarafından atanan yönetilen kimlik oluşturun.
- Federasyon kimlik bilgilerini yapılandırın.
- Dataverse eklentilerini veya eklenti paketlerini oluşturun ve kaydedin.
Eklenti derlemesini derleyip eklenti veya eklenti paketini kaydettiğinizden emin olun. - Dataverse'de yönetilen kimlik kaydı oluşturun.
- Uygulamaya veya kullanıcı tarafından atanan yönetilen kimliğe (UAMI) Azure kaynaklarına erişim izni verin.
- Eklenti tümleştirmesini doğrulayın.
Yeni bir uygulama kaydı veya kullanıcı tarafından atanan yönetilen kimlik oluşturun
Aşağıdaki senaryolara göre Microsoft Entra Id'de kullanıcı tarafından atanan yönetilen kimlik veya bir uygulama oluşturabilirsiniz.
- Azure Key Vault gibi Azure kaynaklarına bağlanan eklentiyle ilişkilendirilmiş bir uygulama kimliği istiyorsanız uygulama kaydını kullanın. Uygulama kimliğiyle, Azure kaynaklarına erişen eklentiye Azure ilkeleri uygulayabilirsiniz.
- Hizmet sorumlusunın Azure Key Vault gibi Azure kaynaklarına erişmesini istiyorsanız , kullanıcı tarafından atanan yönetilen kimlik sağlayabilirsiniz.
Not
Sonraki adımlarda kullanırken aşağıdaki kimlikleri yakaladığınıza emin olun.
- Uygulama (istemci) kimliği
- Kiracı kimliği
Federasyon kimlik bilgilerini yapılandırın
Yönetilen kimliği yapılandırmak için, önceki bölümde oluşturduğunuz Azure portalında kullanıcı tarafından atanan yönetilen kimlik veya Microsoft Entra ID uygulamasını açın.
- Azure portalına gidin.
- Microsoft Entra ID'ye gidin.
- Uygulama kayıtları’nı seçin.
- Yönetilen kimliği ayarlama bölümünde oluşturduğunuz uygulamayı açın.
- Sertifikalar & Gizli Diziler'e gidin.
- Federasyon kimlik bilgileri sekmesini ve ardından Kimlik bilgisi ekle'yi seçin.
- Vereni Diğer veren olarak seçin.
- Aşağıdaki bilgileri girin:
Sertifikayı veren
Kiracının v2.0 vericisini kullanınız.
https://login.microsoftonline.com/{tenantID}/v2.0
Example
https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0
Türü
Açık konu tanımlayıcısı'nı seçin.
Konu tanımlayıcısı
Sertifika türünüzle eşleşen biçimi seçin:
Kendi kendine imzalanmış sertifika (yalnızca geliştirme için):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}Güvenilen veren sertifikası (üretim için önerilir):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
Segment referansı
| Segment | Description |
|---|---|
| kurban bayramı1 | Kimlik biçimi sürümü |
| c/pub | Genel bulut için bulut kodu, Kamu Topluluk Bulutu (GCC) ve GCC'deki ilk sürüm istasyonu. |
| t/{encodedTenantId} | Kiracı kimliği |
| a/qzXoWDkuqUa3l6zM5mM0Rw/ | Yalnızca iç kullanım. Değiştirmeyin. |
| n/plugin | Eklenti bileşeni |
| e/{environmentId} | Ortam kimliği |
| h/{hash} | Sertifikanın SHA-256'sı (yalnızca kendinden imzalı) |
| i/{issuer} s/{certificateSubject} |
Güvenilen sertifika sağlayıcısının ayrıntıları |
Otomatik olarak imzalanan sertifika oluşturma
Her eklenti doğrulanabilir bir kimliğe sahip olmalıdır ve imzalama sertifikası eklentinin benzersiz parmak izi işlevi görür. Aşağıdaki kod, geliştirme veya test senaryoları için otomatik olarak imzalanan bir sertifika oluşturmak için kullanabileceğiniz örnek bir PowerShell kod parçacığıdır. Referans olarak örnek 3'e bakabilirsiniz.
$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
Not
Kodlama için {encodedTenantId}
- GUID → Hex dönüştürme.
- Hex → Base64URL'yi dönüştür (standart Base64 değil).
Otomatik olarak imzalanan karma
-
.cer üzerinden SHA-256'yi hesapla.
.pfx'iniz varsa, önce bir .cer dışarı aktarın:
CertUtil -hashfile <CertificateFilePath> SHA256 $cert = Get-PfxCertificate -FilePath "path o\your.pfx" $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Özelleştirilmiş Azure bulut ortamları
Genel bulut, GCC ve GCC'deki ilk yayın istasyonu dışında dağıtım yaparken Hedef Kitle, Veren URL'si ve Konu ön ekini açıkça ayarlayın:
| Bulut | Seyirci | Veren URL'si | Konu ön eki |
|---|---|---|---|
| GCC High ve DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Çin) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| ABD Ulusal (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| ABD Güvenli (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Not
"Hedef Kitle değeri büyük/küçük harfe duyarlıdır ve yazıldığı şekliyle tam olarak eşleşmelidir."
Genel bulut, GCC ve GCC'deki ilk yayın istasyonu (ve diğer listelenmeyen bulutlar) için varsayılan değerler şunlardır:
İzleyici api://AzureADTokenExchange, Veren https://login.microsoftonline.com, Konu ön eki /eid1/c/pub.
Dataverse eklentileri veya eklenti paketleri oluşturma ve kaydetme
Eklenti derlemesini oluştur
Visual Studio kullanarak bir eklenti oluşturun. Eklentiyi oluştururken, Yeni bir uygulama kaydı veya kullanıcı tarafından atanmış yönetilen kimlik oluştur öğesindeki kiracı kimliğini ve kapsamları kuruluş URL'si gibi
https://{OrgName}.crm*.dynamics.com/.defaultveya daha ayrıntılı kapsamlar gibi kullanın.IManagedIdentityService kullanın ve belirli bir kapsama sahip bir belirteç istemek için bir belirteç yöntemi edinin.
Yöntem imzası:
string AcquireToken(IEnumerable<string> scopes);
Paketleme ve imzalama
Eklenti paketini imzalama
Eklenti paketi oluşturuyorsanız NuGet sign CLI kullanarak .nuspec veya .csproj dosyasından paket oluşturun. Paketi oluşturdıktan sonra sertifikanızla imzalayın.
nuget sign YourPlugin.nupkg `
-CertificatePath MyCert.pfx `
-CertificatePassword "MyPassword" `
-Timestamper http://timestamp.digicert.com
Eklenti derlemesini imzalama
Eklenti (derleme) kaydediyorsanız ,SignTool.exe (İmza Aracı) kullanarak DLL'yi bir sertifikayla imzalayın.
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
İsteğe bağlı olarak, RFC 3161 uyumlu bir zaman damgası sunucusunun URL'sini sağlayarak zaman damgası ekleyebilirsiniz.
Not
Otomatik olarak imzalanan bir sertifikayı yalnızca geliştirme veya test amacıyla kullanın. Üretim ortamlarında otomatik olarak imzalanan sertifikalar kullanmayın.
Eklentiyi kaydetme
Henüz makinenizde yoksa eklenti kayıt aracını yükleyin. Daha fazla bilgi için bkz. Dataverse geliştirici araçları.
Eklentiyi kaydetme. Daha fazla bilgi için bkz. Eklentiyi kaydetme.
Dataverse'de yönetilen kimlik kaydı oluşturun
Dataverse'de yönetilen kimlik kaydı sağlamak için aşağıdaki adımları tamamlayın.
REST istemcisi kullanarak (Insomnia gibi) HTTP POST isteği göndererek yönetilen bir kimlik oluşturun. Url ve istek gövdesini aşağıdaki biçimde kullanın.
POST https://<<orgURL>>/api/data/v9.0/managedidentitiesKuruluşun URL'si ile orgURL değerini değiştirdiğinizden emin olun.
credentialsource'un yükte 2 olarak, subjectscope'un ortama özel senaryolar için 1 olarak ve version'un yükte 1 olarak ayarlandığından emin olun.
Örnek yük
{ "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 }Eklenti paketinizi veya eklenti derleme kaydınızı, 1. adımda oluşturulan yönetilen kimlikle ilişkilendirmek için bir HTTP PATCH isteği vererek güncelleştirin.
Eklenti derlemesi
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)Eklenti paketi
PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)Örnek yük
{ "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)" }orgURL, PluginAssemblyId (veya PluginPackageId) ve ManagedIdentityGuid değerlerini değerlerinizle değiştirmeyi unutmayın.
Uygulamaya veya kullanıcı tarafından atanan yönetilen kimliğe Azure kaynaklarına erişim izni verin
Azure Key Vault gibi Azure kaynaklarına erişmek için bir uygulama kimliğine erişim vermeniz gerekiyorsa, bu kaynağa uygulamaya veya kullanıcı tarafından atanan yönetilen kimliğe erişim verin.
Eklenti tümleştirmesini doğrulayın
Eklentinizin, yönetilen kimliği destekleyen Azure kaynaklarına güvenli bir şekilde erişim isteyebildiğini ve ayrı kimlik bilgilerine olan gereksinimi ortadan kaldırabildiğini doğrulayın.
Sık sorulan sorular (SSS)
Bu hatayı nasıl düzeltebilirim?
Aşağıdaki hatayı alırsanız:
Hata Alma – Yapılandırma sorunu kimlik doğrulamasını engelliyor.
AADSTS700213: Eşleşen federasyon kimliği kaydı bulunamadı
Sorunu çözmek için aşağıdaki adımları tamamlayın:
FIC'nin doğru yapılandırıldığından ve kaydedildiğinden emin olun.
Verenin/konunun daha önce belirtilen biçimle eşleştiğinden emin olun.
Beklenen biçimi hata yığınında da bulabilirsiniz.
"Power Platform'a erişilemiyor veya bağlanılamıyor" hatasını nasıl çözebilirim?
Power Platform uç noktalarının erişilebilir ve izin verilenler listesine girildiğinden emin olmak için Power Platform URL'leri ve IP adresi aralıklarına bakın.