Aracılığıyla paylaş


Dataverse eklentileri veya eklenti paketleri için Power Platform yönetilen kimliğini ayarlama

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:
  • 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.

  1. Yeni bir uygulama kaydı veya kullanıcı tarafından atanan yönetilen kimlik oluşturun.
  2. Federasyon kimlik bilgilerini yapılandırın.
  3. Dataverse eklentilerini veya eklenti paketlerini oluşturun ve kaydedin.
    Eklenti derlemesini derleyip eklenti veya eklenti paketini kaydettiğinizden emin olun.
  4. Dataverse'de yönetilen kimlik kaydı oluşturun.
  5. Uygulamaya veya kullanıcı tarafından atanan yönetilen kimliğe (UAMI) Azure kaynaklarına erişim izni verin.
  6. 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.

  1. Azure portalına gidin.
  2. Microsoft Entra ID'ye gidin.
  3. Uygulama kayıtları’nı seçin.
  4. Yönetilen kimliği ayarlama bölümünde oluşturduğunuz uygulamayı açın.
  5. Sertifikalar & Gizli Diziler'e gidin.
  6. Federasyon kimlik bilgileri sekmesini ve ardından Kimlik bilgisi ekle'yi seçin.
  7. Vereni Diğer veren olarak seçin.
  8. 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}

  1. GUID → Hex dönüştürme.
  2. 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

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

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.

  1. 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/managedidentities
    

    Kuruluşun URL'si ile orgURL değerini değiştirdiğinizden emin olun.

  2. 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
    }
    
  3. 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:

  1. FIC'nin doğru yapılandırıldığından ve kaydedildiğinden emin olun.

  2. 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.