为了账号安全,请及时绑定邮箱和手机立即绑定

Consul ACL访问控制列表配置

标签:
深度学习

简介

Consul有多个组件,但是整体上,consul通常作为服务发现工具来使用。
Consul主要由以下特点:

  • 服务发现

  • 健康检查

  • KV存储

  • 多数据中心

Consul一般与zookeeper,serf,eureka等软件做对比,具体差异可以参考文档

这里我主要记录下Consul ACL的配置与使用。ACL是Consul用来控制访问API与data的。

过程

  1. 编辑consul server配置文件,保存为acl.json.
    注意:consul配置文件一般为json格式,不要保存为conf后缀。

{
    "acl_datacenter": "dc1",    
    "acl_master_token": "p2BE1AtpwPbrxZdC6k+eXA==",    
    "acl_default_policy": "deny",    
    "acl_down_policy": "extend-cache"
}
  1. 启动server端

consul agent -config-dir=/home/data/consul -server -data-dir=/home/data/consul/ -bind=192.168.8.250 -client=0.0.0.0 -dev

这个时候加入server的代理如果没有配置ack,则会看到下面的sync失败信息

  ......
    2018/01/10 11:27:46 [ERR] consul: "Catalog.Register" RPC failed to server 192.168.8.250:8300: rpc error making call: Permission denied
    2018/01/10 11:27:46 [WARN] agent: Node info update blocked by ACLs
    2018/01/10 11:27:49 [ERR] consul: "Catalog.Register" RPC failed to server 192.168.8.250:8300: rpc error making call: Permission denied
    2018/01/10 11:27:49 [WARN] agent: Node info update blocked by ACLs
  1. 创建代理的Token。


    1000

    请求头部设置

1000

创建代理Token

3.1 直接使用Curl也可以

curl \
    --request PUT \
    --header "X-Consul-Token: p2BE1AtpwPbrxZdC6k+eXA==" \
    --data \
'{
  "Name": "Agent Token",
  "Type": "client",
  "Rules": "node \"\" { policy = \"write\" } service \"\" { policy = \"read\" }"
}' http://127.0.0.1:8500/v1/acl/create
  1. 在consult server主机上配置第三步获取的agent token。
    首先在server端更新agent-token。

在consul 0.9版本以后,不用在配置文件操作,直接通过API进行设置

头部与上面一样


1000

设置acl-agent-token

  1. 代理端配置启用acl

{ 
 "acl_datacenter": "dc1",  
 "acl_down_policy": "extend-cache",  
 "acl_agent_token": "6cbfdcff-d3e7-4109-9fa8-ba185e8f7b48"
}
  1. 启动agent

consul agent -join=192.168.8.250 -ui -bind=192.168.8.141 -config-dir=/Users/aihe/Desktop/Songshu/conf/consul/consul-client -data-dir=/Users/aihe/Desktop/Songshu/conf/consul/

1000

设置界面token

1000

Consul UI界面

可以在界面进行一些操作。

7。 额外的一些访问控制可参考官方文档

总结

介绍了Consul ACL的基本使用方式。

参考


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.1万
获赞与收藏
1544

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消