Chia sẻ qua


Thiết lập danh tính được quản lý Power Platform cho phần bổ trợ hoặc gói phần bổ trợ Dataverse

Danh tính được quản lý Power Platform cho phép các gói phần bổ trợ hoặc phần bổ trợ Dataverse kết nối với tài nguyên Azure để hỗ trợ danh tính được quản lý mà không cần thông tin đăng nhập. Bài viết này giúp bạn thiết lập danh tính được quản lý trong môi trường Power Platform của mình.

Điều kiện tiên quyết

  • Đăng ký Azure có quyền cung cấp danh tính được quản lý do người dùng chỉ định (UAMI) hoặc đăng ký ứng dụng.
  • Công cụ cho plug-in hoặc gói plug-in:
  • Chứng chỉ hợp lệ để ký cụm plug-in.

Thiết lập danh tính được quản lý

Để đặt cấu hình danh tính được quản lý Power Platform cho các gói phần bổ trợ hoặc phần bổ trợ Dataverse, hãy hoàn thành các bước sau.

  1. Tạo đăng ký ứng dụng mới hoặc danh tính được quản lý do người dùng chỉ định.
  2. Cấu hình thông tin xác thực danh tính liên bang.
  3. Tạo và đăng ký các phần bổ trợ hoặc gói phần bổ trợ Dataverse.
    Đảm bảo xây dựng cụm plug-in và đăng ký plug-in hoặc gói plug-in.
  4. Tạo bản ghi danh tính được quản lý trong Dataverse.
  5. Cấp quyền truy cập vào tài nguyên Azure cho ứng dụng hoặc danh tính được quản lý do người dùng chỉ định (UAMI).
  6. Xác thực tích hợp plug-in.

Tạo đăng ký ứng dụng mới hoặc danh tính được quản lý do người dùng chỉ định

Bạn có thể tạo danh tính được quản lý do người dùng chỉ định hoặc ứng dụng trong Microsoft Entra ID dựa trên các trường hợp sau.

  • Nếu bạn muốn nhận dạng ứng dụng được liên kết với phần bổ trợ kết nối với tài nguyên Azure, chẳng hạn như Azure Key Vault, hãy sử dụng đăng ký ứng dụng. Với danh tính ứng dụng, bạn có thể áp dụng chính sách Azure trên plug-in truy cập tài nguyên Azure.
  • Nếu bạn muốn dịch vụ chính truy cập vào tài nguyên Azure, chẳng hạn như Azure Key Vault, bạn có thể cung cấp danh tính được quản lý do người dùng chỉ định.

Lưu ý

Đảm bảo chụp các ID sau khi bạn sử dụng chúng trong các bước sau.

  • ID ứng dụng (máy khách)
  • ID Đối tượng thuê

Cấu hình thông tin xác thực danh tính liên kết

Để cấu hình danh tính được quản lý, hãy mở ứng dụng danh tính hoặc Microsoft Entra ID được quản lý do người dùng chỉ định trong cổng thông tin Azure mà bạn đã tạo ở phần trước.

  1. Truy cập vào cổng thông tin Azure.
  2. Điều hướng đến Microsoft Entra ID.
  3. Chọn Đăng ký ứng dụng.
  4. Mở ứng dụng bạn đã tạo trong Thiết lập danh tính được quản lý.
  5. Điều hướng đến Certificates & secrets.
  6. Chọn tab Thông tin đăng nhập liên kết và chọn Thêm thông tin đăng nhập.
  7. Chọn bên phát hành là Bên phát hành khác.
  8. Nhập các thông tin sau:

Phát hành

Sử dụng nhà phát hành phiên bản 2.0 của đối tượng thuê:

https://login.microsoftonline.com/{tenantID}/v2.0

Ví dụ:

https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0

Kiểu

Chọn Mã định danh chủ đề rõ ràng.

Mã định danh chủ đề

Chọn định dạng phù hợp với loại chứng chỉ của bạn:

  • Chứng chỉ tự ký (chỉ phát triển):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
    
  • Chứng chỉ nhà phát hành đáng tin cậy (được khuyến nghị để sản xuất):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
    

Tham chiếu phân đoạn

Phân khúc Sự miêu tả
Eid1 Phiên bản định dạng danh tính
c/quán rượu Mã đám mây cho đám mây công cộng, Đám mây cộng đồng chính phủ (GCC) và trạm phát hành đầu tiên trong GCC.
t/{encodedTenantId} ID Đối tượng thuê
a/qzXoWDkuqUa3l6zM5mM0Rw/ Chỉ sử dụng nội bộ. Đừng sửa đổi.
n/plugin Thành phần plug-in
e/{environmentId} ID môi trường
h/{băm} SHA-256 của chứng chỉ (chỉ tự ký)
i/{tổ chức phát hành}
s/{certificateSubject}
Thông tin chi tiết về tổ chức phát hành đáng tin cậy

Tạo chứng chỉ tự ký

Mỗi plug-in phải có danh tính có thể xác minh và chứng chỉ ký hoạt động như dấu vân tay duy nhất của plug-in. Mã sau đây là đoạn mã PowerShell mẫu mà bạn có thể sử dụng để tạo chứng chỉ tự ký cho các tình huống phát triển hoặc thử nghiệm. Để tham khảo, bạn có thể làm theo ví dụ 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

Lưu ý

Mã hóa cho {encodedTenantId}

  1. Chuyển đổi GUID → Hex.
  2. Chuyển đổi Hex → Base64URL (không phải Base64 chuẩn).

Hàm băm tự ký

  • Tính toán SHA-256 trên .cer. Nếu bạn có .pfx, trước tiên hãy xuất .cer :
    CertUtil -hashfile <CertificateFilePath> SHA256
    
    $cert = Get-PfxCertificate -FilePath "path	o\your.pfx"
    $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
    

Môi trường đám mây Azure chuyên biệt

Đặt tiền tố Đối tượng, URL của nhà phát hànhChủ đề một cách rõ ràng khi triển khai bên ngoài đám mây công cộng, GCC và trạm phát hành đầu tiên trong GCC:

Đám mây Khán giả URL của nhà phát hành Tiền tố chủ đề
GCC High & DoD api://AzureADTokenExchangeUSGov https://login.microsoftonline.us /eid1/c/usg
Bánh trung thu (Trung Quốc) api://AzureADTokenExchangeChina https://login.partner.microsoftonline.cn /eid1/c/chn
Quốc tịch Hoa Kỳ (USNAT) api://AzureADTokenExchangeUSNat https://login.microsoftonline.eaglex.ic.gov /eid1/c/uss
Bảo mật Hoa Kỳ (USSec) api://AzureADTokenExchangeUSSec https://login.microsoftonline.scloud /eid1/c/usn

Lưu ý

Giá trị Đối tượng phân biệt chữ hoa chữ thường và phải khớp chính xác.
Đối với đám mây công cộng, GCC và trạm phát hành đầu tiên trong GCC (và các đám mây không được liệt kê khác), mặc định là:
Đối tượng api://AzureADTokenExchange, Nhà https://login.microsoftonline.comphát hành, Tiền tố /eid1/c/pubchủ đề.

Tạo và đăng ký các phần bổ trợ hoặc gói phần bổ trợ Dataverse

Xây dựng lắp ráp plug-in

Đóng gói và ký kết

Ký gói plug-in

Nếu bạn đang xây dựng một gói plug-in, hãy sử dụng NuGet Sign CLI để tạo một gói từ tệp .nuspec hoặc .csproj. Sau khi tạo gói, hãy ký nó bằng chứng chỉ của bạn.

 nuget sign YourPlugin.nupkg `
   -CertificatePath MyCert.pfx `
   -CertificatePassword "MyPassword" `
   -Timestamper http://timestamp.digicert.com

Ký cụm plug-in

Nếu bạn đang đăng ký một plug-in (lắp ráp), hãy ký vào DLL bằng chứng chỉ bằng cách sử dụng SignTool.exe (Sign Tool).

signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll

Bạn có thể tùy ý thêm dấu thời gian bằng cách cung cấp URL của máy chủ dấu thời gian tuân thủ RFC 3161.

Lưu ý

Chỉ sử dụng chứng chỉ tự ký cho mục đích phát triển hoặc thử nghiệm. Không sử dụng chứng chỉ tự ký trong môi trường sản xuất.

Đăng ký plug-in

Tạo hồ sơ danh tính được quản lý trong Dataverse

Để cung cấp bản ghi danh tính được quản lý trong Dataverse, hãy hoàn thành các bước sau.

  1. Tạo danh tính được quản lý bằng cách gửi yêu cầu HTTP POST với máy khách REST (chẳng hạn như Insomnia). Sử dụng URL và nội dung yêu cầu ở định dạng sau.

    POST https://<<orgURL>>/api/data/v9.0/managedidentities
    

    Hãy nhớ thay thế orgURL bằng URL của tổ chức.

  2. Đảm bảo rằng credentialsource được đặt thành 2 trong tải trọng, subjectscope được đặt thành 1 cho các tình huống dành riêng cho môi trường và phiên bản được đặt thành 1 trong tải trọng.

    Tải trọng mẫu

    {
      "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. Cập nhật gói phần bổ trợ hoặc bản ghi lắp ráp phần bổ trợ của bạn bằng cách đưa ra yêu cầu HTTP PATCH để liên kết nó với danh tính được quản lý được tạo ở bước 1.

    Lắp ráp plug-in

    PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)
    

    Gói plug-in

    PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)
    

    Tải trọng mẫu

    {
      "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)"
    }
    

    Hãy nhớ thay thế orgURL, PluginAssemblyId (hoặc PluginPackageId) và ManagedIdentityGuid bằng các giá trị của bạn.

Cấp quyền truy cập vào tài nguyên Azure cho ứng dụng hoặc danh tính được quản lý do người dùng chỉ định

Nếu bạn cần cấp quyền truy cập vào ID ứng dụng để truy cập tài nguyên Azure, chẳng hạn như Azure Key Vault, hãy cấp quyền truy cập vào ứng dụng hoặc danh tính được quản lý do người dùng chỉ định cho tài nguyên đó.

Xác thực tích hợp plug-in

Xác minh rằng plug-in của bạn có thể yêu cầu quyền truy cập an toàn vào tài nguyên Azure hỗ trợ danh tính được quản lý, loại bỏ nhu cầu về thông tin xác thực riêng biệt.

Câu hỏi thường gặp (FAQ)

Làm cách nào để giải quyết lỗi này?

Nếu bạn nhận được lỗi sau:
Nhận lỗi - Sự cố cấu hình đang ngăn xác thực.
AADSTS700213: Không tìm thấy bản ghi danh tính liên kết phù hợp

Hoàn thành các bước sau để giải quyết sự cố:

  1. Đảm bảo FIC được định cấu hình và lưu chính xác.

  2. Xác minh rằng tổ chức phát hành/chủ đề khớp với định dạng đã chỉ định trước đó.

    Bạn cũng có thể tìm thấy định dạng dự kiến trong ngăn xếp lỗi.

Làm cách nào để giải quyết lỗi "Không thể truy cập hoặc kết nối với Power Platform"?

Tham khảo URL Power Platform và dải địa chỉ IP để đảm bảo có thể truy cập được và đưa vào danh sách cho phép.