Cách thức: Bật bảo mật cấp hàng trong Power BI trên Power Pages

Cũng giống như Power Pages là công cụ được lựa chọn để nhanh chóng mở rộng việc triển khai Microsoft Dataverse của bạn tới công chúng dưới dạng trang web, Power BI cũng là công cụ được lựa chọn để hiển thị hình ảnh trực quan hóa dựa trên dữ liệu thanh lịch. Vẻ đẹp của Power Platform nằm ở khả năng kết hợp liền mạch cả hai. Trước đây, để hiển thị báo cáo Power BI trên một trang web, quản trị viên phải xuất bản báo cáo lên web và nhúng báo cáo vào iFrame. Ngay cả khi một người đã áp dụng Quyền với Pages để khóa trang có báo cáo, nếu một cá nhân có liên kết được sử dụng để nhúng báo cáo thì mọi người cũng vẫn có thể truy cập vào báo cáo bên ngoài trang web.

Mục đích của việc phát hành lên web là cho phép bất kỳ cá nhân nào trên web sử dụng dữ liệu và thậm chí chia sẻ lại báo cáo.

Cảnh báo

Khi bạn sử dụng Phát hành lên web, bất kỳ ai trên Internet đều có thể xem báo cáo hoặc hình ảnh đã phát hành của bạn. Không cần xác thực nếu chỉ xem. Bao gồm xem dữ liệu ở cấp độ chi tiết mà báo cáo của bạn tổng hợp. Trước khi phát hành báo cáo, hãy đảm bảo rằng bạn có thể chia sẻ dữ liệu và hình ảnh trực quan công khai. Không phát hành thông tin bí mật hoặc độc quyền. Nếu không rõ, hãy tham khảo chính sách của tổ chức của bạn trước khi phát hành.

Với Power BI Embedded, một người có thể phân phát các thành phần Power BI cho người dùng theo ngữ cảnh, chuyển các bộ lọc tự động bằng cách sử dụng tham số bộ lọc, và bật các khả năng bảo mật cấp hàng để cho phép tổ chức thực sự bảo mật dữ liệu mà người dùng có thể nhìn thấy và chỉ hiển thị những gì họ muốn xem.

Lưu ý

Bảo mật cấp hàng chỉ được hỗ trợ cho Power BI Embedded.

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

Kịch bản

Bạn làm việc cho một phòng tập thể dục nhóm và sử dụng Dataverse để theo dõi các lớp thể dục nhóm và sự tham dự của họ. Các huấn luyện viên thể dục nhóm không ở trên đối tượng thuê của bạn vì mỗi người được coi như một nhà thầu. Những người hướng dẫn thể dục nhóm này sẽ sử dụng trang web của bạn để đăng nhập và xem lịch sử các lớp đã dạy, lịch trình sắp tới của họ và tỷ lệ người tham dự. Tuy nhiên, họ chỉ có thể thấy những lớp học mà chính họ đã dạy chứ không phải của tất cả mọi người.

Huấn luyện viên được đại diện bởi bản ghi Người liên hệ trong Dataverse. Khi truy cập vào trang web Power Pages, họ làm như vậy với tư cách là bản ghi Người liên hệ. Dữ liệu họ cần xem trên trang web đến từ bảng Lớp tùy chỉnh của chúng tôi. Bảng Lớp có mối quan hệ N*:1 với một người liên hệ vì biểu mẫu lớp có trường tra cứu có tên Huấn luyện viên dành cho bảng người liên hệ.

Một bản ghi của một lớp trong Dataverse.

Để bảo mật cấp hàng hoạt động cho người dùng Power Pages (Người liên hệ), cần có mối quan hệ trực tiếp giữa Người liên hệ và bảng mà bạn báo cáo. Dưới đây là một mô hình dữ liệu ví dụ của kịch bản này:

Mối quan hệ của người liên hệ với bảng lớp.

Đặt cấu hình một báo cáo hoặc bảng thông tin trong Power BI

  1. Mở báo cáo hoặc bảng thông tin Power BI của bạn trong Power BI Desktop.

    Báo cáo Power BI của huấn luyện viên.

  2. Chúng ta phải thay đổi mối quan hệ giữa Người liên hệ và bảng của chúng ta (trong trường hợp này là Lớp) để sử dụng tính năng lọc hai chiều. Để làm như vậy, hãy chọn tab Mô hình ở ngoài cùng bên trái.

    Tùy chọn mô hình trong Power BI.

  3. Chọn dòng liên kết bảng người liên hệ với bảng chứa dữ liệu báo cáo – trong trường hợp mẫu, đây là vbd_class vì chúng ta đang báo cáo về các lớp học.

  4. Trong cửa sổ Chỉnh sửa mối quan hệ, có hai danh sách chọn. Ở trên cùng, hãy chọn bảng bạn đang báo cáo (vbd_class) và chọn cột có mã định danh duy nhất của bản ghi.

  5. Trong danh sách chọn dưới cùng, hãy chọn bảng người liên hệ và chọn cột Người liên hệ.

  6. Bản số biểu thị Nhiều với một (*:1). Thay đổi Hướng bộ lọc chéo thành Cả hai.

    Chỉnh sửa liên kết giữa các bảng.

  7. Chọn OK.

  8. Khi triển khai Bảo mật cấp hàng (RLS), chúng ta cần tạo vai trò của mình. Trong ruy băng Trang chủ, chọn Quản lý vai trò.

  9. Trong Vai trò, hãy chọn Tạo. Đặt tên cho vai trò. Kịch bản mẫu sử dụng pagesuser.

  10. Từ cột Bảng, chọn người liên hệ.

  11. Điền vào hộp văn bản ở bên phải bằng biểu thức DAX:

    [User Name] = username()

    Lưu ý

    Trường [Username] nằm trên bảng người liên hệ và không phải là tên người dùng thực tế. Điều này tham chiếu đến bảng adx_externalidentity được sử dụng bởi Power Pages. Mục này có GUID được gửi tới Power BI trong hàm username().

    Quản lý vai trò trong Power BI.

  12. Chọn Lưu sau đó lưu tệp của bạn.

  13. Từ ruy băng Trang chủ, chọn Phát hành.

  14. Chọn một không gian làm việc của tổ chức mà bạn là chủ sở hữu và không gian làm việc đó sẽ được tích hợp Power Pages sử dụng. Chọn Chọn.

Đặt cấu hình tích hợp Power BI

Tham khảo Thiết lập tích hợp Power BI để cho phép trang web của bạn cho tích hợp Power BI.

Nhúng báo cáo Power BI

  1. Điều hướng tới Power Pages Tìm trang web Power Pages mà bạn định nhúng báo cáo vào, rồi chọn Chỉnh sửa để mở studio thiết kế Power Pages.

  2. Từ không gian làm việc Pages, chọn trang web mà bạn muốn nhúng báo cáo.

  3. Thêm một phần vào nội dung của trang web.

  4. Chọn biểu tượng Power BI khi được nhắc chọn thành phần bạn đang thêm vào trong phần này.

    Thêm một phần đến một trang web.

  5. Khi thành phần điền vào phần này, hãy chọn ở góc trên cùng bên trái; Chỉnh sửa Power BI.

  6. Chọn Loại quyền truy cập. Các tùy chọn là:

    1. Nhúng cho khách hàng của bạn: Cho phép bạn chia sẻ Power BI với người dùng bên ngoài mà không cần Power BI giấy phép hoặc Microsoft Entra danh tính.

    2. Nhúng cho tổ chức của bạn: Tính năng này sử dụng Microsoft Entra xác thực để chia sẻ báo cáo từ Power BI để người dùng nội bộ có thể xem báo cáo này.

    3. Phát hành lên web: Tùy chọn này cho phép bất kỳ ai trên Internet truy cập báo cáo và dữ liệu.

    Thận trọng

    Hãy chắc chắn rằng đây không phải là thông tin bí mật!

    Thông tin bổ sung: Phát hành lên web

    Chọn Nhúng cho khách hàng của bạn.

  7. Chọn không gian làm việc chứa báo cáo hoặc bảng thông tin, chỉ định loại là Báo cáo hoặc Bảng thông tin, sau đó chọn báo cáo hoặc bảng thông tin từ menu thả xuống cuối cùng. Nếu đây là báo cáo, bạn cần chỉ định trang mà bạn đang nhúng.

    Chọn báo cáo.

  8. Để xem mã nhúng báo cáo hoặc trang tổng quan, hãy chọn Chỉnh sửa mã từ góc trên cùng bên phải của studio.

    Chỉnh sửa mã.

  9. Khi được nhắc, chọn Mở Visual Studio Code. Ở bên trái, dưới PowerPages (Không gian làm việc), tên của trang web Power Pages có trình đơn thả xuống trang web. Trong phần đó, bạn sẽ thấy tệp .css, tệp .js và bản sao HTML. Đảm bảo rằng bạn đang ở trên tệp sao chép HTML.

    VS Code.

  10. Chọn CTRL + F và tìm kiếm {% để chúng ta có thể nhanh chóng xác định mã chứa tham chiếu đến bảng thông tin hoặc báo cáo Power BI. {% biểu thị việc mở một thẻ, tạo ra logic cho ngôn ngữ Liquid. Liquid là cầu nối giữa Dataverse và những gì người dùng tương tác trên trang web. Khi sử dụng trình chỉnh sửa studio để nhúng các thành phần, một đoạn mã liquid sẽ tự động được tạo trong mã nguồn của trang web. Tìm thêm thông tin về thẻ liquid Power BI tại đây: Thẻ Liquid DataverseThêm báo cáo Power BI.

  11. Dòng mã liquid đầy đủ mà bạn nhìn thấy sẽ trông như sau:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
    
  12. Đóng tab Visual Studio Code cho web.

  13. Trong studio thiết kế Power Pages, chọn thành phần Power BI nhúng rồi chọn Chỉnh sửa Power BI.

  14. Cuộn xuống để chuyển đổi Áp dụng vai trò thành đúng/có.

  15. Trong hộp văn bản Vai trò, nhập tên của vai trò mà bạn đã tạo trong Power BI Desktop.

    Thêm các vai trò vào thành phần Power BI.

  16. Để xem các thay đổi mà mục này tạo ra với mã đã nhúng báo cáo hoặc bảng thông tin, hãy chọn Chỉnh sửa mã từ góc trên cùng bên phải của studio một lần nữa.

  17. Lúc này, dòng mã liquid đầy đủ mà bạn nhìn thấy sẽ trông như sau:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection" roles:"pagesuser" %}
    
  18. Đóng tab Visual Studio Code để quay lại studio thiết kế.

  19. Xem trước báo cáo hoặc bảng thông tin được nhúng tạo ra trong trình duyệt của bạn bằng cách chọn Đồng bộ hóa ở góc trên cùng bên phải, sau đó chọn Xem trước > Máy tính để bàn.

  20. Để kiểm tra báo cáo, khi không có người dùng nào đăng nhập, bạn có thể thấy RLS đã được áp dụng vì không có bản ghi nào được trả về khi điều hướng đến trang web Power Pages:

    Báo cáo trống.

    Có dữ liệu cơ sở trong báo cáo này, vì khi bạn xem dữ liệu này từ Power BI Desktop mà không áp dụng RLS, bạn có thể thấy rằng nhìn chung có một số bản ghi nhưng chúng có liên quan đến bản ghi người liên hệ.

  21. Để kiểm tra thêm điều này, nếu chúng ta đăng nhập vào trang web với người dùng có địa chỉ liên hệ tương ứng có dữ liệu liên quan, bạn chỉ có thể xem những bản ghi liên quan đến người dùng đã đăng nhập trên trang web:

    Báo cáo lớp học trên trang web.

Tóm tắt

Bạn đã nhúng một báo cáo hoặc bảng thông tin Power BI sử dụng bảo mật cấp hàng vào trang web Power Pages!

Ngăn bộ lọc xuất hiện theo mặc định. Để ẩn ngăn bộ, bạn cần dùng JavaScript. Các bước để thực hiện việc này được ghi lại ở đây: Thêm báo cáo hoặc bảng thông tin Power BI vào trang web trong cổng thông tin.