如何在配置文件中配置多个Consul ACL角色(不使用HTTP API)?

时间:2016-10-06 19:29:58

标签: acl consul

在Consul ACL Internals文档中,提供了示例配置,以便在HashiCorp配置语言和JSON中设置一些默认ACL规则。它看起来像这样:

{
  "key": {
    "": {
      "policy": "read"
    },
    "foo/": {
      "policy": "write"
    },
    "foo/private": {
      "policy": "deny"
    }
  },
  "service": {
      "": {
          "policy": "write"
      },
      "secure-": {
          "policy": "read"
      }
  },
  "event": {
    "": {
      "policy": "write"
    },
    "destroy-": {
      "policy": "deny"
    }
  },
  "query": {
    "": {
      "policy": "read"
    }
  },
  "keyring": "read",
  "operator": "read"
}

该文档仅说明了如何设置默认角色。

使用HTTP API,您可以通过将类似于此的JSON传递给创建端点来创建带有规则的角色令牌:

{
  "Name": "my-app-token",
  "Type": "client",
  "Rules": ""
}

但我希望能够在我的静态配置文件中设置它,以便在其相关策略中拥有多个角色。

我该怎么做?我只是添加名称,类型,角色和UUID吗?如果是的话,我在哪里/怎么做?

1 个答案:

答案 0 :(得分:0)

我已经通过Consul Google Groups页面了解到,根据用户的说法,ACL目前无法定义为静态配置文件,必须通过HTTP API进行配置:

  

目前无法直接插入ACL   Consul将读取的配置文件。 API是与ACL交互的主要方式。

(截至2015年10月10日)

https://groups.google.com/d/msg/consul-tool/fGuFTq0fvcU/f6-mwh4aCQAJ