Elasticsearch 역할 가져오기

Elasticsearch Yeoghal Gajyeoogi



“Elasticsearch는 매우 다양하고 강력한 검색 및 분석 엔진입니다. 대량의 텍스트 데이터를 빠르게 수집, 구성, 정렬, 집계 및 관리할 수 있습니다.

그럼에도 불구하고 Elasticsearch와 전체 에코시스템에서 가장 뛰어난 기능 중 하나는 강력한 보안 기능입니다. Elasticsearch에는 HTTP 요청 서명과 같은 기능이 포함되어 있으며 인증된 사용자만 클러스터에서 작업을 수행할 수 있습니다.







Elasticsearch의 또 다른 보안 기능은 사용자와 역할의 사용입니다. Elasticsearch를 사용하면 클러스터의 사용자에게 특정 역할을 할당할 수 있습니다. 그런 다음 사용자 이름이 클러스터에서 수행할 수 있는 작업을 결정하는 데 사용됩니다.



Elasticsearch는 클러스터에서 생성된 모든 사용자에게 기본 역할을 할당합니다. 기본 역할을 통해 사용자는 암호 변경, 사용자 정보 검색 등을 담당하는 인증 끝점에 액세스할 수 있습니다.'



참고: 기본 역할은 익명 사용자에게도 할당됩니다.





이 자습서의 핵심은 Elasticsearch 역할의 기본 사항을 제공하는 것입니다. 이 자습서를 사용하여 Elasticsearch 기본 영역에서 역할을 가져오는 방법과 특정 사용자 이름에 할당된 역할을 확인하는 방법을 알아봅니다.

뛰어들어봅시다.



Elasticsearch 역할 가져오기 API

Get Roles API를 사용하여 Elasticsearch 클러스터의 역할에 대한 정보를 검색합니다. 요청 구문은 다음과 같습니다.

가져 오기 / _보안 / 역할


위의 쿼리는 시스템의 모든 역할을 반환해야 합니다.

특정 역할에 대한 정보를 검색하려면 다음과 같이 구문을 사용할 수 있습니다.

가져 오기 / _보안 / 역할 /< 이름 >


참고: 이 API를 사용하려면 사용자에게 클러스터에 대한 manage_security 권한이 있어야 합니다.

요청이 성공하면 쿼리는 역할 배열을 반환해야 합니다.

예 1 – 클러스터의 모든 역할 검색

아래 예제 요청은 Elasticsearch 클러스터의 모든 역할을 검색합니다.

곱슬 곱슬하다 -XGET 'http://localhost:9200/_security/role?pretty=true' -시간 'kbn-xsrf: 보고'


출력 예는 다음과 같습니다.

{
'apm_user' : {
'무리' : [ ] ,
'지수' : [
{
'이름' : [
'apm-*'
] ,
'특권' : [
'읽다' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : 거짓
} ,
{
'이름' : [
'창-대략.*'
] ,
'특권' : [
'읽다' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : 거짓
} ,
{
'이름' : [
'창-대략-*'
] ,
'특권' : [
'읽다' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : 거짓
} ,
{
'이름' : [
'metrics-apm.*'
] ,
'특권' : [
'읽다' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : 거짓
} ,
{
'이름' : [
'metrics-apm-*'
] ,
'특권' : [
'읽다' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : 거짓
} ,
{
'이름' : [
'추적-apm.*'
] ,
'특권' : [
'읽다' ,
'view_index_metadata'
] ,
'allow_restricted_indices' : 거짓
} ,


참고: 위의 출력은 이 자습서의 범위에서 잘렸습니다.

예 2 – 특정 역할에 대한 정보 가져오기

아래 예는 kibana_admin 역할에 대한 정보를 반환합니다.

곱슬 곱슬하다 -XGET 'http://localhost:9200/_security/role/kibana_admin' -시간 'kbn-xsrf: 보고'


결과 역할 정보는 다음과 같습니다.

{
'kibana_admin' : {
'무리' : [ ] ,
'지수' : [ ] ,
'응용 프로그램' : [
{
'신청' : 'kibana-.kibana' ,
'특권' : [
'모두'
] ,
'자원' : [
'*'
]
}
] ,
'run_as' : [ ] ,
'metadata' : {
'_예약된' : 진실
} ,
'transient_metadata' : {
'활성화' : 진실
}
}
}

YAML에서 역할 정보 검색

기본적으로 역할 가져오기 API는 결과를 JSON 형식으로 반환합니다. 그러나 format 매개변수를 사용하여 다른 형식을 선택할 수 있습니다.

구문은 다음과 같습니다.

가져 오기 / _보안 / 역할? 체재 =json /


예를 들어 kibana_admin 역할에 대한 정보를 YAML 형식으로 검색하려면 다음을 실행할 수 있습니다.

곱슬 곱슬하다 -XGET 'http://localhost:9200/_security/role/kibana_admin?format=yaml' -시간 'kbn-xsrf: 보고'


결과 출력:

---
kibana_admin:
무리: [ ]
지수: [ ]
응용 프로그램:
- 신청: 'kibana-.kibana'
권한:
- '모두'
자원:
- '*'
run_as: [ ]
metadata:
_예약된: 진실
일시적인 메타데이터:
활성화됨: 진실

특정 사용자의 역할 보기

특정 사용자 이름(해당 역할 포함)에 대한 정보를 보려면 다음과 같이 요청을 사용할 수 있습니다.

가져 오기 / _보안 / 사용자


예를 들어 사용자 이름이 'linuxhint'라고 가정하면 다음과 같이 해당 사용자 정보를 검색할 수 있습니다.

곱슬 곱슬하다 -XGET 'http://locahost:9200/_security/user/linuxhint?format=yaml' -시간 'kbn-xsrf: 보고'


위의 요청은 다음과 같이 사용자에 대한 정보를 YAML 형식으로 반환해야 합니다.

---
리눅스 힌트:
사용자 이름: '리눅스'
역할:
- '뷰어'
- 'watcher_user'
전체 이름: 'linuxhint.com'
이메일: ' [이메일 보호됨] '
metadata: { }
활성화됨: 진실


사용자에게 뷰어 및 watcher_user 역할이 있음을 알 수 있습니다.

Kibana에서 역할 보기

cat 역할 API를 사용하지 않으려면 관리 -> 스택 관리로 이동하여 Kibana에서 Elasticsearch 역할을 볼 수 있습니다.


다음으로 보안 -> 역할로 이동합니다.


그런 다음 역할을 보고 관리할 수 있습니다.

결론

이 문서에서는 Elasticsearch Roles API를 사용하여 클러스터의 특정 역할에 대한 정보를 보는 방법을 배웠습니다. 또한 사용자 API를 사용하여 주어진 사용자 이름의 역할을 보는 방법을 발견했습니다.

읽어 주셔서 감사합니다!