Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
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:
- Môi trường phát triển tích hợp (IDE), như Visual Studio, để xây dựng plug-in
- Công cụ đăng ký plug-in
- SignTool.exe (Sign Tool) để ký tên vào cụm plug-in
- Power Platform CLI
- 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.
- 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.
- Cấu hình thông tin xác thực danh tính liên bang.
- 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. - Tạo bản ghi danh tính được quản lý trong Dataverse.
- 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).
- 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.
- Truy cập vào cổng thông tin Azure.
- Điều hướng đến Microsoft Entra ID.
- Chọn Đăng ký ứng dụng.
- Mở ứng dụng bạn đã tạo trong Thiết lập danh tính được quản lý.
- Điều hướng đến Certificates & secrets.
- Chọn tab Thông tin đăng nhập liên kết và chọn Thêm thông tin đăng nhập.
- Chọn bên phát hành là Bên phát hành khác.
- 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}
- Chuyển đổi GUID → Hex.
- 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ành và Chủ đề 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
Tạo một plug-in bằng cách sử dụng Visual Studio. Khi xây dựng plug-in, hãy sử dụng ID đối tượng thuê từ 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 và phạm vi như URL tổ chức như
https://{OrgName}.crm*.dynamics.com/.defaulthoặc thậm chí phạm vi chi tiết hơn.Sử dụng IManagedIdentityService và lấy phương thức mã thông báo để yêu cầu mã thông báo có phạm vi nhất định.
Chữ ký phương pháp:
string AcquireToken(IEnumerable<string> scopes);
Đó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
Cài đặt công cụ đăng ký plug-in nếu bạn chưa có nó trên máy của mình. Để biết thêm thông tin, hãy xem Dataverse công cụ phát triển.
Đăng ký plug-in. Để biết thêm thông tin, hãy xem Đă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.
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/managedidentitiesHãy nhớ thay thế orgURL bằng URL của tổ chức.
Đả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 }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ố:
Đảm bảo FIC được định cấu hình và lưu chính xác.
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.