Bảo mật trong Appsheet

 

THÔNG TIN CHUNG VỀ CÁC GÓI TÙY CHỌN

Buổi 08: Bảo mật và quản trị người dùng

Appsheet cung cấp nhiều tùy chọn về bảo mật cho người dùng, trong đó chia thành hai loại chính là Public App và Login App.


Public App

Subscription Plan

Đây là ứng dụng công khai, bất kỳ ai cũng có thể truy cập và sử dụng. Tuy nhiên, do nó là ứng dụng công khai nên không yêu cầu người dùng đăng nhập, do đó dữ liệu không được bảo mật. Public App có mức phí là 50 đô la/tháng.


Đây là loại ứng dụng yêu cầu người dùng phải đăng nhập bằng tài khoản của mình. Mỗi email được chia sẻ cho người dùng được tính là một người dùng. Appsheet hiện tại hỗ trợ chia sẻ miễn phí cho 10 người dùng (9 người dùng + 1 tài khoản mặc định). Nếu vượt quá 10 người dùng, người dùng sẽ phải trả phí cho Google theo số người dùng chia sẻ. Ví dụ, nếu bạn chia sẻ cho 11 người, thì bạn sẽ phải trả phí hàng tháng cho 11 người dùng.





Trong đó, để sử dụng được hầu hết các tính năng chúng ta cần phải sử dụng gói Core với mức giá $10 / người dùng / tháng.

Nếu bạn đang sử dụng email doanh nghiệp của Google sẽ được miễn phí gói Appsheet Core.

CÀI ĐẶT BẢO MẬT VỚI APPSHEET

Appsheet là một nền tảng cho phép bạn tạo ra các ứng dụng di động từ các bảng tính hoặc cơ sở dữ liệu. Bạn có thể cài đặt các loại bảo mật khác nhau cho ứng dụng của bạn, như sau:

  • Bảo mật bằng email: Bạn có thể chỉ cho phép những người dùng có email được xác nhận mới có thể truy cập vào ứng dụng. Bạn có thể quản lý danh sách email được phép truy cập trong phần Security > Require Sign-In của Appsheet Editor.

  • Bảo mật bằng user setting: Bạn có thể tạo ra một bảng user setting trong ứng dụng của bạn, và cho phép người dùng nhập vào các thông tin cá nhân hoặc thiết lập của họ. Bạn có thể sử dụng các thông tin này để điều khiển quyền truy cập, hiển thị hoặc ẩn các tính năng, hoặc tùy biến nội dung của ứng dụng. Bạn có thể thiết lập user setting trong phần Data > Tables > User Settings của Appsheet Editor.

Lưu ý, chỉ cài đặt bảo mật sau khi đã hoàn thành các tính năng chính của App

Bảo mật bằng email

Để cài đặt bảo mật chúng ta vào phần table



Sau đó chọn vào icon bên phải



Ở đây có các tùy chọn như Update, Add, Delete và Read only

Nếu muốn cài đặt theo từng user nên vào phần icon “chiếc lọ” bên góc phải

Lúc này bạn cần chỉnh sửa đoạn code này

SWITCH(USEREMAIL(), 

  "user1@mydomain.com", "UPDATES_ONLY", 

  "user2@mydomain.com", "ALL_CHANGES", 

  "READ_ONLY")


Trong đó bạn cần đổi tên user1 , user2 theo thành email của bạn muốn. Thêm vào đó có các quyền như sau: 

 "READ_ONLY", "UPDATES_ONLY", "ADDS_ONLY", "ADDS_AND_UPDATES", "DELETES_ONLY", "UPDATES_AND_DELETES", "ADDS_AND_DELETES", and "ALL_CHANGES"

Nhưng nếu làm theo cách này thì khi chia sẻ hoặc một người khác hoặc thêm một email mới vào hệ thống thì chúng ta phải đi setup lại toàn bộ. Như vậy thì không khả thi chưa kể không biết dược chính xác ai có quyền như thế nào trong Appsheet. Thay vào đó chúng ta cần sử dụng cách khác đó là tạo một bảng để phân quyền cũng như sử xử lý phân quyền.


Tạo bảng phân quyền

Đầu tiên, bạn sẽ cần tạo một bảng phân quyền trên Appsheet. Bảng này sẽ chứa các quyền mà người dùng có thể được gán.




Thiết Lập Công Thức

Sau khi công thức đã được thiết lập, chúng ta có thể bắt đầu gán quyền cho người dùng dựa trên bảng phân quyền.



Tuy nhiên, cách tiếp cận này cũng có những hạn chế. Một số trường hợp cụ thể có thể không được xử lý. Ví dụ, nếu một nhân viên có quyền chỉ đọc nhưng cần có quyền truy cập đầy đủ do một trường hợp đặc biệt, cách tiếp cận này không thể giải quyết. Ví dụ:

  • Nếu trường hợp nhân viên có phân quyền là user có phân quyền Readonly  nhưng vì một trường hợp đặc biệt cần phải cài đặt cho full quyền.

Vì vậy việc cài đặt phân quyền như trên không thể cover được toàn bộ các trường hợp đưa ra.Trong trường hợp này chúng ta cần sử dụng một phần phân quyền khác tối ưu hơn. Đó là phân quyền trực tiếp trên action.

Sử Dụng Phân Quyền Trực Tiếp Trên Action

Nguyên lý hoạt động của Appsheet là người dùng tác động vào dữ liệu thông qua Action. Do đó, nếu chúng ta cài đặt quyền trực tiếp trên Action, chúng ta có thể kiểm soát được quyền của người dùng một cách tốt hơn.

Để thực hiện điều này, chúng ta cần tạo thêm 4 cột tương ứng trong cơ sở dữ liệu: Xem, Thêm, Sửa, và Xóa.



Trở ngược vào phần action trong Appsheet, tìm kiếm action muốn phân quyền và thêm công thức sau:

CONTAINS(LOOKUP(USERNAME,nhan_vien,id,quyen_them),"cong_doan_sx")

Lúc này action chỉ có thể tự hiển thị khi người dùng có phân quyền này.


Làm tương tự đối với toàn bộ các action trong toàn bộ các bảng.


Để kiểm tra xem thử quyền của một users đã được cập nhật hay chưa, trong mục view

USER SETTING LÀ GÌ?

USERSETTINGS() là một hàm trong AppSheet dùng để truy cập vào các giá trị được thiết lập bởi người dùng. Đây là một công cụ mạnh mẽ để tạo ra ứng dụng có khả năng tùy chỉnh cao.

Ví dụ, bạn có thể tạo ra một ứng dụng mà người dùng có thể tùy chỉnh ngôn ngữ, màu sắc, hay bất cứ thiết lập nào mà bạn muốn cho phép họ thay đổi.

Để sử dụng USERSETTINGS(), bạn cần tạo ra một bảng mới trong AppSheet gọi là "User Settings". Trong bảng này, bạn có thể thêm vào các cột tương ứng với các thiết lập mà bạn muốn người dùng có thể tùy chỉnh.

Sau đó, bạn có thể sử dụng hàm USERSETTINGS() trong công thức của mình để truy cập vào các giá trị này. Hàm USERSETTINGS() sẽ trả về giá trị tương ứng với cột được chỉ định trong bảng "User Settings".

Ví dụ, nếu bạn có một cột trong bảng "User Settings" tên là "Username", bạn có thể sử dụng USERSETTINGS("Username") để lấy giá trị ngôn ngữ mà người dùng đã thiết lập.

Mặc định nếu mua user của Google thì một user sẽ có giá 10$/ tháng. Như vậy thì có một số user không cần thiết sử dụng tới trong App hoặc nhiều người có thể sử dụng chung 1 gmail để có thể tiết kiệm chi phí. Tuy vậy chúng ta cần phân quyền để cho 2 hoặc nhiều người login vào 1 app mà có các phân quyền khác nhau.

Để thực hiện được việc này thì thay vì dùng useremail() chúng ta sẽ tạo trong mục Usersetting một phần là Username



Click vào phần show để hiển thị toàn bộ thông tin.


CÁC PHẦN CÀI ĐẶT KHÁC

Phần này sẽ được giải thích kỹ hơn trong quá trình học


Nếu bạn muốn tìm một khóa học về Appsheet có thể tham khảo khóa học sau trên Unica.

Hòa Data

Chào các bạn, tôi là Hòa - chuyên gia phân tích dữ liệu, nhà phát triển ứng dụng AppSheet. Tôi rất mong được cùng hợp tác và phát triển với các doanh nghiệp để mang đến những giải pháp tối ưu nhất.

Đăng nhận xét

Mới hơn Cũ hơn