Phân quyền cho mỗi user được xem các dashboard khác nhauVí dụ 1: gán quyền cho user 'smith' được xem các Alert về 'SSH Alerts | đăng nhập thành công.' Tạo user 'smith' nếu chương tồn tạ
Trang 1Phân quyền cho mỗi user được xem các dashboard khác nhau
Ví dụ 1:
gán quyền cho user 'smith' được xem các Alert về 'SSH Alerts | đăng nhập thành công.'
Tạo user 'smith' nếu chương tồn tại:
Trang 2Tạo Dashboard cho user 'smith'
Trang 4Chọn 1 Report đã viết sẵn trước đó ở dạng nguyên thủy, đặt tiêu đề cho Panel này là "CHI TIẾT":
Trang 6Để thêm phần trực quan, thêm chính report đó 1 lần nữa ở dạng sơ đồ:
Trang 9Gán quyền Dashboard vừa tạo cho user Smith:
Trở lại mục Dashboards, ta thấy Dashboard vừa tạo đang có quyền admin:
Trang 10Tại command line của Splunk Server thực hiện lệnh sau:
curl -k -u admin:1 -d 'owner=smith' -d 'sharing=app'
https://localhost:8089/servicesNS/admin/search/data/ui/views/smiths_dashboard_01/acl
Trong đó:
app sharing với quyền app thì các user khác có thể thấy dashboard
này, nếu muốn sửa thành Private để các user khác ko thấy thì dùng sharing= user
smiths_dashboard_01 id của dashboard Có thể tìm lại id bằng cách vào dashboard:
Tiếp tục Edit Permissions:
Trang 11Kết quả sau khi gán quyền:
Tại user Administrator:
Trang 12Tại user Will Smith:
Tại một user bất kỳ khác:
Tiếp tục gán quyền cho Report để Dashboard của Smith có thể sử dụng được:
(Tại quyền administrator)
Trang 14Đổi owner của Report này từ admin (hiện tại) sang smith.
Copy mã của report (vì viết bằng tiếng Việt nên hơi khó nhìn):
cat /opt/splunk/etc/apps/search/metadata/local.meta
Lấy được đoạn mã: SSH%20Reports%20%7C%20%C4%90%C4%83ng%20nh%E1%BA%ADp%20th%C3%A0nh
%20c%C3%B4ng
Thực thi lệnh sau:
curl -k -u admin:1 -d 'owner=smith' -d 'sharing=app'
https://127.0.0.1:8089/servicesNS/nobody/search/saved/searches/SSH%20Reports%20%7C
%20%C4%90%C4%83ng%20nh%E1%BA%ADp%20th%C3%A0nh%20c%C3%B4ng/acl
Không được thì:
Trang 15curl -k -u admin:1 -d 'owner=smith' -d 'sharing=app'
https://127.0.0.1:8089/servicesNS/admin/search/saved/searches/SSH%20Reports%20%7C
%20%C4%90%C4%83ng%20nh%E1%BA%ADp%20th%C3%A0nh%20c%C3%B4ng/acl
Kết quả sau khi gán quyền cho Report:
(xem tại Administrator)
(Xem tại Will Smith)
(Xem tại một user khác)
Trang 16Đăng nhập với tư cách Will Smith:
Hạn chế quyền của user để tăng tính bảo mật:
Tạo Role mới:
Trang 20Gán role "LimitedRole" cho user smith
Trang 21Đăng nhập vào user Smith Will Smith đã không còn có thể thấy tất cả các log nữa.
Trang 23Với cách thực hiện ở trên (gán quyền sở hữu reports và dashboards cho user) thì user sẽ có thể chỉnh sửa dễ dàng.
Nếu muốn bảo mật hơn nữa, chúng ta sẽ gán cho admin sở hữu các report và dashboard này, và các user trong một nhóm roles cụ thể chỉ có quyền đọc:
Bước 1: Gán lại quyền sở hữu Dashboard cho admin
Tại command line của Splunk Server thực hiện lệnh sau:
curl -k -u admin:1 -d 'owner=admin' -d 'sharing=app'
https://localhost:8089/servicesNS/admin/search/data/ui/views/smiths_dashboard_01/acl
Kết quả bước 1:
Bước 2: Gán lại các quyền đọc/ ghi phù hợp cho Dashboard
Ở đây, nhóm user có quyền "limitedrole" sẽ có quyền đọc dashboard
Trang 24Bước 3: Gán lại quyền sở hữu Reports liên quan đến Dashboard này cho admin:Trước khi gán:
Đổi owner của Report này từ smith (hiện tại) sang admin
Copy mã của report (vì viết bằng tiếng Việt nên hơi khó nhìn):
cat /opt/splunk/etc/apps/search/metadata/local.meta
Trang 25Lấy được đoạn mã: SSH%20Reports%20%7C%20%C4%90%C4%83ng%20nh%E1%BA%ADp%20th%C3%A0nh
%20c%C3%B4ng
Thực thi lệnh sau:
curl -k -u admin:1 -d 'owner=admin' -d 'sharing=app'
https://127.0.0.1:8089/servicesNS/nobody/search/saved/searches/SSH%20Reports%20%7C
%20%C4%90%C4%83ng%20nh%E1%BA%ADp%20th%C3%A0nh%20c%C3%B4ng/acl
Không được thì thử:
curl -k -u admin:1 -d 'owner=smith' -d 'sharing=app'
https://127.0.0.1:8089/servicesNS/smith/search/saved/searches/SSH%20Reports%20%7C
%20%C4%90%C4%83ng%20nh%E1%BA%ADp%20th%C3%A0nh%20c%C3%B4ng/acl
Kết quả bước 3:
Bước 4: Gán quyền read cho nhóm user sử dụng 'limitedrole'
Trang 27KHÔNG CHO USER QUYỀN SEARCH THỦ CÔNG
Bước 1: Cho app "laucher" khởi động lúc smith đăng nhập:
Default app chọn dòng trống
Bước 2: Đặt một Dashboard làm Home Dashboard cho user smith
Đăng nhập vào user smith và vào đường dẫn:
http://192.168.28.149:8000/en-US/app/search/dashboards
Kết quả tại bước 1 và bước 2: Log out và log in sẽ thấy dashboard này ở trang chủ:
Trang 28Bước 3: Không cho user quyền xem trang Search (Search View)Tại quyền admin:
Trang 30Kết quả tại bước 3:
Vào trang Search với quyền user Will Smith:
Trang 31Đoạn code sau (paste vào command line) có thể tùy biến để tìm ra các đường dẫn cần thiết, sửaquyền…
ORIG_OWNER=admin;\
NEW_OWNER=user1;\
for i in `./bin/splunk search "| rest /servicesNS/-/-/saved/searches
| table eai:acl.sharing eai:acl.owner id
| rename eai:acl.owner as owner, eai:acl.sharing AS sharing
SHARING=$( echo $i | grep -oP "^.*(?=::)" ) ;
URL=$(echo $i | grep -oP "(?<=::).*$" ) ;
curl -k -u admin:1 $URL/acl -d owner=$NEW_OWNER -d sharing=$SHARING ;
done