Apache Zeppelin设置访问登录

Apache Zeppelin启动默认是匿名(anonymous)模式登录的,也就是任何人都可以访问,这个可以在/zeppelin/conf下的zeppelin-site.xml中看到:

<property>  
  <name>zeppelin.anonymous.allowed</name>  
  <value>true</value>  
  <description>Anonymous user allowed by default</description>  
</property>  

description中写道Anonymous user allowed by default(匿名用户默认被允许),这样我们访问我们安装的zepplin界面里是这样的:



右上角显示anonymous表示匿名模式。

修改配置让zeppelin拥有验证登录的功能

  1. 修改/zeppelin/conf/zeppelin-site.xml文件选项zeppelin.anonymous.allowed的value为false,表示不允许匿名访问:
<property>
  <name>zeppelin.anonymous.allowed</name>
  <value>false</value>
  <description>Anonymous user allowed by default</description>
</property>
  1. 修改/zeppelin/conf/shiro.ini文件,显然zeppelin采用了shiro作为他的验证登录权限控制框架,那么我们需要对shiro有一些了解,我们去看该文件的最后几行:
[urls]
/api/version = anon
#/api/interpreter/** = authc, roles[admin]
#/api/configurations/** = authc, roles[admin]
#/api/credential/** = authc, roles[admin]
#/** = anon
/** = authc

显然是对localhost:8089/#/** 的进行验证,对/** 的不验证。
那我们就修改为对任何url访问都需要验证:把/** =anon修改为/**=authc。
这样重启zeppelin后访问我们的zeppelin主页就变成这个样子了:


看见右上角的Login按钮了吧?对的,你现在zeppelin已经需要登录才能继续访问了,可是满屏幕的去找也没找到注册的地方,那么我们通过什么账号来进行登录呢?继续修改zeppelin/conf/shiro.ini文件:

[users]  
# List of users with their password allowed to access Zeppelin.  
# To use a different strategy (LDAP / Database / ...) check the shiro doc at http://shiro.apache.org/configuration.html#Configuratio  
n-INISections  
admin = password1  
user1 = password2, role1, role2  
user2 = password3, role3  
user3 = password4, role2  

输入对应账号进入主页后选择一个你已经添加过的notebook进去然后去右上角看见有一把小锁:



会显示Note Permissions点击后出现上图所示可以填写该notebook的Owners(所有者)、Readers(只读用户)、Writers(读写用户),这样每一个notebook就可以归属于某一个具体的用户了,避免了多用户同时使用zeppelin可能造成的冲突。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。