phpMyAdmin và pgAdmin theo vai trò
Máy chủ > Cơ sở dữ liệu (/server/databases) có lối vào phpMyAdmin và
pgAdmin. Ai được dùng và dùng bằng tài khoản nào phụ thuộc vào vai trò.
| Vai trò | phpMyAdmin | pgAdmin |
|---|---|---|
| Quản trị viên cấp cao | Đăng nhập bằng tài khoản cơ sở dữ liệu của chính bảng điều khiển (nút Open phpMyAdmin (administrator)), hoặc bằng tài khoản cơ sở dữ liệu riêng của một tài khoản từ trang của tài khoản đó | Bằng danh tính pgAdmin riêng của mình |
| Quản trị viên được ủy quyền | Chỉ theo từng tài khoản, đăng nhập bằng tài khoản cơ sở dữ liệu riêng của tài khoản đó, sau khi Quản trị viên cấp cao đã cấp quyền | Bằng một danh tính riêng, không có máy chủ nào được lưu sẵn, sau khi Quản trị viên cấp cao đã cấp quyền |
| Đại lý | Chỉ theo từng tài khoản, với các tài khoản của chính đại lý, sau khi Quản trị viên cấp cao đã cấp quyền | Không có |
Tài khoản cơ sở dữ liệu của chính bảng điều khiển chỉ dành cho Quản trị viên cấp cao. Trước 4.1.2, quản trị viên được ủy quyền có thể mở phpMyAdmin bằng tài khoản đó; nay tuyến này từ chối mọi vai trò trừ Quản trị viên cấp cao.
phpMyAdmin bằng tài khoản cơ sở dữ liệu riêng của tài khoản
Trên trang của một tài khoản (Người dùng > tài khoản), nút phpMyAdmin
(tài khoản này) mở phpMyAdmin đã đăng nhập bằng tài khoản cơ sở dữ liệu riêng
của tài khoản đó: tài khoản nằm trong ~/my.cnf của chính tài khoản, cũng là
tài khoản mà bảng điều khiển của khách hàng dùng cho phpMyAdmin của họ. Máy chủ
suy ra tài khoản này từ địa chỉ của tài khoản:
- không có gì về người dùng hay máy chủ cơ sở dữ liệu được lấy từ yêu cầu, nên một vai trò không thể chọn tài khoản khác, của root, hay của tài khoản khác;
- tài khoản cơ sở dữ liệu không mang tên của chính tài khoản, hoặc bị một tên tài khoản dài hơn nhận làm của mình, sẽ không được dùng;
- đại lý chỉ làm được việc này với tài khoản của chính mình;
- tài khoản chưa có tài khoản cơ sở dữ liệu riêng được lưu sẽ nhận một thông báo thay vì đăng nhập.
Nút chỉ hiện với vai trò được dùng, và chỉ khi phpMyAdmin đang chạy trên máy.
pgAdmin
Quản trị viên được ủy quyền đã được cấp pgAdmin sẽ mở nó bằng một danh tính riêng
(<tên>@pgadmin-user.hitechcloud.invalid), nên các máy chủ đã lưu của họ và của
Quản trị viên cấp cao không bao giờ lẫn vào nhau. pgAdmin không giữ thông tin đăng
nhập cơ sở dữ liệu: những gì một người kết nối được bên trong nó là những gì
PostgreSQL cấp cho tài khoản họ nhập. Đại lý không có trang nào dẫn tới pgAdmin
và không thể được cấp quyền này.
Cấp quyền cho một vai trò
Quản trị viên cấp cao đặt quyền trong m ục Công cụ cơ sở dữ liệu cho các vai trò
khác ở đầu trang Cơ sở dữ liệu: phpMyAdmin cho quản trị viên được ủy quyền và
cho đại lý, pgAdmin cho quản trị viên được ủy quyền. Mọi vai trò đều tắt cho
đến khi Quản trị viên cấp cao cấp quyền. Quyền được lưu trong admin.ini, mục
[DATABASE_TOOLS] (phpmyadmin_roles, pgadmin_roles).
Trang Cơ sở dữ liệu của máy chủ
Phần còn lại của trang là của máy chủ: mọi cơ sở dữ liệu và tài khoản đăng nhập cơ
sở dữ liệu trên máy chủ cùng tài khoản sở hữu, các kết nối đang mở kèm nút ngắt
kết nối, giới hạn tài nguyên của các dịch vụ cơ sở dữ liệu và thẻ SQL Server
Access. Từ 4.1.4, phần này thuộc về Quản trị viên cấp cao, và chỉ thuộc về quản
trị viên được ủy quyền khi đã được cấp: đánh dấu Trang này cho Quản trị viên
được ủy quyền trong mục Công cụ cơ sở dữ liệu cho các vai trò khác
(admin.ini, [DATABASE_TOOLS] databases_page_roles). Quyền này tắt cho đến
khi được cấp, nên quản trị viên được ủy quyền từng thấy trang trước 4.1.4 sẽ
không còn thấy sau khi cập nhật cho đến khi Quản trị viên cấp cao đánh dấu ô này.
Khi chưa được cấp, quản trị viên được ủy quyền vẫn mở được trang để dùng các công cụ đã được cấp (pgAdmin), thấy một ghi chú thay cho dữ liệu của máy chủ; việc ngắt kết nối, đổi giới hạn hay mở SQL Server Access đều bị từ chối trước khi chạy. Đại lý không bao giờ vào được trang này.
Những gì được ghi lại
Mỗi lần đăng nhập là một yêu cầu POST mà nhật ký kiểm toán ghi lại cùng người thực hiện, vai trò, tài khoản và việc có bị từ chối hay không (Tuân thủ > Nhật ký kiểm toán). Đăng nhập phpMyAdmin của một tài khoản còn được ghi vào nhật ký hoạt động của chính tài khoản đó cùng người thực hiện và vai trò; việc mở pgAdmin được ghi vào nhật ký của chính người đó.