amazon-web-services - 没有在领事中启用 ACL

标签 amazon-web-services consul

我在单个实例上设置了领事。 web-ui运行完美,但 ACL 未启用。以前我没有任何配置文件,但现在我创建了一个 config.json文件在 /etc/consul.d/bootstrap/与以下内容。

{
    "bootstrap": true,
    "server": true,
    "datacenter": "dc1",
    "acl_datacenter": "dc1",
    "data_dir": "/var/consul",
    "encrypt": "consul keygen output",
    "ca_file": "/etc/consul.d/ssl/ca.cert",
    "cert_file": "/etc/consul.d/ssl/consul.cert",
    "key_file": "/etc/consul.d/ssl/consul.key",
    "verify_incoming": true,
    "verify_outgoing": true,
    "log_level": "INFO",
    "enable_syslog": true
}

比我运行以下命令

consul agent -server -bootstrap -data-dir /tmp/consul -ui-dir /home/ubuntu/dist/ -client=X.X.X.X



在哪里 X.X.X.X是我的实例的私有(private) ip

但是 ACL 没有启用。

/etc/consul.d/server/config.json


{
    "bootstrap": false,
    "server": false,
    "log_level": "DEBUG",
    "enable_syslog": true,
    "datacenter": "dc1",
    "data_dir": "/var/consul",
    "ui_dir": "/home/ubuntu/dist",
    "acl_datacenter": "dc1"
    "encrypt": "SECRET"
}

/etc/consul.d/server/config.json


{
    "bootstrap": false,
    "server": true,
    "log_level": "DEBUG",
    "enable_syslog": true,
    "datacenter": "dc1",
    "data_dir": "/var/consul",
    "acl_datacenter": "dc1",
    "acl_default_policy": "allow",
    "encrypt": "SECRET"
}

工作配置文件
{
    "bootstrap": true,
    "server": true,
    "log_level": "DEBUG",
    "enable_syslog": true,
    "datacenter": "dc1",
    "addresses" : {
      "http": "X.X.X.X"
    },
    "bind_addr": "X.X.X.X",
    "node_name": "X.X.X.X",
    "data_dir": "/tmp/consul",
    "ui_dir": "~/dist",
    "acl_datacenter": "dc1",
    "acl_master_token": "secret",
    "encrypt": "secret"
}

现在运行以下命令
consul agent -config-dir ~/server -ui-dir ~/dist -bootstrap true -client=X.X.X.X

最佳答案

您的配置中缺少主 token 。如果你添加这个,
"acl_master_token": "secret" ,并在您的 UI 中使用相同的 token ,您应该能够使用 ACL。

注意:如果您使用的是单节点实例,请不要设置 acl_token属性与您的主 token 相同。这意味着任何有权访问 UI 的人都可以访问 master token ,基本上绕过了所有的 ACL 规则。此属性只能在服务器节点上设置。

让它运行良好后,我创建了一个截屏视频来演示如何设置 consul在单个服务器上。 Here is the link

关于amazon-web-services - 没有在领事中启用 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33345310/

相关文章:

Consul 健康检查脚本未在 UI 上显示输出

docker - 为什么领事健康检查会返回一个空数组?

java - Spring Boot不使用consul属性

amazon-web-services - 使用 InstanceProfileCredentialsProvider 是否是从 Ec2 实例连接到 AWS S3 的正确方法?

amazon-web-services - 如何在Pulumi中实现共享资源

amazon-web-services - 将 AWS Codestar 项目作为代码完成?

ubuntu - docker 群 : How to manually set node names?

HTTP 请求不适用于 aws ec2

security - 阻止 Elastic Load Balancer 泄露内部私有(private) IP

spring-boot - 使用 HashiCorp Consul 和 Spring Boot 进行分布式配置