Xác thực (bản xem trước)

Bài viết này cung cấp tổng quan về thiết Microsoft Entra lập để gọi Power Platform API (xem trước). Để truy cập các tài nguyên có sẵn thông qua API, bạn phải lấy mã thông Power Platform báo vô danh từ Microsoft Entra đó và gửi nó dưới dạng tiêu đề cùng với mỗi yêu cầu. Tùy thuộc vào loại danh tính bạn đang hỗ trợ (người dùng so với dịch vụ chính), có các luồng khác nhau để nhận mã thông báo mang này, như được mô tả trong bài viết này.

Các bước sau đây được yêu cầu để có được mã thông báo mang chuyển với các quyền chính xác:

  1. Tạo đăng ký ứng dụng trong đối tượng thuê của bạn Microsoft Entra
  2. Đặt cấu hình quyền API
  3. Đặt cấu hình máy khách công cộng (không bắt buộc)
  4. Đặt cấu hình chứng chỉ và mã bí mật (không bắt buộc)
  5. Yêu cầu mã thông báo truy cập

Bước 1. Tạo đăng ký ứng dụng

Điều hướng đến Microsoft Entra trang đăng ký ứng dụng và tạo đăng ký mới. Đặt tên cho ứng dụng và đảm bảo tùy chọn Đối tượng thuê duy nhất được chọn. Bạn có thể bỏ qua thiết lập URI chuyển hướng.

Bước 2. Đặt cấu hình quyền API

Trong đăng ký ứng dụng mới, điều hướng đến tab Quản lý - Quyền API. Trong phần Định cấu hình quyền, chọn Thêm quyền. Trên cửa sổ hộp thoại mở ra, hãy chọn tab API mà tổ chức của tôi sử dụng rồi sau đó tìm kiếm API Power Platform. Bạn có thể thấy một số mục nhập có tên tương tự với tên này, vì vậy hãy đảm bảo rằng bạn sử dụng mục nhập có GUID 8578e004-a5c6-46e7-913e-12f58912df43.

Nếu bạn không thấy Power Platform API hiển thị trong danh sách khi tìm kiếm bằng GUID, có thể bạn vẫn có quyền truy cập vào API đó nhưng khả năng hiển thị không được làm mới. Để bắt buộc làm mới, hãy chạy mã lệnh PowerShell bên dưới:

#Install the Microsoft Entra the module
Install-Module AzureAD

Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"

Từ đây, bạn phải chọn các quyền mà bạn yêu cầu. Chúng được nhóm theo Không gian tên. Trong không gian tên, bạn sẽ thấy các loại tài nguyên và hành động, ví dụ: AppManagement.ApplicationPackages.Read cấp quyền đọc cho các gói ứng dụng. Để biết thêm thông tin, hãy xem bài viết Tham khảo quyền của chúng tôi .

Lưu ý

API Power Platform chỉ sử dụng các quyền được ủy quyền tại thời điểm này. Đối với các ứng dụng chạy với ngữ cảnh người dùng, bạn yêu cầu quyền được ủy quyền bằng tham số phạm vi. Các quyền này ủy quyền các đặc quyền của người dùng đã đăng nhập cho ứng dụng của bạn, cho phép ứng dụng đóng vai trò là người dùng khi gọi các điểm cuối API Power Platform.

Đối với các danh tính tên dịch vụ chính, quyền của ứng dụng không được sử dụng. Thay vào đó, tên dịch vụ chính được coi là Quản trị viên Power Platform và phải được đăng ký bằng cách làm theo PowerShell - Tạo tên dịch vụ chính.

Sau khi các quyền bắt buộc được thêm vào ứng dụng khách, hãy chọn Cấp sự đồng ý của quản trị viên để hoàn tất quy trình thiết lập. Điều này là cần thiết đối với những trường hợp bạn muốn cho phép người dùng truy cập ứng dụng của mình ngay lập tức, thay vì yêu cầu một trải nghiệm đồng ý tương tác. Nếu bạn có thể hỗ trợ sự đồng ý tương tác, bạn nên tuân theo Nền tảng nhận dạng của Microsoft và dòng mã ủy quyền OAuth 2.0.

Bước 3. Đặt cấu hình máy khách công cộng (không bắt buộc)

Nếu ứng dụng của bạn yêu cầu tài nguyên đọc và viết thay mặt cho người dùng, bạn phải bật cài đặt Máy khách công khai. Đây là cách duy nhất mà Microsoft Entra ID chấp nhận thuộc tính tên người dùng và mật khẩu trong phần nội dung yêu cầu mã thông báo của bạn. Cũng lưu ý rằng nếu bạn định sử dụng tính năng này, tính năng này sẽ không hoạt động đối với các tài khoản đã bật xác thực đa yếu tố.

Để bật, hãy truy cập tab Quản lý - Xác thực. Trong phần Cài đặt nâng cao, hãy đặt nút chuyển đổi Máy khách công cộng thành .

Bước 4. Đặt cấu hình chứng chỉ và mã bí mật (không bắt buộc)

Nếu ứng dụng của bạn yêu cầu tài nguyên đọc và ghi như chính nó - còn được gọi là Dịch vụ chính, có hai cách để xác thực. Để sử dụng chứng chỉ, hãy điều hướng đến tab Quản lý - Chứng chỉ và bí mật. Trong phần Chứng chỉ, tải lên chứng chỉ x509 mà bạn có thể dùng để xác thực. Cách khác là sử dụng phần Bí mật để tạo ra một mã bí mật của khách hàng. Lưu bí mật ở một vị trí an toàn để sử dụng với nhu cầu tự động hóa của bạn. Chứng chỉ hoặc tùy chọn bí mật cho phép bạn xác thực Microsoft Entra và nhận mã thông báo cho ứng dụng khách này, trong đó bạn chuyển đến API REST hoặc lệnh ghép ngắn PowerShell.

Bước 5. Yêu cầu mã thông báo truy cập

Có hai cách để có được mã thông báo mang chuyển quyền truy cập. Một dành cho tên người dùng và mật khẩu và một dành cho Tên dịch vụ chính.

Dòng tên người dùng và mật khẩu

Hãy nhớ đọc phần Máy khách công cộng ở trên. Sau đó, gửi yêu cầu POST qua HTTP tới Microsoft Entra ID với payload tên người dùng và mật khẩu.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password

Ví dụ trên chứa chỗ dành sẵn mà bạn có thể truy xuất từ ứng dụng khách của mình trong Microsoft Entra ID. Bạn nhận được phản hồi có thể được sử dụng để thực hiện các lệnh gọi tiếp theo đến Power Platform API.

{
  "token_type": "Bearer",
  "scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
  "expires_in": 4747,
  "ext_expires_in": 4747,
  "access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}

Sử dụng giá trịmã thông báo truy cập trong các lệnh gọi tiếp theo đến API của Power Platform API với tiêu đề HTTP Ủy quyền.

Quy trình chính của dịch vụ

Hãy nhớ đọc phần Chứng chỉ và Mã bí mật ở trên. Sau đó, gửi yêu cầu POST qua HTTP tới Microsoft Entra ID với tải trọng bí mật của máy khách. Điều này thường được gọi là phần xác thực chính của dịch vụ.

Quan trọng

Điều này chỉ có thể được sử dụng sau khi bạn đã đăng ký ID ứng dụng khách này bằng cách Microsoft Power Platform làm theo tài liệu PowerShell hoặc REST liên quan .

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials

Ví dụ trên chứa chỗ dành sẵn mà bạn có thể truy xuất từ ứng dụng khách của mình trong Microsoft Entra ID. Bạn nhận được phản hồi có thể được sử dụng để thực hiện các lệnh gọi tiếp theo đến Power Platform API.

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1..."
}

Sử dụng giá trịmã thông báo truy cập trong các lệnh gọi tiếp theo đến API của Power Platform API với tiêu đề HTTP Ủy quyền. Như đã lưu ý ở trên, luồng Dịch vụ Chính không sử dụng quyền ứng dụng và thay vào đó, hiện tại, được coi Power Platform là Quản trị viên cho tất cả các cuộc gọi mà họ thực hiện.

Xem thêm

Ứng dụng tạo tên dịch vụ chính qua API (bản xem trước)
PowerShell - Tạo tên dịch vụ chính