ELK Security(elasticsearch api key)

ELK Security 적용

지난번 username과 password로 security를 적용해서 사용해봤다.


이번에 작성한 내용은 api key를 통한 security 적용이다.

ELK Security api key

1) elasticsearch.yml에 추가
xpack.security.authc.api_key.enable: true

2) kibana에서 api key 생성
- http://localhost:5601/ 접속
- Dev Tools 



POST /_security/api_key
{
  "name": "my-api-key",
  "expiration": "1d"
}
- 응답 확인
{
  "id":"VuaCfGcBCdbkQm-e5aOx",
  "name":"my-api-key",
  "expiration":1544068612110,
  "api_key":"ui2lp2axTNmsyakw9tvNnw"
}


3) kibana에서 api key 확인
- 설정 -> 보안 -> api key



- 또는 Dev Tools에서 확인
GET /_security/api_key
- 응답확인
{
  "id":"VuaCfGcBCdbkQm-e5aOx",
  "name":"my-api-key",
  "expiration":1544068612110,
  "api_key":"ui2lp2axTNmsyakw9tvNnw"
}

4) elasticsearch에 api key curl 날려보자.
- 인코딩하여 curl을 날려야한다.
- 인코딩 법 : id:api_key -> base64 인코딩 (id와 api_key 사이엔 콜론)
예제) VuaCfGcBCdbkQm-e5aOx:ui2lp2axTNmsyakw9tvNnw
       => VnVhQ2ZHY0JDZGJrUW0tZTVhT3g6dWkybHAyYXhUTm1zeWFrdzl0dk5udw==
curl -H "Authorization: ApiKey VnVhQ2ZHY0JDZGJrUW0tZTVhT3g6dWkybHAyYXhUTm1zeWFrdzl0dk5udw==" -XGET http://localhost:9200

이상으로 elasticsearch security api key 접근방법이였다.


댓글