Consul Key/value 在启用 acl 时不工作
Consul Key/value not working when acl enbled
当我将 Spring 微服务配置为启用 acl 时,consul 无法从 consul 读取 key/value。
“acl”:{
“启用”:真,
"default_policy":"拒绝",
“enable_token_persistence”:是的,
"down_policy": "扩展缓存",
“令牌”:{
“主人”:“72bef82a-5fdd-225e-5561-c07001492b22”
}
}
当 default_policy 允许我访问键值时。
我想确保default_policy拒绝。
请让我知道我在这里缺少什么?我需要任何政策吗?
您需要创建一个 ACL 策略来授予读取(和可选写入)所需 KV 路径的权限。例如:
# spring-cloud-consul-kv-policy.hcl
#
key_prefix "env/prod/app/springapp" {
# Grant read and write permissions for the specified prefix.
# Change to policy = 'read' if write is not needed.
policy = "write"
}
使用 consul acl policy create
创建策略。
consul acl policy create \
-name="SpringCloudAppPolicy" \
-description="ACL policy for my SpringCloud app" \
-rules=@spring-cloud-consul-kv-policy.hcl
然后创建一个令牌并使用consul acl token create
分配此策略的权限。
consul acl token create -policy-name="SpringCloudAppPolicy"
令牌的 Secret ID 必须设置为 spring.cloud.consul.config.acl-token
application property in in Spring Cloud Consul (see https://cloud.spring.io/spring-cloud-consul/reference/html/appendix.html) 的值。
执行这些步骤后,您的应用程序应该能够使用提供的 ACL 令牌从 Consul KV 存储中检索其配置。
我建议阅读 https://learn.hashicorp.com/tutorials/consul/access-control-setup-production 以获取有关使用 ACL 保护 Consul 的更多信息。
当我将 Spring 微服务配置为启用 acl 时,consul 无法从 consul 读取 key/value。
“acl”:{ “启用”:真, "default_policy":"拒绝", “enable_token_persistence”:是的, "down_policy": "扩展缓存", “令牌”:{ “主人”:“72bef82a-5fdd-225e-5561-c07001492b22” } }
当 default_policy 允许我访问键值时。
我想确保default_policy拒绝。
请让我知道我在这里缺少什么?我需要任何政策吗?
您需要创建一个 ACL 策略来授予读取(和可选写入)所需 KV 路径的权限。例如:
# spring-cloud-consul-kv-policy.hcl
#
key_prefix "env/prod/app/springapp" {
# Grant read and write permissions for the specified prefix.
# Change to policy = 'read' if write is not needed.
policy = "write"
}
使用 consul acl policy create
创建策略。
consul acl policy create \
-name="SpringCloudAppPolicy" \
-description="ACL policy for my SpringCloud app" \
-rules=@spring-cloud-consul-kv-policy.hcl
然后创建一个令牌并使用consul acl token create
分配此策略的权限。
consul acl token create -policy-name="SpringCloudAppPolicy"
令牌的 Secret ID 必须设置为 spring.cloud.consul.config.acl-token
application property in in Spring Cloud Consul (see https://cloud.spring.io/spring-cloud-consul/reference/html/appendix.html) 的值。
执行这些步骤后,您的应用程序应该能够使用提供的 ACL 令牌从 Consul KV 存储中检索其配置。
我建议阅读 https://learn.hashicorp.com/tutorials/consul/access-control-setup-production 以获取有关使用 ACL 保护 Consul 的更多信息。