Skip to content

Latest commit

 

History

History
76 lines (59 loc) · 3.35 KB

README.md

File metadata and controls

76 lines (59 loc) · 3.35 KB

kbn-authentication-plugin Build Status

A plugin adds authentication to Kibana dashboards! YouTube demo

key setup

Installing

To install the plugin use the kibana-plugin utility, example:

./kibana-plugin install 'https://github.com/codingchili/kbn-authentication-plugin/releases/download/1.1.0/kbn-authentication-plugin.zip'

Default username and password is: 'username' and 'password' for the file storage.

To add a new user run the adduser utility, not supported in LDAP mode.

Make sure kibana x-pack is not enabled, set xpack.security.enabled: false in /config/kibana.yaml.

node adduser.js USERNAME PASSWORD

Make sure to set the correct version in json.config. The version must match the version of Kibana being used.

Features

  • two factor authentication with time based tokens.
  • supports scanning a barcode in the Google Authenticator app for example.
  • supports storing user credentials and keys in a simple json file.
  • supports storing user credentials and keys in MongoDB.
  • supports storing user credentials in LDAP and keys in a json file.
  • json web token authentication using Kibanas bundled HAPI package.
  • uses the latest password hashing contest winner!

Building the plugin

To check out the sources and build the plugin do the following

git clone https://github.com/codingchili/kbn-authentication-plugin
cd kbn-authentication-plugin
npm install
mocha test --recursive -u tdd

Perform the following steps to create an installable zip:

  1. Set the kibana version in package.json, must match exactly.
  2. move kbn-authentication-plugin into a folder named 'kibana'.
  3. Create a zip file that includes the 'kibana' folder.
  4. The plugin can then be installed with the kibana-plugin install command, see installing.
Dependencies
  • NodeJS 8.11.2+
  • NPM
  • MS Build tools / Unix build tools
  • Python 2.7

To compile the binary module argon2-ffi build tools are requried, install with

windows: 
  npm install --global --production windows-build-tools
unix:    
  sudo apt-get install build-essential libssl-dev libffi-dev python-dev

This installs MS build tools and python 2.7 and is required for node-gyp to work.

Troubleshooting

If the Kibana instance is already running it may be set to reload all plugins on change, if not then try restarting the instance. The authentication plugin is tested working with Kibana version 6.3.2.

If you have issues installing the plugin,

  • make sure that the version in package.json is matching your kibana version.
  • make sure that the native modules are compiled with the same arch as kibanas bundled node.
Known issues

Multi-user capabilities is not completed, all authenticated users share the same indice and dashboards. No plans on implementing this for now.

A warning appears on startup stating that the N-API is experimental.