Consul中文文档—Consul启用ACL

翻译自: Secure Consul with Access Control Lists (ACLs)
转载请注明🙂,喜欢请一键三连哦 😊
Consul ACL

前言

Consul通过ACLS 来确保安全的访问 UI, API, CLI, servie 通信,Agent通信。

如果想要确保数据中心安全,你应该首先配置ACLS。

ACL核心原理是,将规则分组为策略, 然后一个或多个策略于令牌关联。

启用ACL系统分为两步, 开启ACL创建令牌(Token)

Consul ACL 引导

启用ACL

default_plolicy: 默认策略, deny标识默认拒绝所有操作, allow标识默认允许所有操作。
enable_token_persistence :持久化到磁盘,重启时重新加载。

acl = {
  enabled = true
  default_policy = "deny"
  enable_token_persistence = true
}

PS: docker 启用ACL方式如下:


docker run -d -p 8500:8500  --name=consul-server1 consul agent -server -bind='172.17.0.2'  -bootstrap=true -node='172.17.0.2' -client='0.0.0.0' -ui -hcl=' acl { enabled = true
	enable_token_persistence = true 
	default_policy = \"deny\"  
}'

初始化ACL Tocken

创建初始令牌—— 内置策略(全局管理),相当于管理员令牌,可以授予一部份管理员全局访问权限。

执行如下命令:


consul acl bootstrap

或通过 HTTP API:

curl \
    --request PUT \
    http://127.0.0.1:8500/v1/acl/bootstrap

Response:

AccessorID:       42542b87-de2a-7173-2ce3-f96ef41dbf01
SecretID:         477cf0a8-0d69-5551-7313-db40a33ae78f
Description:      Bootstrap Token (Global Management)
Local:            false
Create Time:      2020-12-15 02:30:39.804724128 +0000 UTC
Policies:
   00000000-0000-0000-0000-000000000001 - global-management

ACL启动后,会创建全局的管理的内置策略, 相当于管理员最高权限, SecretID即为 global-management策略的Token.

到这里, Consul ACL 系统就已经启动了。

验证

此时,执行 HTTP请求 或 CLI命令,会发现返回结果为[], 或直接返回权限不足403。访问UI界面,此时需要登陆才能观测到数据。

X-Consul-Token 添加至Header, 或设置 CONSUL_HTTP_TOKEN 环境变量, VALUE为 Policy的Secret ID,此时将返回正确解决结果。 鉴权可参考: Consul HTTP API-Authentication

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值