MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Thực thi quyền kiểm soát truy cập dựa trên vai trò với ClusterControl

Trong bản phát hành ClusterControl phiên bản 1.8.2 gần đây của vàinines, chúng tôi đã giới thiệu rất nhiều tính năng và thay đổi phức tạp. Một trong những tính năng quan trọng là Hệ thống quản lý người dùng mới được cải tiến, bao gồm Quản lý người dùng mới và LDAP. Một khả năng bổ sung hiện có trong ClusterControl là Kiểm soát truy cập dựa trên vai trò (RBAC) để Quản lý người dùng, là trọng tâm của blog này.

Kiểm soát Truy cập Dựa trên Vai trò trong ClusterControl

Đối với những người chưa quen với Điều khiển truy cập dựa trên vai trò (RBAC) của ClusterControl, đây là một tính năng cho phép bạn hạn chế quyền truy cập của một số người dùng nhất định vào các tính năng của cụm cơ sở dữ liệu cụ thể và các hành động hoặc tác vụ quản trị. Ví dụ:quyền truy cập để triển khai (thêm bộ cân bằng tải, thêm cụm hiện có), quản lý và các tính năng giám sát. Điều này đảm bảo rằng chỉ những người dùng được ủy quyền mới được phép làm việc và xem dựa trên vai trò tương ứng của họ và tránh sự xâm nhập không mong muốn hoặc lỗi của con người bằng cách giới hạn quyền truy cập của vai trò vào các tác vụ quản trị. Quyền truy cập vào chức năng rất chi tiết, cho phép tổ chức hoặc người dùng xác định quyền truy cập. ClusterControl sử dụng khung quyền để xác định cách người dùng có thể tương tác với chức năng quản lý và giám sát dựa trên mức độ ủy quyền của họ.

Kiểm soát Truy cập Dựa trên Vai trò trong ClusterControl đóng một vai trò quan trọng đặc biệt đối với người dùng quản trị thường xuyên sử dụng nó như một phần của các tác vụ DBA của họ. Một DBA ClusterControl nên quen thuộc với tính năng này vì nó cho phép DBA ủy quyền nhiệm vụ cho các thành viên trong nhóm, kiểm soát quyền truy cập vào chức năng ClusterControl và không để lộ tất cả các tính năng và chức năng cho tất cả người dùng. Điều này có thể đạt được bằng cách sử dụng chức năng Quản lý người dùng, cho phép bạn kiểm soát ai có thể làm những gì. Ví dụ:bạn có thể thiết lập một Nhóm như nhà phân tích, nhà phát triển hoặc DBA và thêm các hạn chế theo phạm vi trách nhiệm của họ đối với một cụm cơ sở dữ liệu nhất định.

Kiểm soát truy cập ClusterControl được mô tả trong sơ đồ sau,

Chi tiết về các điều khoản sử dụng ở trên được cung cấp bên dưới. Một Nhóm có thể được chỉ định cho một hoặc nhiều cụm cơ sở dữ liệu do ClusterControl quản lý. Một Nhóm bao gồm trống hoặc nhiều người dùng trong một Nhóm. Theo mặc định, khi tạo một Nhóm mới, tài khoản quản trị viên cấp cao sẽ luôn được liên kết với nó. Xóa superadmin không làm mất khả năng liên kết với Nhóm mới đó.

Người dùng và một Cụm phải được chỉ định cho một Nhóm; nó là một triển khai bắt buộc trong ClusterControl. Theo mặc định, tài khoản quản trị viên cấp cao được chỉ định cho nhóm Quản trị viên, nhóm này đã được tạo theo mặc định. Các cụm cơ sở dữ liệu cũng được chỉ định cho nhóm Quản trị viên theo mặc định.

Vai trò có thể không có Người dùng nào được chỉ định hoặc có thể được chỉ định cho nhiều người dùng theo vai trò ClusterControl của họ.

Các vai trò trong ClusterControl

Các vai trò trong ClusterControl thực sự được đặt theo mặc định. Các vai trò mặc định này tuân theo:

  • Quản trị viên cấp cao - Đây là một vai trò ẩn, nhưng đó là vai trò của quản trị viên cấp cao (superadmin), có nghĩa là tất cả các tính năng có sẵn cho vai trò này. Theo mặc định, người dùng mà bạn đã tạo sau khi cài đặt thành công thể hiện vai trò Quản trị viên cấp cao của bạn. Ngoài ra, khi tạo một Nhóm mới, superadmin luôn được gán cho Nhóm mới theo mặc định.

  • Quản trị viên - Theo mặc định, hầu hết các tính năng đều có thể xem được. Có thể xem được có nghĩa là người dùng dưới vai trò Quản trị viên có thể thực hiện các tác vụ quản lý. Các tính năng không khả dụng cho vai trò này là Cố vấn khách hàng và Quản lý khóa SSL.

  • Người dùng - Tích hợp, quyền truy cập vào tất cả các cụm và một số tính năng không khả dụng cho vai trò này và bị từ chối bởi mặc định. Điều này rất hữu ích nếu bạn muốn chỉ định người dùng thường xuyên không nhằm mục đích làm việc cơ sở dữ liệu hoặc các tác vụ quản trị. Có một số bước thủ công cần được thực hiện để những người trong vai trò Người dùng xem các cụm khác.

Các vai trò trong ClusterControl là tùy ý nên quản trị viên có thể tạo các vai trò tùy ý và gán chúng cho người dùng trong Nhóm.

Cách tham gia vào các vai trò điều khiển cụm

Bạn có thể tạo vai trò tùy chỉnh với bộ cấp độ truy cập của riêng nó. Chỉ định vai trò cho một người dùng cụ thể trong tab Nhóm. Bạn có thể đạt được điều này bằng cách tìm Quản lý người dùng trong thanh bên ở góc bên phải. Xem ảnh chụp màn hình bên dưới:

Thực thi Kiểm soát Truy cập Dựa trên Vai trò với ClusterControl

Bắt buộc RBAC là miền dành riêng cho người dùng, hạn chế quyền truy cập của người dùng vào các tính năng ClusterControl phù hợp với vai trò và đặc quyền của họ. Với ý nghĩ này, chúng ta nên bắt đầu tạo một người dùng cụ thể.

Tạo Người dùng trong ClusterControl

Để tạo người dùng, hãy bắt đầu trong tab Quản lý người dùng ➝ Nhóm. Bây giờ, hãy tạo một Nhóm trước.

Sau khi được tạo, có một tài khoản quản trị viên cấp cao được liên kết theo mặc định sau khi tạo Nhóm.

Bây giờ, hãy thêm một người dùng mới. Việc thêm người dùng mới phải được thực hiện trong một Nhóm, vì vậy chúng tôi có thể tạo người dùng đó trong DevOps.

Như bạn có thể nhận thấy, người dùng mới mà chúng tôi tạo hiện có vai trò Người dùng, được thêm vào theo mặc định trong ClusterControl. Sau đó, Nhóm cũng thuộc DevOps.

Về cơ bản, hiện có hai người dùng thuộc Nhóm DevOps như được hiển thị bên dưới:

Xin lưu ý rằng Vai trò là miền dành riêng cho người dùng, vì vậy, Vai trò chỉ áp dụng các hạn chế truy cập cho người dùng cụ thể đó chứ không áp dụng cho Nhóm nơi người đó trực thuộc.

Vai trò quản trị so với người dùng (Vai trò mặc định trong ClusterControl)

Vì chúng ta có hai vai trò được thêm vào theo mặc định trong ClusterControl, nên có những giới hạn được đặt theo mặc định. Để biết đây là những gì, chỉ cần đi tới Quản lý người dùng ➝ Kiểm soát truy cập. Dưới đây là ảnh chụp màn hình mô tả các tính năng hoặc đặc quyền có sẵn mà người dùng có vai trò này có thể thực hiện:

Vai trò Quản trị viên

Vai trò của Người dùng

Vai trò Quản trị viên có nhiều đặc quyền hơn, trong khi Vai trò Người dùng có một số đặc quyền bị hạn chế. Các vai trò mặc định này có thể được sửa đổi theo cấu hình mong muốn của bạn. Thêm Vai trò cũng cho phép bạn bắt đầu và thiết lập những vai trò nào được phép hoặc không. Ví dụ:chúng tôi sẽ tạo một Vai trò mới. Để tạo vai trò, chỉ cần nhấn nút dấu cộng "+" dọc theo vai trò. Bạn có thể thấy vai trò mới mà chúng tôi đã tạo có tên là Người xem.

Bỏ chọn tất cả các tick. Chỉ cần kiểm tra trong cột Cho phép để bật tính năng hoặc đặc quyền hoặc kiểm tra trong cột Từ chối nếu bạn muốn từ chối quyền truy cập. Cột Quản lý cho phép người dùng trong vai trò đó thực hiện các tác vụ quản lý. Trong khi cột Sửa đổi cho phép bạn bật các sửa đổi chỉ có sẵn cho các đặc quyền hoặc tính năng trong Báo thức, Công việc và Cài đặt.

Kiểm tra RBAC

Trong ví dụ này, các cụm sau có trong bộ điều khiển của tôi như được hiển thị bên dưới:

Tài khoản quản trị viên cấp cao có thể xem được điều này trong môi trường này.

Bây giờ chúng ta đã đặt RBAC cho người dùng mà chúng ta vừa tạo, hãy thử đăng nhập bằng email và mật khẩu mà chúng ta vừa đặt.

Đây là những gì được tạo ra,

Không có cụm nào khả dụng và có thể xem được và một số đặc quyền bị từ chối như được hiển thị bên dưới, chẳng hạn như Cài đặt quản lý khóa và Thông báo qua email:

Điều chỉnh RBAC

Vì các đặc quyền trong các vai trò có thể thay đổi được, nên thật dễ dàng để quản lý chúng thông qua Quản lý người dùng ➝ Kiểm soát truy cập.

Bây giờ, hãy cho phép người dùng đã tạo xem một cụm. Vì người dùng của chúng tôi đã từ chối Quyền truy cập Tất cả các cụm, nên chúng tôi cần bật tính năng này. Xem bên dưới,

Bây giờ, như chúng tôi đã nêu trước đó dựa trên sơ đồ, các Cụm được kiểm soát bởi Nhóm. Ví dụ:có các nhiệm vụ cụm sau, bên dưới:

Vì chúng ta cần chỉ định nhóm cho đúng nhóm, chọn nhóm cụ thể và nhấp vào nút "Thay đổi Nhóm" sẽ hiển thị lời nhắc cho phép bạn chỉ định lại nhóm đó cho đúng Nhóm.

Bây giờ, hãy gán nó cho DevOps.

Bây giờ, hãy đăng nhập lại với tư cách là người dùng mới được tạo và chúng tôi sẽ có thể xem cụm.

Tóm tắt

Kiểm soát truy cập dựa trên vai trò (RBAC) trong ClusterControl là một tính năng cung cấp kiểm soát truy cập hạn chế chi tiết cho mọi người dùng bạn đã tạo trong ClusterControl, cho phép bảo mật cao hơn và kiểm soát truy cập hạn chế hơn dựa trên vai trò của người dùng.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hướng dẫn nâng cấp trong MongoDB

  2. MongoDB $ stdDevSamp

  3. Kiểm tra xem mọi phần tử trong mảng có khớp với điều kiện không

  4. Cách tính chênh lệch dấu thời gian trong mongodb (theo giờ)?

  5. Mongo phân loại phức tạp?