Ứng dụng tạo tên dịch vụ chính bằng PowerShell

Xác thực thông qua tên người dùng và mật khẩu thường không lý tưởng, đặc biệt là với xuất hiện của phương thức xác thực đa yếu tố. Trong những trường hợp như vậy, xác thực tên dịch vụ chính (hoặc dòng xác thực máy khách) thường được ưu tiên hơn. Bạn có thể thực hiện việc này bằng cách đăng ký ứng dụng dịch vụ chính mới trong Microsoft Entra đối tượng thuê của riêng bạn và sau đó đăng ký ứng dụng đó với Power Platform.

Đăng ký ứng dụng quản lý của quản trị viên

Đầu tiên, ứng dụng khách hàng cần phải được đăng ký trong Microsoft Entra đối tượng thuê của bạn. Để thiết lập điều này, hãy xem lại bài viết Xác thực cho API Power Platform vì thiết lập ứng dụng tương tự là bắt buộc cho PowerShell.

Sau khi ứng dụng khách hàng của bạn được đăng ký trong Microsoft Entra ID, ứng dụng đó cũng cần phải được đăng ký bằng Microsoft Power Platform. Hiện tại, không có cách để thực hiện việc này qua trung tâm quản trị Power Platform, mà phải thực hiện theo cách lập trình qua API Power Platform hoặc PowerShell cho quản trị viên Power Platform. Tên dịch vụ chính không thể tự đăng ký—theo thiết kế, ứng dụng phải được đăng ký bởi một ngữ cảnh tên người dùng và mật khẩu của quản trị viên. Điều này đảm bảo rằng ứng dụng được tạo bởi người quản trị của bên thuê.

Để đăng ký ứng dụng quản lý mới, hãy sử dụng tập lệnh sau:

$appId = "CLIENT_ID_FROM_AZURE_APP"

# Login interactively with a tenant administrator for Power Platform
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId 

# Register a new application, this gives the SPN / client application same permissions as a tenant admin
New-PowerAppManagementApp -ApplicationId $appId

Đưa ra yêu cầu với tư cách là tên dịch vụ chính

Bây giờ nó đã được đăng ký với Microsoft Power Platform, bạn có thể xác thực tên dịch vụ chính. Sử dụng tập lệnh sau để truy vấn danh sách môi trường của bạn:

$appId = "CLIENT_ID_FROM_AZURE_APP"
$secret = "SECRET_FROM_AZURE_APP"
$tenantId = "TENANT_ID_FROM_AZURE_APP"

Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId -ApplicationId $appId -ClientSecret $secret -Verbose
Get-AdminPowerAppEnvironment

Hạn chế của tên dịch vụ chính

Hiện tại, xác thực tên dịch vụ chính hoạt động cho quản lý môi trường, thiết đặt đối tượng thuê và quản lý Power Apps. Các lệnh ghép ngắn liên quan đến Flow được hỗ trợ để xác thực chủ thể dịch vụ trong những tình huống không yêu cầu giấy phép vì không thể chỉ định giấy phép cho các danh tính chủ thể dịch vụ trong Microsoft Entra ID.

Các ứng dụng chính của dịch vụ được xử lý tương tự như cách người dùng thông thường được chỉ định vai trò Quản trị viên. Power Platform Power Platform Không thể chỉ định các vai trò và quyền chi tiết để hạn chế khả năng của họ. Ứng dụng không được chỉ định bất kỳ vai trò đặc biệt nào trong Microsoft Entra ID, vì đây là cách các dịch vụ nền tảng xử lý các yêu cầu do các chủ thể dịch vụ đưa ra.