Elasticsearch Nhận vai trò

Elasticsearch Nhan Vai Tro



“Elasticsearch là một công cụ phân tích và tìm kiếm cực kỳ linh hoạt và mạnh mẽ. Nó có thể nhanh chóng nhập, tổ chức, sắp xếp, tổng hợp và quản lý một lượng lớn dữ liệu văn bản.

Mặc dù vậy, một trong những tính năng nổi bật nhất trong Elasticsearch và toàn bộ hệ sinh thái của nó là các tính năng bảo mật ironclad. Elasticsearch bao gồm các tính năng như ký các yêu cầu HTTP và chỉ cho phép người dùng đã xác thực thực hiện các hoạt động trên cụm.







Một tính năng bảo mật khác trong Elasticsearch là sử dụng người dùng và vai trò. Elasticsearch cho phép bạn chỉ định các vai trò cụ thể cho người dùng trong cụm. Sau đó, chúng được sử dụng để xác định những hành động mà tên người dùng có thể thực hiện trên cụm.



Elasticsearch sẽ chỉ định một vai trò mặc định cho tất cả người dùng được tạo trong cụm. Vai trò mặc định cho phép người dùng truy cập vào điểm cuối xác thực, điểm cuối này chịu trách nhiệm thay đổi mật khẩu, truy xuất thông tin người dùng, v.v. ”



LƯU Ý: Vai trò mặc định cũng được chỉ định cho người dùng ẩn danh.





Cốt lõi của hướng dẫn này là cung cấp cho bạn các nguyên tắc cơ bản về các vai trò của Elasticsearch. Sử dụng hướng dẫn này, bạn sẽ khám phá cách tìm nạp các vai trò trong lĩnh vực gốc của Elasticsearch và xem các vai trò được chỉ định cho một tên người dùng cụ thể.

Hãy đi sâu vào.



API lấy vai trò của Elasticsearch

Chúng tôi sử dụng API Nhận vai trò để truy xuất thông tin về các vai trò trong cụm Elasticsearch. Cú pháp yêu cầu như được hiển thị:

LẤY / _Bảo vệ / vai diễn


Truy vấn trên sẽ trả về tất cả các vai trò trong hệ thống.

Để truy xuất thông tin về một vai trò cụ thể, bạn có thể sử dụng cú pháp như sau:

LẤY / _Bảo vệ / vai diễn / < Tên >


LƯU Ý: API này yêu cầu người dùng có đặc quyền management_security trên cụm.

Nếu yêu cầu thành công, truy vấn sẽ trả về một mảng các vai trò.

Ví dụ 1 - Lấy tất cả các vai trò trong cụm

Yêu cầu ví dụ bên dưới sẽ truy xuất tất cả các vai trò trong cụm Elasticsearch:

Xoăn -GET “http://localhost:9200/_security/role?pretty=true” -H 'kbn-xsrf: báo cáo'


Một đầu ra ví dụ được hiển thị bên dưới:

{
'apm_user' : {
'cụm' : [ ] ,
'chỉ số' : [
{
'tên' : [
'apm- *'
] ,
'đặc quyền' : [
'đọc' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : sai
} ,
{
'tên' : [
'cửa sổ-xấp xỉ. *'
] ,
'đặc quyền' : [
'đọc' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : sai
} ,
{
'tên' : [
'cửa sổ-khoảng- *'
] ,
'đặc quyền' : [
'đọc' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : sai
} ,
{
'tên' : [
'metrics-apm. *'
] ,
'đặc quyền' : [
'đọc' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : sai
} ,
{
'tên' : [
'metrics-apm- *'
] ,
'đặc quyền' : [
'đọc' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : sai
} ,
{
'tên' : [
'dấu vết-apm. *'
] ,
'đặc quyền' : [
'đọc' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : sai
} ,


LƯU Ý: Kết quả ở trên đã bị cắt bớt cho phạm vi của hướng dẫn này.

Ví dụ 2 - Nhận thông tin về một vai trò cụ thể

Ví dụ dưới đây trả về thông tin về vai trò kibana_admin.

Xoăn -GET “http://localhost:9200/_security/role/kibana_admin” -H 'kbn-xsrf: báo cáo'


Thông tin vai trò kết quả như được hiển thị:

{
'kibana_admin' : {
'cụm' : [ ] ,
'chỉ số' : [ ] ,
'các ứng dụng' : [
{
'đăng kí' : 'kibana-.kibana' ,
'đặc quyền' : [
'tất cả các'
] ,
'tài nguyên' : [
'*'
]
}
] ,
'chạy như' : [ ] ,
'metadata' : {
'_kín đáo' : thật
} ,
'transient_metadata' : {
'đã bật' : thật
}
}
}

Lấy thông tin vai trò trong YAML

Theo mặc định, API nhận vai trò sẽ trả về kết quả ở định dạng JSON. Tuy nhiên, bạn có thể chọn một định dạng khác bằng cách sử dụng tham số định dạng.

Cú pháp như được hiển thị:

LẤY / _Bảo vệ / vai diễn? định dạng = json / yaml


Ví dụ: để truy xuất thông tin về vai trò kibana_admin ở định dạng YAML, chúng ta có thể chạy:

Xoăn -GET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -H 'kbn-xsrf: báo cáo'


Kết quả đầu ra:

---
kibana_admin:
cụm: [ ]
chỉ số: [ ]
các ứng dụng:
- đăng kí: 'kibana-.kibana'
đặc quyền:
- 'tất cả các'
tài nguyên:
- '*'
chạy như: [ ]
metadata:
_kín đáo: thật
transient_metadata:
đã bật: thật

Xem các vai trò cho một người dùng cụ thể

Nếu bạn muốn xem thông tin về tên người dùng cụ thể (bao gồm cả vai trò của họ), bạn có thể sử dụng yêu cầu như được hiển thị:

LẤY / _Bảo vệ / người sử dụng


Ví dụ: giả sử chúng ta có tên người dùng “linuxhint”, chúng ta có thể truy xuất thông tin người dùng đó như được hiển thị:

Xoăn -GET “http://locahost:9200/_security/user/linuxhint?format=yaml” -H 'kbn-xsrf: báo cáo'


Yêu cầu ở trên sẽ trả về thông tin về người dùng ở định dạng YAML như được hiển thị:

---
linuxhint:
tên tài khoản: 'linux'
vai trò:
- 'người xem'
- 'watcher_user'
Họ và tên: 'linuxhint.com'
e-mail: ' [email được bảo vệ] '
metadata: { }
đã bật: thật


Chúng ta có thể thấy rằng người dùng có các vai trò người xem và người dùng quan sát (watcher_user).

Xem các vai trò trong Kibana

Nếu bạn không muốn sử dụng API vai trò mèo, bạn có thể xem các vai trò của Elasticsearch trong Kibana bằng cách điều hướng đến Quản lý -> Quản lý ngăn xếp.


Tiếp theo, điều hướng đến Bảo mật -> Vai trò


Sau đó, bạn có thể xem và quản lý các vai trò.

Sự kết luận

Trong bài viết này, bạn đã học cách sử dụng API vai trò Elasticsearch để xem thông tin về các vai trò cụ thể trong cụm. Bạn cũng đã khám phá ra cách xem vai trò của một tên người dùng nhất định bằng cách sử dụng API người dùng.

Cảm ơn vì đã đọc!