zeppelin/docs/security/authentication.md

133 lines
6.3 KiB
Markdown
Raw Normal View History

Notebook Authorization ### What is this PR for? The goal of the PR is to add authorization for notebooks according to the design document [here] (https://gist.github.com/prasadwagle/712b7ca1e0f1f4f1aa20). The PR uses Shiro authentication. ### What type of PR is it? Feature ### Todos * [x] - Find way to get roles for a user in SecurityUtils (Not possible at the moment, see SHIRO-492) * [x] - Investigate how to use Shiro authorization * [x] - Use groups associated with user to determine if operation is permitted * [x] - Check if user has permissions to modify note permissions * [x] - Add checks in more NotebookServer operations * [x] - Improve UI (explain permissions, error messages) * [x] - Add unit tests * [x] - Documentation ### Is there a relevant Jira issue? ZEPPELIN-549 ### How should this be tested? 1. Enable Basic Auth Security by changing conf/shiro.ini. 1. Create a note. By default all operations are allowed by any authenticated user. 1. Update readers, writers and owners by clicking on the lock icon in the top right area. 1. Check if users can or cannot perform operations according to the permissions. ### Screenshots (if appropriate) ![Screenshot](https://cloud.githubusercontent.com/assets/870829/12711820/c70fa336-c877-11e5-84e8-e282231988b2.gif) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Prasad Wagle <pwagle@twitter.com> Closes #681 from prasadwagle/notebook_authorization and squashes the following commits: e7cffd8 [Prasad Wagle] Restore anon default in shiro.ini 24e8de4 [Prasad Wagle] Remove duplicate imports 29ebf48 [Prasad Wagle] Merge with master 52f4914 [Prasad Wagle] Check whether roles is non-empty before adding to userAndRoles 733530f [Prasad Wagle] Minor doc fix 28ea697 [Prasad Wagle] Fixed issues with security documentation reported by @AhyoungRyu 1ac076e [Prasad Wagle] Fixed typo in _navigation.html and updated interpreter_authorization.md 6c89dbe [Prasad Wagle] Implement Moon's suggestions on note permissions background and wildcard placeholder 2554315 [Prasad Wagle] Use user and roles for checking note permissions 3a5e5c0 [Prasad Wagle] Check if user has permissions to modify note permissions fbbd04b [Prasad Wagle] Make insufficient privileges error message easier to read 06c5e07 [Prasad Wagle] Update navigation.html for security docs 6b9e274 [Prasad Wagle] Add unit test for note permissions a8d0ecb [Prasad Wagle] Add security documentation 6e85730 [Prasad Wagle] Notebook Authorization
2016-02-26 00:54:47 +00:00
---
layout: page
Update/shiro docs ### What is this PR for? Currently, Zeppelin has two authentication docs. One is [**Authentication**](https://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/security/authentication.html) and the other is [**Shiro Authentication**](https://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/manual/shiroauthentication.html). As a user, it's little bit confused. So I changed the category of `shiroauthentication.md` file from `manual` to `security` and also changed the name of `Authentication` to `Authentication for NGINX`. Please see the below screenshot images :) ### What type of PR is it? Improvement ### Todos * [x] - Add `conf/shiro.ini` file to `.gitignore` * [x] - Update `zeppelin-login.png` screenshot image file in `shiroauthentication.md` * [x] - Change the category of `shiroauthentication.md` file from `manual` -> `security` * [x] - Change `Authentication` -> `Authentication for NGINX` ### What is the Jira issue? ### How should this be tested? ### Screenshots (if appropriate) 1. Updating zeppelin-login.png - before ![zeppelin-login 1](https://cloud.githubusercontent.com/assets/10060731/15422239/7ad7cf0c-1eb2-11e6-9106-70d5833d99af.png) - after <img width="1272" alt="zeppelin-login" src="https://cloud.githubusercontent.com/assets/10060731/15422244/812541e6-1eb2-11e6-89bc-ed635bc9aaa8.png"> 2. Changing the category of **Shiro Authentication** & Changing **Authentication** -> **Authentication for NGINX** - before ![screen shot 2016-05-20 at 5 31 34 pm](https://cloud.githubusercontent.com/assets/10060731/15422261/9c63cd92-1eb2-11e6-938d-959ff5ebbb0d.png) - after ![screen shot 2016-05-20 at 5 31 19 pm](https://cloud.githubusercontent.com/assets/10060731/15422270/a4a06d6c-1eb2-11e6-90ff-5ad18cb2ac61.png) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #907 from AhyoungRyu/update/shiroDocs and squashes the following commits: 95d37ab [AhyoungRyu] Change title Authentication -> Authentication for NGINX d290937 [AhyoungRyu] Change Shiro Authentication docs category 749ce8c [AhyoungRyu] Change shiroauthentication.md location 20b8ae9 [AhyoungRyu] Update login screenshot image in shiroauthentication.md 122afc2 [AhyoungRyu] Add conf/shiro.ini file to .gitignore
2016-05-20 08:34:01 +00:00
title: "Authentication for NGINX"
[ZEPPELIN-1219] Add searching feature to Zeppelin docs site ### What is this PR for? As more and more document pages are added, it's really hard to find specific pages. So I added searching feature to Zeppelin documentation site([jekyll](https://jekyllrb.com/) based site) using [lunr.js](http://lunrjs.com/). - **How does it work?** I created [`search_data.json`](https://github.com/AhyoungRyu/zeppelin/blob/6e02423f541cc406e4e41031629609a276a9f481/docs/search_data.json) which is used for docs info template. `lunr.js` combines all of the text from all of the docs in `docs/` into `_site/search_data.json`. It looks like below. ![screen shot 2016-08-03 at 4 49 59 am](https://cloud.githubusercontent.com/assets/10060731/17342828/f2908be8-5935-11e6-8eee-b189677c0531.png) All the info are comes from [Jekyll YAML front matter](https://jekyllrb.com/docs/frontmatter/) variables. (i.e. title, group, description.. that's why I rewrote all docs' title and description.) [search.js](https://github.com/AhyoungRyu/zeppelin/blob/6e02423f541cc406e4e41031629609a276a9f481/docs/assets/themes/zeppelin/js/search.js) will do this job using this data! ### What type of PR is it? Improvement & Feature ### Todos * [x] - Keep consistency for all docs pages' `Title` * [x] - Add some overview sentences to all docs pages' `Description` section (this will be used as the result preview) * [x] - Add apache license header to all docs page (some pages are missing the license header currently) * [x] - Add LICENSE for `lunr.min.js` ### What is the Jira issue? [ZEPPELIN-1219](https://issues.apache.org/jira/browse/ZEPPELIN-1219) ### How should this be tested? 1. Apply this patch and build `ZEPPELIN_HOME/docs` dir -> please see [docs/README.md#build-documentation](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) 2. Click `search` icon in navbar and go to `search.html` page 3. Type anything you want to search in the search bar (i.e. type `python`, `spark`, `dynamic` ... ) ### Screenshots (if appropriate) ![screen shot 2016-08-03 at 4 42 28 pm](https://cloud.githubusercontent.com/assets/10060731/17357851/d092e2ca-5999-11e6-9917-a3d4113e6e43.png) ![search](https://cloud.githubusercontent.com/assets/10060731/17357828/b2486cd6-5999-11e6-873b-121fac033b03.gif) ### Questions: * Does the licenses files need update? Yes, for `lunr.min.js` * Is there breaking changes for older versions? no * Does this needs documentation? no Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1266 from AhyoungRyu/ZEPPELIN-1219 and squashes the following commits: 7ec8854 [AhyoungRyu] Modify 'no result' sentence 91b71a7 [AhyoungRyu] Remove Apache license header since JSON doesn't allow comment 34afd5d [AhyoungRyu] Add Apache license header to search_data.json 6784282 [AhyoungRyu] Minor search page UI update 0389d28 [AhyoungRyu] Make index.md not to be searched 9f1ba42 [AhyoungRyu] Disable enterkey press & change icon bd4956a [AhyoungRyu] Add docs.js & search.js to exclude list in pom.xml 624b051 [AhyoungRyu] Add Apache license header to search.js 1381152 [AhyoungRyu] Fix search result skipping issue 6e775f5 [AhyoungRyu] Make pleasecontribute.md not to be searched ee11136 [AhyoungRyu] Fix some typos fa01299 [AhyoungRyu] Refine 'description' in some docs as @bzz suggested da0cff9 [AhyoungRyu] Exclude lunr.min.js 36ba7f1 [AhyoungRyu] Add lunr.min.js license info f6a05a6 [AhyoungRyu] Apply css style for the search results 68eb997 [AhyoungRyu] Attach 'Apache Zeppelin ZEPPELIN_VERSION Documentation: ' to title d908c37 [AhyoungRyu] Add searching page a951fa6 [AhyoungRyu] Add search icon to navbar 0688a79 [AhyoungRyu] Keep consistency all docs' front matter for the right search result 040f532 [AhyoungRyu] Add template for storing docs info based on jekyll front matter 0705bd6 [AhyoungRyu] Add js files: lunr.min.js & search.js
2016-08-06 05:50:25 +00:00
description: "There are multiple ways to enable authentication in Apache Zeppelin. This page describes HTTP basic auth using NGINX."
Notebook Authorization ### What is this PR for? The goal of the PR is to add authorization for notebooks according to the design document [here] (https://gist.github.com/prasadwagle/712b7ca1e0f1f4f1aa20). The PR uses Shiro authentication. ### What type of PR is it? Feature ### Todos * [x] - Find way to get roles for a user in SecurityUtils (Not possible at the moment, see SHIRO-492) * [x] - Investigate how to use Shiro authorization * [x] - Use groups associated with user to determine if operation is permitted * [x] - Check if user has permissions to modify note permissions * [x] - Add checks in more NotebookServer operations * [x] - Improve UI (explain permissions, error messages) * [x] - Add unit tests * [x] - Documentation ### Is there a relevant Jira issue? ZEPPELIN-549 ### How should this be tested? 1. Enable Basic Auth Security by changing conf/shiro.ini. 1. Create a note. By default all operations are allowed by any authenticated user. 1. Update readers, writers and owners by clicking on the lock icon in the top right area. 1. Check if users can or cannot perform operations according to the permissions. ### Screenshots (if appropriate) ![Screenshot](https://cloud.githubusercontent.com/assets/870829/12711820/c70fa336-c877-11e5-84e8-e282231988b2.gif) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Prasad Wagle <pwagle@twitter.com> Closes #681 from prasadwagle/notebook_authorization and squashes the following commits: e7cffd8 [Prasad Wagle] Restore anon default in shiro.ini 24e8de4 [Prasad Wagle] Remove duplicate imports 29ebf48 [Prasad Wagle] Merge with master 52f4914 [Prasad Wagle] Check whether roles is non-empty before adding to userAndRoles 733530f [Prasad Wagle] Minor doc fix 28ea697 [Prasad Wagle] Fixed issues with security documentation reported by @AhyoungRyu 1ac076e [Prasad Wagle] Fixed typo in _navigation.html and updated interpreter_authorization.md 6c89dbe [Prasad Wagle] Implement Moon's suggestions on note permissions background and wildcard placeholder 2554315 [Prasad Wagle] Use user and roles for checking note permissions 3a5e5c0 [Prasad Wagle] Check if user has permissions to modify note permissions fbbd04b [Prasad Wagle] Make insufficient privileges error message easier to read 06c5e07 [Prasad Wagle] Update navigation.html for security docs 6b9e274 [Prasad Wagle] Add unit test for note permissions a8d0ecb [Prasad Wagle] Add security documentation 6e85730 [Prasad Wagle] Notebook Authorization
2016-02-26 00:54:47 +00:00
group: security
---
<!--
Licensed 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.
-->
[ZEPPELIN-1219] Add searching feature to Zeppelin docs site ### What is this PR for? As more and more document pages are added, it's really hard to find specific pages. So I added searching feature to Zeppelin documentation site([jekyll](https://jekyllrb.com/) based site) using [lunr.js](http://lunrjs.com/). - **How does it work?** I created [`search_data.json`](https://github.com/AhyoungRyu/zeppelin/blob/6e02423f541cc406e4e41031629609a276a9f481/docs/search_data.json) which is used for docs info template. `lunr.js` combines all of the text from all of the docs in `docs/` into `_site/search_data.json`. It looks like below. ![screen shot 2016-08-03 at 4 49 59 am](https://cloud.githubusercontent.com/assets/10060731/17342828/f2908be8-5935-11e6-8eee-b189677c0531.png) All the info are comes from [Jekyll YAML front matter](https://jekyllrb.com/docs/frontmatter/) variables. (i.e. title, group, description.. that's why I rewrote all docs' title and description.) [search.js](https://github.com/AhyoungRyu/zeppelin/blob/6e02423f541cc406e4e41031629609a276a9f481/docs/assets/themes/zeppelin/js/search.js) will do this job using this data! ### What type of PR is it? Improvement & Feature ### Todos * [x] - Keep consistency for all docs pages' `Title` * [x] - Add some overview sentences to all docs pages' `Description` section (this will be used as the result preview) * [x] - Add apache license header to all docs page (some pages are missing the license header currently) * [x] - Add LICENSE for `lunr.min.js` ### What is the Jira issue? [ZEPPELIN-1219](https://issues.apache.org/jira/browse/ZEPPELIN-1219) ### How should this be tested? 1. Apply this patch and build `ZEPPELIN_HOME/docs` dir -> please see [docs/README.md#build-documentation](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) 2. Click `search` icon in navbar and go to `search.html` page 3. Type anything you want to search in the search bar (i.e. type `python`, `spark`, `dynamic` ... ) ### Screenshots (if appropriate) ![screen shot 2016-08-03 at 4 42 28 pm](https://cloud.githubusercontent.com/assets/10060731/17357851/d092e2ca-5999-11e6-9917-a3d4113e6e43.png) ![search](https://cloud.githubusercontent.com/assets/10060731/17357828/b2486cd6-5999-11e6-873b-121fac033b03.gif) ### Questions: * Does the licenses files need update? Yes, for `lunr.min.js` * Is there breaking changes for older versions? no * Does this needs documentation? no Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1266 from AhyoungRyu/ZEPPELIN-1219 and squashes the following commits: 7ec8854 [AhyoungRyu] Modify 'no result' sentence 91b71a7 [AhyoungRyu] Remove Apache license header since JSON doesn't allow comment 34afd5d [AhyoungRyu] Add Apache license header to search_data.json 6784282 [AhyoungRyu] Minor search page UI update 0389d28 [AhyoungRyu] Make index.md not to be searched 9f1ba42 [AhyoungRyu] Disable enterkey press & change icon bd4956a [AhyoungRyu] Add docs.js & search.js to exclude list in pom.xml 624b051 [AhyoungRyu] Add Apache license header to search.js 1381152 [AhyoungRyu] Fix search result skipping issue 6e775f5 [AhyoungRyu] Make pleasecontribute.md not to be searched ee11136 [AhyoungRyu] Fix some typos fa01299 [AhyoungRyu] Refine 'description' in some docs as @bzz suggested da0cff9 [AhyoungRyu] Exclude lunr.min.js 36ba7f1 [AhyoungRyu] Add lunr.min.js license info f6a05a6 [AhyoungRyu] Apply css style for the search results 68eb997 [AhyoungRyu] Attach 'Apache Zeppelin ZEPPELIN_VERSION Documentation: ' to title d908c37 [AhyoungRyu] Add searching page a951fa6 [AhyoungRyu] Add search icon to navbar 0688a79 [AhyoungRyu] Keep consistency all docs' front matter for the right search result 040f532 [AhyoungRyu] Add template for storing docs info based on jekyll front matter 0705bd6 [AhyoungRyu] Add js files: lunr.min.js & search.js
2016-08-06 05:50:25 +00:00
{% include JB/setup %}
Update/shiro docs ### What is this PR for? Currently, Zeppelin has two authentication docs. One is [**Authentication**](https://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/security/authentication.html) and the other is [**Shiro Authentication**](https://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/manual/shiroauthentication.html). As a user, it's little bit confused. So I changed the category of `shiroauthentication.md` file from `manual` to `security` and also changed the name of `Authentication` to `Authentication for NGINX`. Please see the below screenshot images :) ### What type of PR is it? Improvement ### Todos * [x] - Add `conf/shiro.ini` file to `.gitignore` * [x] - Update `zeppelin-login.png` screenshot image file in `shiroauthentication.md` * [x] - Change the category of `shiroauthentication.md` file from `manual` -> `security` * [x] - Change `Authentication` -> `Authentication for NGINX` ### What is the Jira issue? ### How should this be tested? ### Screenshots (if appropriate) 1. Updating zeppelin-login.png - before ![zeppelin-login 1](https://cloud.githubusercontent.com/assets/10060731/15422239/7ad7cf0c-1eb2-11e6-9106-70d5833d99af.png) - after <img width="1272" alt="zeppelin-login" src="https://cloud.githubusercontent.com/assets/10060731/15422244/812541e6-1eb2-11e6-89bc-ed635bc9aaa8.png"> 2. Changing the category of **Shiro Authentication** & Changing **Authentication** -> **Authentication for NGINX** - before ![screen shot 2016-05-20 at 5 31 34 pm](https://cloud.githubusercontent.com/assets/10060731/15422261/9c63cd92-1eb2-11e6-938d-959ff5ebbb0d.png) - after ![screen shot 2016-05-20 at 5 31 19 pm](https://cloud.githubusercontent.com/assets/10060731/15422270/a4a06d6c-1eb2-11e6-90ff-5ad18cb2ac61.png) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #907 from AhyoungRyu/update/shiroDocs and squashes the following commits: 95d37ab [AhyoungRyu] Change title Authentication -> Authentication for NGINX d290937 [AhyoungRyu] Change Shiro Authentication docs category 749ce8c [AhyoungRyu] Change shiroauthentication.md location 20b8ae9 [AhyoungRyu] Update login screenshot image in shiroauthentication.md 122afc2 [AhyoungRyu] Add conf/shiro.ini file to .gitignore
2016-05-20 08:34:01 +00:00
# Authentication for NGINX
Notebook Authorization ### What is this PR for? The goal of the PR is to add authorization for notebooks according to the design document [here] (https://gist.github.com/prasadwagle/712b7ca1e0f1f4f1aa20). The PR uses Shiro authentication. ### What type of PR is it? Feature ### Todos * [x] - Find way to get roles for a user in SecurityUtils (Not possible at the moment, see SHIRO-492) * [x] - Investigate how to use Shiro authorization * [x] - Use groups associated with user to determine if operation is permitted * [x] - Check if user has permissions to modify note permissions * [x] - Add checks in more NotebookServer operations * [x] - Improve UI (explain permissions, error messages) * [x] - Add unit tests * [x] - Documentation ### Is there a relevant Jira issue? ZEPPELIN-549 ### How should this be tested? 1. Enable Basic Auth Security by changing conf/shiro.ini. 1. Create a note. By default all operations are allowed by any authenticated user. 1. Update readers, writers and owners by clicking on the lock icon in the top right area. 1. Check if users can or cannot perform operations according to the permissions. ### Screenshots (if appropriate) ![Screenshot](https://cloud.githubusercontent.com/assets/870829/12711820/c70fa336-c877-11e5-84e8-e282231988b2.gif) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Prasad Wagle <pwagle@twitter.com> Closes #681 from prasadwagle/notebook_authorization and squashes the following commits: e7cffd8 [Prasad Wagle] Restore anon default in shiro.ini 24e8de4 [Prasad Wagle] Remove duplicate imports 29ebf48 [Prasad Wagle] Merge with master 52f4914 [Prasad Wagle] Check whether roles is non-empty before adding to userAndRoles 733530f [Prasad Wagle] Minor doc fix 28ea697 [Prasad Wagle] Fixed issues with security documentation reported by @AhyoungRyu 1ac076e [Prasad Wagle] Fixed typo in _navigation.html and updated interpreter_authorization.md 6c89dbe [Prasad Wagle] Implement Moon's suggestions on note permissions background and wildcard placeholder 2554315 [Prasad Wagle] Use user and roles for checking note permissions 3a5e5c0 [Prasad Wagle] Check if user has permissions to modify note permissions fbbd04b [Prasad Wagle] Make insufficient privileges error message easier to read 06c5e07 [Prasad Wagle] Update navigation.html for security docs 6b9e274 [Prasad Wagle] Add unit test for note permissions a8d0ecb [Prasad Wagle] Add security documentation 6e85730 [Prasad Wagle] Notebook Authorization
2016-02-26 00:54:47 +00:00
[ZEPPELIN-1018] Apply auto "Table of Contents" generator to Zeppelin docs website ### What is this PR for? I added auto TOC(Table of Contents) generator for Zeppelin documentation website. TOC can help people looking through whole contents at a glance and finding what they want quickly. I just added `<div id="toc"></div>` to the each documentation header. [`toc`](https://github.com/apache/zeppelin/compare/master...AhyoungRyu:ZEPPELIN-1018?expand=1#diff-85af09fb498a5667ea455391533f945dR3) recognize `<h2>` & `<h3>` as a title in the docs and it automatically generate TOC. So I set a rule for this work. (I'll write this rule on `docs/CONTRIBUTING.md` or [docs/howtocontributewebsite](https://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/development/howtocontributewebsite.html)). ``` # Level-1 Heading <- Use only for the main title of the page ## Level-2 Heading <- Start with this one ### Level-3 heading <- Only use this one for child of Level-2 toc only recognize Level-2 & Level-3 ``` Please see the below attached screenshot image. ### What type of PR is it? Improvement & Documentation ### Todos * [x] - Add TOC generator * [x] - Apply TOC(`<div id="toc"></div>`) to every documentation and reorganize each headers(apply the above rule) * [x] - Fix some broken code block in several docs * [x] - Apply TOC to `r.md` (Currently R docs has some duplicated info since [this one](https://github.com/apache/zeppelin/commit/d5e87fb8ba98f08db5b0a4995104ce19f182c678) and [this one](https://github.com/apache/zeppelin/commit/7d6cc7e99154e2d337c11fdf8be1a874ed3e9ada) ) * [x] - Apply TOC to `install.md` after #1010 merged * [x] - Apply TOC to `interpreterinstallation.md` after #1042 merged ### What is the Jira issue? [ZEPPELIN-1018](https://issues.apache.org/jira/browse/ZEPPELIN-1018) ### How should this be tested? 1. Apply this patch and build `docs/` with [this guide](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) 2. Visit some docs page. Then you can see TOC in the header of page. ### Screenshots (if appropriate) - Automatically generated TOC in Spark interpreter docs page <img width="831" alt="screen shot 2016-06-16 at 9 37 18 pm" src="https://cloud.githubusercontent.com/assets/10060731/16140902/945b9c7a-340a-11e6-91f3-b6174738bed0.png"> ### Questions: * Does the licenses files need update? No. Actually I used [jekyll-table-of-contents#copyright](https://github.com/ghiculescu/jekyll-table-of-contents#copyright). But I don't need to add a license for this :) * Is there breaking changes for older versions? No * Does this needs documentation? Maybe Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1031 from AhyoungRyu/ZEPPELIN-1018 and squashes the following commits: e66397b [AhyoungRyu] Apply TOC to interpreterinstallation.md 009579b [AhyoungRyu] Add more info to 'What is the next?' in install.md 04cf501 [AhyoungRyu] Revert 'where to start' section b7cbe5f [AhyoungRyu] Fix typo cf0911c [AhyoungRyu] Rename license file 388f35a [AhyoungRyu] Add jekyll-table-of-contents license info 6394c70 [AhyoungRyu] Fix image path in python.md d00e4b1 [AhyoungRyu] Move interpreter/screenshot/ -> asset/../img/docs-img/ 3ffb383 [AhyoungRyu] Remove duplicated info in r.md & apply toc a03ca99 [AhyoungRyu] Exclude toc.js from pom.xml 3fae7df [AhyoungRyu] Apply auto generated toc to install.md d114a9d [AhyoungRyu] Address @felixcheung feedback 6a788fe [AhyoungRyu] Resize TOC tab indent 6760c00 [AhyoungRyu] Apply auto TOC to all of docs under docs/storage/ fbde57f [AhyoungRyu] Apply auto TOC to all of docs under docs/quickstart/ db76eb6 [AhyoungRyu] Apply auto TOC to all of docs under docs/install/ f35db47 [AhyoungRyu] Apply auto TOC to all of docs under docs/displaysystem/ b05365f [AhyoungRyu] Apply auto TOC to all of docs under docs/rest-api/ 163691c [AhyoungRyu] Apply auto TOC to all of docs under docs/manual/ bef398e [AhyoungRyu] Apply auto TOC to all of docs under docs/development/ 9c5f76b [AhyoungRyu] Apply auto TOC to all of docs under docs/interpreter/ 587d4ba [AhyoungRyu] Apply auto TOC to all of docs under docs/security/ 1f10b97 [AhyoungRyu] Change toc configuration 78dca9e [AhyoungRyu] Add toc.js for auto generating TOC
2016-06-25 19:44:53 +00:00
<div id="toc"></div>
Notebook Authorization ### What is this PR for? The goal of the PR is to add authorization for notebooks according to the design document [here] (https://gist.github.com/prasadwagle/712b7ca1e0f1f4f1aa20). The PR uses Shiro authentication. ### What type of PR is it? Feature ### Todos * [x] - Find way to get roles for a user in SecurityUtils (Not possible at the moment, see SHIRO-492) * [x] - Investigate how to use Shiro authorization * [x] - Use groups associated with user to determine if operation is permitted * [x] - Check if user has permissions to modify note permissions * [x] - Add checks in more NotebookServer operations * [x] - Improve UI (explain permissions, error messages) * [x] - Add unit tests * [x] - Documentation ### Is there a relevant Jira issue? ZEPPELIN-549 ### How should this be tested? 1. Enable Basic Auth Security by changing conf/shiro.ini. 1. Create a note. By default all operations are allowed by any authenticated user. 1. Update readers, writers and owners by clicking on the lock icon in the top right area. 1. Check if users can or cannot perform operations according to the permissions. ### Screenshots (if appropriate) ![Screenshot](https://cloud.githubusercontent.com/assets/870829/12711820/c70fa336-c877-11e5-84e8-e282231988b2.gif) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Prasad Wagle <pwagle@twitter.com> Closes #681 from prasadwagle/notebook_authorization and squashes the following commits: e7cffd8 [Prasad Wagle] Restore anon default in shiro.ini 24e8de4 [Prasad Wagle] Remove duplicate imports 29ebf48 [Prasad Wagle] Merge with master 52f4914 [Prasad Wagle] Check whether roles is non-empty before adding to userAndRoles 733530f [Prasad Wagle] Minor doc fix 28ea697 [Prasad Wagle] Fixed issues with security documentation reported by @AhyoungRyu 1ac076e [Prasad Wagle] Fixed typo in _navigation.html and updated interpreter_authorization.md 6c89dbe [Prasad Wagle] Implement Moon's suggestions on note permissions background and wildcard placeholder 2554315 [Prasad Wagle] Use user and roles for checking note permissions 3a5e5c0 [Prasad Wagle] Check if user has permissions to modify note permissions fbbd04b [Prasad Wagle] Make insufficient privileges error message easier to read 06c5e07 [Prasad Wagle] Update navigation.html for security docs 6b9e274 [Prasad Wagle] Add unit test for note permissions a8d0ecb [Prasad Wagle] Add security documentation 6e85730 [Prasad Wagle] Notebook Authorization
2016-02-26 00:54:47 +00:00
[Build in authentication mechanism](./shiroauthentication.html) is recommended way for authentication. In case of you want authenticate using NGINX and [HTTP basic auth](https://en.wikipedia.org/wiki/Basic_access_authentication), please read this document.
[ZEPPELIN-1018] Apply auto "Table of Contents" generator to Zeppelin docs website ### What is this PR for? I added auto TOC(Table of Contents) generator for Zeppelin documentation website. TOC can help people looking through whole contents at a glance and finding what they want quickly. I just added `<div id="toc"></div>` to the each documentation header. [`toc`](https://github.com/apache/zeppelin/compare/master...AhyoungRyu:ZEPPELIN-1018?expand=1#diff-85af09fb498a5667ea455391533f945dR3) recognize `<h2>` & `<h3>` as a title in the docs and it automatically generate TOC. So I set a rule for this work. (I'll write this rule on `docs/CONTRIBUTING.md` or [docs/howtocontributewebsite](https://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/development/howtocontributewebsite.html)). ``` # Level-1 Heading <- Use only for the main title of the page ## Level-2 Heading <- Start with this one ### Level-3 heading <- Only use this one for child of Level-2 toc only recognize Level-2 & Level-3 ``` Please see the below attached screenshot image. ### What type of PR is it? Improvement & Documentation ### Todos * [x] - Add TOC generator * [x] - Apply TOC(`<div id="toc"></div>`) to every documentation and reorganize each headers(apply the above rule) * [x] - Fix some broken code block in several docs * [x] - Apply TOC to `r.md` (Currently R docs has some duplicated info since [this one](https://github.com/apache/zeppelin/commit/d5e87fb8ba98f08db5b0a4995104ce19f182c678) and [this one](https://github.com/apache/zeppelin/commit/7d6cc7e99154e2d337c11fdf8be1a874ed3e9ada) ) * [x] - Apply TOC to `install.md` after #1010 merged * [x] - Apply TOC to `interpreterinstallation.md` after #1042 merged ### What is the Jira issue? [ZEPPELIN-1018](https://issues.apache.org/jira/browse/ZEPPELIN-1018) ### How should this be tested? 1. Apply this patch and build `docs/` with [this guide](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) 2. Visit some docs page. Then you can see TOC in the header of page. ### Screenshots (if appropriate) - Automatically generated TOC in Spark interpreter docs page <img width="831" alt="screen shot 2016-06-16 at 9 37 18 pm" src="https://cloud.githubusercontent.com/assets/10060731/16140902/945b9c7a-340a-11e6-91f3-b6174738bed0.png"> ### Questions: * Does the licenses files need update? No. Actually I used [jekyll-table-of-contents#copyright](https://github.com/ghiculescu/jekyll-table-of-contents#copyright). But I don't need to add a license for this :) * Is there breaking changes for older versions? No * Does this needs documentation? Maybe Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1031 from AhyoungRyu/ZEPPELIN-1018 and squashes the following commits: e66397b [AhyoungRyu] Apply TOC to interpreterinstallation.md 009579b [AhyoungRyu] Add more info to 'What is the next?' in install.md 04cf501 [AhyoungRyu] Revert 'where to start' section b7cbe5f [AhyoungRyu] Fix typo cf0911c [AhyoungRyu] Rename license file 388f35a [AhyoungRyu] Add jekyll-table-of-contents license info 6394c70 [AhyoungRyu] Fix image path in python.md d00e4b1 [AhyoungRyu] Move interpreter/screenshot/ -> asset/../img/docs-img/ 3ffb383 [AhyoungRyu] Remove duplicated info in r.md & apply toc a03ca99 [AhyoungRyu] Exclude toc.js from pom.xml 3fae7df [AhyoungRyu] Apply auto generated toc to install.md d114a9d [AhyoungRyu] Address @felixcheung feedback 6a788fe [AhyoungRyu] Resize TOC tab indent 6760c00 [AhyoungRyu] Apply auto TOC to all of docs under docs/storage/ fbde57f [AhyoungRyu] Apply auto TOC to all of docs under docs/quickstart/ db76eb6 [AhyoungRyu] Apply auto TOC to all of docs under docs/install/ f35db47 [AhyoungRyu] Apply auto TOC to all of docs under docs/displaysystem/ b05365f [AhyoungRyu] Apply auto TOC to all of docs under docs/rest-api/ 163691c [AhyoungRyu] Apply auto TOC to all of docs under docs/manual/ bef398e [AhyoungRyu] Apply auto TOC to all of docs under docs/development/ 9c5f76b [AhyoungRyu] Apply auto TOC to all of docs under docs/interpreter/ 587d4ba [AhyoungRyu] Apply auto TOC to all of docs under docs/security/ 1f10b97 [AhyoungRyu] Change toc configuration 78dca9e [AhyoungRyu] Add toc.js for auto generating TOC
2016-06-25 19:44:53 +00:00
## HTTP Basic Authentication using NGINX
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
> **Quote from Wikipedia:** NGINX is a web server. It can act as a reverse proxy server for HTTP, HTTPS, SMTP, POP3, and IMAP protocols, as well as a load balancer and an HTTP cache.
So you can use NGINX server as proxy server to serve HTTP Basic Authentication as a separate process along with Zeppelin server.
Here are instructions how to accomplish the setup NGINX as a front-end authentication server and connect Zeppelin at behind.
This instruction based on Ubuntu 14.04 LTS but may work with other OS with few configuration changes.
1. Install NGINX server on your server instance
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
You can install NGINX server with same box where zeppelin installed or separate box where it is dedicated to serve as proxy server.
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
```
$ apt-get install nginx
```
[ZEPPELIN-1018] Apply auto "Table of Contents" generator to Zeppelin docs website ### What is this PR for? I added auto TOC(Table of Contents) generator for Zeppelin documentation website. TOC can help people looking through whole contents at a glance and finding what they want quickly. I just added `<div id="toc"></div>` to the each documentation header. [`toc`](https://github.com/apache/zeppelin/compare/master...AhyoungRyu:ZEPPELIN-1018?expand=1#diff-85af09fb498a5667ea455391533f945dR3) recognize `<h2>` & `<h3>` as a title in the docs and it automatically generate TOC. So I set a rule for this work. (I'll write this rule on `docs/CONTRIBUTING.md` or [docs/howtocontributewebsite](https://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/development/howtocontributewebsite.html)). ``` # Level-1 Heading <- Use only for the main title of the page ## Level-2 Heading <- Start with this one ### Level-3 heading <- Only use this one for child of Level-2 toc only recognize Level-2 & Level-3 ``` Please see the below attached screenshot image. ### What type of PR is it? Improvement & Documentation ### Todos * [x] - Add TOC generator * [x] - Apply TOC(`<div id="toc"></div>`) to every documentation and reorganize each headers(apply the above rule) * [x] - Fix some broken code block in several docs * [x] - Apply TOC to `r.md` (Currently R docs has some duplicated info since [this one](https://github.com/apache/zeppelin/commit/d5e87fb8ba98f08db5b0a4995104ce19f182c678) and [this one](https://github.com/apache/zeppelin/commit/7d6cc7e99154e2d337c11fdf8be1a874ed3e9ada) ) * [x] - Apply TOC to `install.md` after #1010 merged * [x] - Apply TOC to `interpreterinstallation.md` after #1042 merged ### What is the Jira issue? [ZEPPELIN-1018](https://issues.apache.org/jira/browse/ZEPPELIN-1018) ### How should this be tested? 1. Apply this patch and build `docs/` with [this guide](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) 2. Visit some docs page. Then you can see TOC in the header of page. ### Screenshots (if appropriate) - Automatically generated TOC in Spark interpreter docs page <img width="831" alt="screen shot 2016-06-16 at 9 37 18 pm" src="https://cloud.githubusercontent.com/assets/10060731/16140902/945b9c7a-340a-11e6-91f3-b6174738bed0.png"> ### Questions: * Does the licenses files need update? No. Actually I used [jekyll-table-of-contents#copyright](https://github.com/ghiculescu/jekyll-table-of-contents#copyright). But I don't need to add a license for this :) * Is there breaking changes for older versions? No * Does this needs documentation? Maybe Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1031 from AhyoungRyu/ZEPPELIN-1018 and squashes the following commits: e66397b [AhyoungRyu] Apply TOC to interpreterinstallation.md 009579b [AhyoungRyu] Add more info to 'What is the next?' in install.md 04cf501 [AhyoungRyu] Revert 'where to start' section b7cbe5f [AhyoungRyu] Fix typo cf0911c [AhyoungRyu] Rename license file 388f35a [AhyoungRyu] Add jekyll-table-of-contents license info 6394c70 [AhyoungRyu] Fix image path in python.md d00e4b1 [AhyoungRyu] Move interpreter/screenshot/ -> asset/../img/docs-img/ 3ffb383 [AhyoungRyu] Remove duplicated info in r.md & apply toc a03ca99 [AhyoungRyu] Exclude toc.js from pom.xml 3fae7df [AhyoungRyu] Apply auto generated toc to install.md d114a9d [AhyoungRyu] Address @felixcheung feedback 6a788fe [AhyoungRyu] Resize TOC tab indent 6760c00 [AhyoungRyu] Apply auto TOC to all of docs under docs/storage/ fbde57f [AhyoungRyu] Apply auto TOC to all of docs under docs/quickstart/ db76eb6 [AhyoungRyu] Apply auto TOC to all of docs under docs/install/ f35db47 [AhyoungRyu] Apply auto TOC to all of docs under docs/displaysystem/ b05365f [AhyoungRyu] Apply auto TOC to all of docs under docs/rest-api/ 163691c [AhyoungRyu] Apply auto TOC to all of docs under docs/manual/ bef398e [AhyoungRyu] Apply auto TOC to all of docs under docs/development/ 9c5f76b [AhyoungRyu] Apply auto TOC to all of docs under docs/interpreter/ 587d4ba [AhyoungRyu] Apply auto TOC to all of docs under docs/security/ 1f10b97 [AhyoungRyu] Change toc configuration 78dca9e [AhyoungRyu] Add toc.js for auto generating TOC
2016-06-25 19:44:53 +00:00
> **NOTE :** On pre 1.3.13 version of NGINX, Proxy for Websocket may not fully works. Please use latest version of NGINX. See: [NGINX documentation](https://www.nginx.com/blog/websocket-nginx/).
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
1. Setup init script in NGINX
In most cases, NGINX configuration located under `/etc/nginx/sites-available`. Create your own configuration or add your existing configuration at `/etc/nginx/sites-available`.
```
$ cd /etc/nginx/sites-available
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
$ touch my-zeppelin-auth-setting
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
```
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
Now add this script into `my-zeppelin-auth-setting` file. You can comment out `optional` lines If you want serve Zeppelin under regular HTTP 80 Port.
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
```
upstream zeppelin {
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
server [YOUR-ZEPPELIN-SERVER-IP]:[YOUR-ZEPPELIN-SERVER-PORT]; # For security, It is highly recommended to make this address/port as non-public accessible
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
}
# Zeppelin Website
server {
listen [YOUR-ZEPPELIN-WEB-SERVER-PORT];
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
listen 443 ssl; # optional, to serve HTTPS connection
server_name [YOUR-ZEPPELIN-SERVER-HOST]; # for example: zeppelin.mycompany.com
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
ssl_certificate [PATH-TO-YOUR-CERT-FILE]; # optional, to serve HTTPS connection
ssl_certificate_key [PATH-TO-YOUR-CERT-KEY-FILE]; # optional, to serve HTTPS connection
if ($ssl_protocol = "") {
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
rewrite ^ https://$host$request_uri? permanent; # optional, to force use of HTTPS
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
}
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
location / { # For regular websever support
proxy_pass http://zeppelin;
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
location /ws { # For websocket support
proxy_pass http://zeppelin/ws;
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
```
Then make a symbolic link to this file from `/etc/nginx/sites-enabled/` to enable configuration above when NGINX reloads.
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
```
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
$ ln -s /etc/nginx/sites-enabled/my-zeppelin-auth-setting /etc/nginx/sites-available/my-zeppelin-auth-setting
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
```
1. Setup user credential into `.htpasswd` file and restart server
Now you need to setup `.htpasswd` file to serve list of authenticated user credentials for NGINX server.
```
$ cd /etc/nginx
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
$ htpasswd -c htpasswd [YOUR-ID]
$ NEW passwd: [YOUR-PASSWORD]
$ RE-type new passwd: [YOUR-PASSWORD-AGAIN]
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
```
Revise documentation about basic authentication ### What is this PR for? Revised documentation about nginx authentication after receive few comments about it. Especially for users who using old version of nginx (older than 1.3) facing websocket failures when using zeppelin after follow instructions. I put more information for those users to encourage use of latest version of nginx if possible + fix few grammars for readability. ### What type of PR is it? Documentation Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #877 from yoonjs2/nginx-auth-revised and squashes the following commits: 5c97838 [Jesang Yoon] Remove unused image files 3d48de4 [Jesang Yoon] Fix documentation to supply more information for help to setup basic auth with NGINX 7525167 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6a5a3c8 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 6d04fa7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 90219f7 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 35a6679 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-05-17 05:13:53 +00:00
Or you can use your own apache `.htpasswd` files in other location for setting up property: `auth_basic_user_file`
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
Restart NGINX server.
```
$ service nginx restart
```
Then check HTTP Basic Authentication works in browser. If you can see regular basic auth popup and then able to login with credential you entered into `.htpasswd` you are good to go.
1. More security consideration
* Using HTTPS connection with Basic Authentication is highly recommended since basic auth without encryption may expose your important credential information over the network.
[ZEPPELIN-1018] Apply auto "Table of Contents" generator to Zeppelin docs website ### What is this PR for? I added auto TOC(Table of Contents) generator for Zeppelin documentation website. TOC can help people looking through whole contents at a glance and finding what they want quickly. I just added `<div id="toc"></div>` to the each documentation header. [`toc`](https://github.com/apache/zeppelin/compare/master...AhyoungRyu:ZEPPELIN-1018?expand=1#diff-85af09fb498a5667ea455391533f945dR3) recognize `<h2>` & `<h3>` as a title in the docs and it automatically generate TOC. So I set a rule for this work. (I'll write this rule on `docs/CONTRIBUTING.md` or [docs/howtocontributewebsite](https://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/development/howtocontributewebsite.html)). ``` # Level-1 Heading <- Use only for the main title of the page ## Level-2 Heading <- Start with this one ### Level-3 heading <- Only use this one for child of Level-2 toc only recognize Level-2 & Level-3 ``` Please see the below attached screenshot image. ### What type of PR is it? Improvement & Documentation ### Todos * [x] - Add TOC generator * [x] - Apply TOC(`<div id="toc"></div>`) to every documentation and reorganize each headers(apply the above rule) * [x] - Fix some broken code block in several docs * [x] - Apply TOC to `r.md` (Currently R docs has some duplicated info since [this one](https://github.com/apache/zeppelin/commit/d5e87fb8ba98f08db5b0a4995104ce19f182c678) and [this one](https://github.com/apache/zeppelin/commit/7d6cc7e99154e2d337c11fdf8be1a874ed3e9ada) ) * [x] - Apply TOC to `install.md` after #1010 merged * [x] - Apply TOC to `interpreterinstallation.md` after #1042 merged ### What is the Jira issue? [ZEPPELIN-1018](https://issues.apache.org/jira/browse/ZEPPELIN-1018) ### How should this be tested? 1. Apply this patch and build `docs/` with [this guide](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) 2. Visit some docs page. Then you can see TOC in the header of page. ### Screenshots (if appropriate) - Automatically generated TOC in Spark interpreter docs page <img width="831" alt="screen shot 2016-06-16 at 9 37 18 pm" src="https://cloud.githubusercontent.com/assets/10060731/16140902/945b9c7a-340a-11e6-91f3-b6174738bed0.png"> ### Questions: * Does the licenses files need update? No. Actually I used [jekyll-table-of-contents#copyright](https://github.com/ghiculescu/jekyll-table-of-contents#copyright). But I don't need to add a license for this :) * Is there breaking changes for older versions? No * Does this needs documentation? Maybe Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1031 from AhyoungRyu/ZEPPELIN-1018 and squashes the following commits: e66397b [AhyoungRyu] Apply TOC to interpreterinstallation.md 009579b [AhyoungRyu] Add more info to 'What is the next?' in install.md 04cf501 [AhyoungRyu] Revert 'where to start' section b7cbe5f [AhyoungRyu] Fix typo cf0911c [AhyoungRyu] Rename license file 388f35a [AhyoungRyu] Add jekyll-table-of-contents license info 6394c70 [AhyoungRyu] Fix image path in python.md d00e4b1 [AhyoungRyu] Move interpreter/screenshot/ -> asset/../img/docs-img/ 3ffb383 [AhyoungRyu] Remove duplicated info in r.md & apply toc a03ca99 [AhyoungRyu] Exclude toc.js from pom.xml 3fae7df [AhyoungRyu] Apply auto generated toc to install.md d114a9d [AhyoungRyu] Address @felixcheung feedback 6a788fe [AhyoungRyu] Resize TOC tab indent 6760c00 [AhyoungRyu] Apply auto TOC to all of docs under docs/storage/ fbde57f [AhyoungRyu] Apply auto TOC to all of docs under docs/quickstart/ db76eb6 [AhyoungRyu] Apply auto TOC to all of docs under docs/install/ f35db47 [AhyoungRyu] Apply auto TOC to all of docs under docs/displaysystem/ b05365f [AhyoungRyu] Apply auto TOC to all of docs under docs/rest-api/ 163691c [AhyoungRyu] Apply auto TOC to all of docs under docs/manual/ bef398e [AhyoungRyu] Apply auto TOC to all of docs under docs/development/ 9c5f76b [AhyoungRyu] Apply auto TOC to all of docs under docs/interpreter/ 587d4ba [AhyoungRyu] Apply auto TOC to all of docs under docs/security/ 1f10b97 [AhyoungRyu] Change toc configuration 78dca9e [AhyoungRyu] Add toc.js for auto generating TOC
2016-06-25 19:44:53 +00:00
* Using [Shiro Security feature built-into Zeppelin](./shiroauthentication.html) is recommended if you prefer all-in-one solution for authentication but NGINX may provides ad-hoc solution for re-use authentication served by your system's NGINX server or in case of you need to separate authentication from zeppelin server.
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
* It is recommended to isolate direct connection to Zeppelin server from public internet or external services to secure your zeppelin instance from unexpected attack or problems caused by public zone.
[ZEPPELIN-1018] Apply auto "Table of Contents" generator to Zeppelin docs website ### What is this PR for? I added auto TOC(Table of Contents) generator for Zeppelin documentation website. TOC can help people looking through whole contents at a glance and finding what they want quickly. I just added `<div id="toc"></div>` to the each documentation header. [`toc`](https://github.com/apache/zeppelin/compare/master...AhyoungRyu:ZEPPELIN-1018?expand=1#diff-85af09fb498a5667ea455391533f945dR3) recognize `<h2>` & `<h3>` as a title in the docs and it automatically generate TOC. So I set a rule for this work. (I'll write this rule on `docs/CONTRIBUTING.md` or [docs/howtocontributewebsite](https://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/development/howtocontributewebsite.html)). ``` # Level-1 Heading <- Use only for the main title of the page ## Level-2 Heading <- Start with this one ### Level-3 heading <- Only use this one for child of Level-2 toc only recognize Level-2 & Level-3 ``` Please see the below attached screenshot image. ### What type of PR is it? Improvement & Documentation ### Todos * [x] - Add TOC generator * [x] - Apply TOC(`<div id="toc"></div>`) to every documentation and reorganize each headers(apply the above rule) * [x] - Fix some broken code block in several docs * [x] - Apply TOC to `r.md` (Currently R docs has some duplicated info since [this one](https://github.com/apache/zeppelin/commit/d5e87fb8ba98f08db5b0a4995104ce19f182c678) and [this one](https://github.com/apache/zeppelin/commit/7d6cc7e99154e2d337c11fdf8be1a874ed3e9ada) ) * [x] - Apply TOC to `install.md` after #1010 merged * [x] - Apply TOC to `interpreterinstallation.md` after #1042 merged ### What is the Jira issue? [ZEPPELIN-1018](https://issues.apache.org/jira/browse/ZEPPELIN-1018) ### How should this be tested? 1. Apply this patch and build `docs/` with [this guide](https://github.com/apache/zeppelin/tree/master/docs#build-documentation) 2. Visit some docs page. Then you can see TOC in the header of page. ### Screenshots (if appropriate) - Automatically generated TOC in Spark interpreter docs page <img width="831" alt="screen shot 2016-06-16 at 9 37 18 pm" src="https://cloud.githubusercontent.com/assets/10060731/16140902/945b9c7a-340a-11e6-91f3-b6174738bed0.png"> ### Questions: * Does the licenses files need update? No. Actually I used [jekyll-table-of-contents#copyright](https://github.com/ghiculescu/jekyll-table-of-contents#copyright). But I don't need to add a license for this :) * Is there breaking changes for older versions? No * Does this needs documentation? Maybe Author: AhyoungRyu <fbdkdud93@hanmail.net> Closes #1031 from AhyoungRyu/ZEPPELIN-1018 and squashes the following commits: e66397b [AhyoungRyu] Apply TOC to interpreterinstallation.md 009579b [AhyoungRyu] Add more info to 'What is the next?' in install.md 04cf501 [AhyoungRyu] Revert 'where to start' section b7cbe5f [AhyoungRyu] Fix typo cf0911c [AhyoungRyu] Rename license file 388f35a [AhyoungRyu] Add jekyll-table-of-contents license info 6394c70 [AhyoungRyu] Fix image path in python.md d00e4b1 [AhyoungRyu] Move interpreter/screenshot/ -> asset/../img/docs-img/ 3ffb383 [AhyoungRyu] Remove duplicated info in r.md & apply toc a03ca99 [AhyoungRyu] Exclude toc.js from pom.xml 3fae7df [AhyoungRyu] Apply auto generated toc to install.md d114a9d [AhyoungRyu] Address @felixcheung feedback 6a788fe [AhyoungRyu] Resize TOC tab indent 6760c00 [AhyoungRyu] Apply auto TOC to all of docs under docs/storage/ fbde57f [AhyoungRyu] Apply auto TOC to all of docs under docs/quickstart/ db76eb6 [AhyoungRyu] Apply auto TOC to all of docs under docs/install/ f35db47 [AhyoungRyu] Apply auto TOC to all of docs under docs/displaysystem/ b05365f [AhyoungRyu] Apply auto TOC to all of docs under docs/rest-api/ 163691c [AhyoungRyu] Apply auto TOC to all of docs under docs/manual/ bef398e [AhyoungRyu] Apply auto TOC to all of docs under docs/development/ 9c5f76b [AhyoungRyu] Apply auto TOC to all of docs under docs/interpreter/ 587d4ba [AhyoungRyu] Apply auto TOC to all of docs under docs/security/ 1f10b97 [AhyoungRyu] Change toc configuration 78dca9e [AhyoungRyu] Add toc.js for auto generating TOC
2016-06-25 19:44:53 +00:00
## Another option
Add documentation about setup HTTP basic auth via NGINX ### What is this PR for? Provide a guide to setup basic authentication using NGINX with detailed instruction for users who wants to use NGINX as a separate authentication server. Shiro Security is preferred way to provide a basic authentication for future releases, but we may need to provide a way to workaround when user need other options. ### What type of PR is it? Documentation ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jesang Yoon <yoonjs2@kanizsalab.com> Closes #775 from yoonjs2/add-nginx-auth-documentation and squashes the following commits: 54b8970 [Jesang Yoon] Fix reference url about Shiro security to https://github.com/apache/incubator-zeppelin/blob/master/SECURITY-README.md in document fe0f616 [Jesang Yoon] Merge branch 'master' of https://github.com/apache/incubator-zeppelin into add-nginx-auth-documentation 10f339d [Jesang Yoon] Fix server port naming 4b2223a [Jesang Yoon] Make path to cert and key for HTTPS Ambigious aac4cd4 [Jesang Yoon] Add documentation for explaining enable HTTP basic authentication served by NGINX 3d9e5b3 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' eba0315 [Jesang Yoon] Merge remote-tracking branch 'upstream/master' db8b4da [Jesang Yoon] Merge remote-tracking branch 'upstream/master' 781954b [Jesang Yoon] Interpreter documentation merge with commit #578 af55811 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 079480f [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5f0a6e0 [Jesang Yoon] Merge remote-tracking branch 'origin/master' 4d1503a [Jesang Yoon] Merge remote-tracking branch 'origin/master' 5b091e4 [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces. 5665dcf [Jesang Yoon] Fix wrong HTML tags, indention and space between paragraph and tables. Remove unnecessary spaces.
2016-03-15 01:57:08 +00:00
Notebook Authorization ### What is this PR for? The goal of the PR is to add authorization for notebooks according to the design document [here] (https://gist.github.com/prasadwagle/712b7ca1e0f1f4f1aa20). The PR uses Shiro authentication. ### What type of PR is it? Feature ### Todos * [x] - Find way to get roles for a user in SecurityUtils (Not possible at the moment, see SHIRO-492) * [x] - Investigate how to use Shiro authorization * [x] - Use groups associated with user to determine if operation is permitted * [x] - Check if user has permissions to modify note permissions * [x] - Add checks in more NotebookServer operations * [x] - Improve UI (explain permissions, error messages) * [x] - Add unit tests * [x] - Documentation ### Is there a relevant Jira issue? ZEPPELIN-549 ### How should this be tested? 1. Enable Basic Auth Security by changing conf/shiro.ini. 1. Create a note. By default all operations are allowed by any authenticated user. 1. Update readers, writers and owners by clicking on the lock icon in the top right area. 1. Check if users can or cannot perform operations according to the permissions. ### Screenshots (if appropriate) ![Screenshot](https://cloud.githubusercontent.com/assets/870829/12711820/c70fa336-c877-11e5-84e8-e282231988b2.gif) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Prasad Wagle <pwagle@twitter.com> Closes #681 from prasadwagle/notebook_authorization and squashes the following commits: e7cffd8 [Prasad Wagle] Restore anon default in shiro.ini 24e8de4 [Prasad Wagle] Remove duplicate imports 29ebf48 [Prasad Wagle] Merge with master 52f4914 [Prasad Wagle] Check whether roles is non-empty before adding to userAndRoles 733530f [Prasad Wagle] Minor doc fix 28ea697 [Prasad Wagle] Fixed issues with security documentation reported by @AhyoungRyu 1ac076e [Prasad Wagle] Fixed typo in _navigation.html and updated interpreter_authorization.md 6c89dbe [Prasad Wagle] Implement Moon's suggestions on note permissions background and wildcard placeholder 2554315 [Prasad Wagle] Use user and roles for checking note permissions 3a5e5c0 [Prasad Wagle] Check if user has permissions to modify note permissions fbbd04b [Prasad Wagle] Make insufficient privileges error message easier to read 06c5e07 [Prasad Wagle] Update navigation.html for security docs 6b9e274 [Prasad Wagle] Add unit test for note permissions a8d0ecb [Prasad Wagle] Add security documentation 6e85730 [Prasad Wagle] Notebook Authorization
2016-02-26 00:54:47 +00:00
Another option is to have an authentication server that can verify user credentials in an LDAP server.
If an incoming request to the Zeppelin server does not have a cookie with user information encrypted with the authentication server public key, the user
is redirected to the authentication server. Once the user is verified, the authentication server redirects the browser to a specific URL in the Zeppelin server which sets the authentication cookie in the browser.
The end result is that all requests to the Zeppelin web server have the authentication cookie which contains user and groups information.