Post

Kibana 설정과 권한: 보안, 서버, 관리자 기능

실행 환경과 보안 설정, 통신 암호화 구성, 사용자/역할 관리, 스페이스와 대시보드 설정

Kibana 설정과 권한: 보안, 서버, 관리자 기능

1. 실행 환경 설정

  • config/kibana.yml
    1
    2
    
    server.host: 0.0.0.0
    elasticsearch.hosts: ["http://localhost:9200", "http://localhost:9210", "http://localhost:9220"]
    
  • server.host
    • 키바나의 호스트 주소
    • 0.0.0.0은 외부 IP 바인딩, 가상 머신에서 실행되며 호스트 머신의 접근을 원할 경우 해당 설정 추가
  • elasticsearch.hosts
    • 키바나가 접근할 수 있는 노드 주소



2. Kibana와 Elasticsearch 간 통신 암호화

  • config/kibana.yml
    1
    2
    3
    4
    
    elasticsearch.username: "kibana_system"
    elasticsearch.password: ""
    elasticsearch.ssl.certificateAuthorities: ""
    elasticsearch.hosts: ["https://localhost:9200", "https://localhost:9210", "https://localhost:9220"]
    
  • elasticsearch.ssl.certificateAuthorities
    • elasticsearch와 통신하기 위한 CA 인증서 설정



3. Kibana와 브라우저 간 통신 암호화

  • config/kibana.yml
    1
    2
    
    server.ssl.enabled: true
    server.ssl.keystore.path: ""
    
  • server.ssl.keystore.path
    • 인증서 파일의 절대 경로 추가
    • 설정 후 인증서의 비밀번호를 등록해야 한다
  • 인증서 비밀번호 등록
    • 키바나 키스토어 생성
      1
      
      ./bin/kibana-keystore create
      
    • server.ssl.keystore.password 등록
      1
      
      ./bin/kibana-keystore add server.ssl.keystore.password
      



4. 사용자 등록과 관리

  • Role 정의
    • stack management > security > roles
    • cluster privileges
      • 클러스터 설정 업데이트와 조회, 상태 조회, 스냅샷, ILM 정책 관리 등 인덱스와 직접적인 관련이 없는 권한들
    • index privileges
      • 인덱스의 생성, 삭제, 검색 API 등에 대한 사용 권한
    • run as privileges
      • 특수한 경우에 시스템적으로 지정한 사용자인 것처럼 접근할 수 있음
  • User 정의
    • stack management > security > roles
    • user 생성 후 role 할당



5. 기타 설정

  • Spaces
    • stack management > kibana > spaces
    • features visibility: 스페이스별로 접근 가능 권한 설정 가능
  • Dashboard export/import
    • Import: stack management > saved objects > 대시보드 선택 > export
    • Export: stack management > saved objects > 대시보드 선택 > import
  • Advanced Settings
    • 메인 home 진입 시 대시보드 목록 보이게 하기
      • stack management > advaned settings > default route
        • /app/dashboards#/list?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-1M,to:now))
        • 여기서 설정한 time range가 대시보드 화면에서도 적용됨
    • Date format 변경
      • stack management > advaned settings > date format
        • https://momentjs.com/docs/#/displaying/format/
This post is licensed under CC BY 4.0 by the author.