| <!DOCTYPE html> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html> |
| <head> |
| <title>Apache Blur (Incubator) Documentation</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <!-- Bootstrap --> |
| <link href="resources/css/bootstrap.min.css" rel="stylesheet" media="screen"> |
| <link href="resources/css/bs-docs.css" rel="stylesheet" media="screen"> |
| </head> |
| <body> |
| <div class="navbar navbar-inverse navbar-fixed-top"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| <a class="navbar-brand" href="http://incubator.apache.org/blur">Apache Blur (Incubator)</a> |
| </div> |
| <div class="collapse navbar-collapse"> |
| <ul class="nav navbar-nav"> |
| <li><a href="index.html">Main</a></li> |
| <li><a href="getting-started.html">Getting Started</a></li> |
| <li><a href="platform.html">Platform</a></li> |
| <li><a href="data-model.html">Data Model</a></li> |
| <li><a href="cluster-setup.html">Cluster Setup</a></li> |
| <li><a href="using-blur.html">Using Blur</a></li> |
| <li><a href="Blur.html">Blur API</a></li> |
| <li class="active"><a href="console.html">Console</a></li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="container bs-docs-container"> |
| <div class="row"> |
| <div class="col-md-3"> |
| <div class="bs-sidebar hidden-print affix" role="complementary"> |
| <ul class="nav bs-sidenav"> |
| <li><a href="#configuration">Configuration</a></li> |
| <li><a href="#security">Security</a></li> |
| <li><a href="#dev">Dev Mode</a></li> |
| </ul> |
| </div> |
| </div> |
| <div class="col-md-9" role="main"> |
| <section> |
| <div class="page-header"> |
| <h1 id="configuration">Configuration</h1> |
| </div> |
| <p class="lead"> |
| Below you will find a list of available options and their appropriate defaults for the Blur Console component. All options can be set in the blur-site.properties file. |
| </p> |
| <h3>Base Settings</h3> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Property</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>blur.console.port</td> |
| <td>8080</td> |
| <td>The port that the embedded Jetty server will run on when started.</td> |
| </tr> |
| <tr> |
| <td>blur.console.authentication.provider</td> |
| <td>org.apache.blur.console.providers.AllAuthenticated</td> |
| <td>The class name that will implement the IAuthenticationProvider interface and provide security to the tool.</td> |
| </tr> |
| <tr> |
| <td>blur.console.authorization.provider</td> |
| <td>org.apache.blur.console.providers.EmptyAuthorization</td> |
| <td>The class name that will implement the IAuthorizationProvider interface and provide authorization to the data.</td> |
| </tr> |
| <tr> |
| <td>blur.console.authentication.roles.admin</td> |
| <td>admin</td> |
| <td>Used to aide in the mapping of custom provider roles to console roles. This maps the administrator role.</td> |
| </tr> |
| <tr> |
| <td>blur.console.authentication.roles.searcher</td> |
| <td>searcher</td> |
| <td>Used to aide in the mapping of custom provider roles to console roles. This maps the searcher role.</td> |
| </tr> |
| <tr> |
| <td>blur.console.authentication.roles.manager</td> |
| <td>manager</td> |
| <td>Used to aide in the mapping of custom provider roles to console roles. This maps the manager role.</td> |
| </tr> |
| <tr> |
| <td>blur.console.refreshtime</td> |
| <td>5000</td> |
| <td>Time to indicate how long calls to Blur should be cached (in milliseconds).</td> |
| </tr> |
| <tr> |
| <td>blur.console.ssl.enabled</td> |
| <td>false</td> |
| <td>Whether to enable ssl directly in the console.</td> |
| </tr> |
| <tr> |
| <td>blur.console.ssl.hostname.match</td> |
| <td>true</td> |
| <td>Indicates if the hostname should match an incoming certificate.</td> |
| </tr> |
| <tr> |
| <td>blur.console.ssl.keystore.path</td> |
| <td></td> |
| <td>The path to a keystore for ssl.</td> |
| </tr> |
| <tr> |
| <td>blur.console.ssl.keystore.password</td> |
| <td></td> |
| <td>The password to the keystore (used with blur.console.ssl.keystore.path).</td> |
| </tr> |
| <tr> |
| <td>blur.console.ssl.truststore.path</td> |
| <td></td> |
| <td>The path to a truststore for ssl.</td> |
| </tr> |
| <tr> |
| <td>blur.console.ssl.truststore.password</td> |
| <td></td> |
| <td>The password to the truststore (used with blur.console.ssl.truststore.path).</td> |
| </tr> |
| </tbody> |
| </table> |
| <h3>Included Security Provider Settings</h3> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Provider</th> |
| <th>Property</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>org.apache.blur.console.providers.TomcatUsers</td> |
| <td>blur.console.authentication.provider.tomcat.usersfile</td> |
| <td>The location of the file containing the users, passwords, and roles.</td> |
| </tr> |
| <tr> |
| <td>org.apache.blur.console.providers.GlobalJsonAuthorization</td> |
| <td>blur.console.authorization.provider.globaljson.file</td> |
| <td>The location of the file containing the access control to the data for various "users" that can be used during searching.</td> |
| </tr> |
| </tbody> |
| </table> |
| </section> |
| <section> |
| <div class="page-header"> |
| <h1 id="security">Security</h1> |
| </div> |
| <p class="lead"> |
| Blur Console itself provides some hooks and default implementations to allow for authentication and authorization to both the tool as well as the data. |
| </p> |
| <h3>Authentication Provider</h3> |
| <p> |
| The Authentication Provider (interface org.apache.blur.console.providers.IAuthenticationProvider) provides the ability to lock down the console tool to privileged users. The interface |
| allows for logging in, retrieving a User, and providing roles for that user that give access to functionality within the tool. |
| </p> |
| <h3>Authorization Provider</h3> |
| <p> |
| The Authorization Provider (interface org.apache.blur.console.providers.IAuthorizationProvider) provides the ability to apply Blur level access control to the users of the console. |
| </p> |
| <h3>Roles</h3> |
| <table class="table table-bordered table-striped table-condensed"> |
| <thead> |
| <tr> |
| <th>Role</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>admin</td> |
| <td>Grants permission to ALL functionality of the console.</td> |
| </tr> |
| <tr> |
| <td>manager</td> |
| <td>Grants permission to Read, Search, and perform destructive actions (i.e. Disable/Delete tables).</td> |
| </tr> |
| <tr> |
| <td>searcher</td> |
| <td>Grants permission to Read and Search</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3>Available Implementations</h3> |
| <table class="table table-bordered table-condensed table-striped"> |
| <thead> |
| <tr> |
| <th>Provider</th> |
| <th>Interface</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>org.apache.blur.console.providers.AllAuthenticated</td> |
| <td>IAuthenticationProvider</td> |
| <td>Allows anyone to access all functionality of the console. Bypasses user login.</td> |
| </tr> |
| <tr> |
| <td>org.apache.blur.console.providers.EmptyAuthorization</td> |
| <td>IAuthorizationProvider</td> |
| <td>This provider does not set up any attributes for Blur security for the users of the console.</td> |
| </tr> |
| <tr> |
| <td>org.apache.blur.console.providers.GlobalJsonAuthorization</td> |
| <td>IAuthorizationProvider</td> |
| <td> |
| Provides a list of users and their security attributes defined in a JSON file. These users can be selected from the search screen and will have their access applied during searching. |
| <br/> |
| <code> |
| "user1":{ |
| <br/> |
| "attribute1":"foo,bar,baz", |
| <br/> |
| "attribute2":"zzzzz" |
| <br/> |
| }, |
| <br/> |
| "user2":{ |
| <br/> |
| "attribute1":"foo", |
| <br/> |
| "attribute2":"12345" |
| <br/> |
| } |
| </code> |
| </td> |
| </tr> |
| <tr> |
| <td>org.apache.blur.console.providers.TomcatUsers</td> |
| <td>IAuthenticationProvider</td> |
| <td>Provides a list of users, roles, and passwords in an xml file. The format of this file is identical to a tomcat-users file.</td> |
| </tr> |
| </tbody> |
| </table> |
| <div class="alert alert-info"> |
| <strong>Note:</strong> |
| Custom Providers can be created by implementing the interfaces, placing the jar in the runtime blur lib directory, and adding the classnames to the config file. |
| </div> |
| <div class="alert alert-info"> |
| <strong>Note:</strong> |
| Configuring the same class for authentication and authorization providers will reuse the same instance for both. |
| </div> |
| </section> |
| <section> |
| <div class="page-header"> |
| <h1 id="dev">Dev Mode</h1> |
| </div> |
| <p class="lead"> |
| To try the console without having a full Blur Cluster setup you can add --dev to the arguments when starting the console. This will run a MiniCluster in the |
| process and attach to it. In order to access the running MiniCluster you will need to grab the controller uri from the Dashboard and access through the shell. |
| </p> |
| </section> |
| </div> |
| </div> |
| |
| <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> |
| <script src="resources/js/jquery-2.0.3.min.js"></script> |
| <!-- Include all compiled plugins (below), or include individual files as needed --> |
| <script src="resources/js/bootstrap.min.js"></script> |
| <!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) --> |
| <script src="resources/js/respond.min.js"></script> |
| <script src="resources/js/docs.js"></script> |
| </body> |
| </html> |