为 Nomad 客户端启用 ACL 的目的
Posted
技术标签:
【中文标题】为 Nomad 客户端启用 ACL 的目的【英文标题】:Purpose of enabling ACL for Nomad clients 【发布时间】:2021-06-23 14:54:36 【问题描述】:通过为集群上的所有 Nomad 服务器设置acl.enabled = true
,我们已经成功地在我们的 Nomad 集群上启用了 ACL 子系统。看起来 ACL 按预期工作,无需为集群上的 Nomad 客户端设置 acl.enabled = true
。
Nomad ACL docs 确实提到在 Nomad 客户端上启用 ACL:
要强制执行客户端端点,您还需要在客户端上启用 ACL。通过将 acl 节的启用值设置为 true 来执行此操作。完成后,重新启动客户端以读取新配置。
但是,我们看到的是,从客户端运行的 Nomad CLI 命令(没有acl.enabled = true
)仍然如预期的那样被 403(权限被拒绝)门控。
由于我们的集群有很多客户端,如果我们不必为每个客户端显式启用 ACL,将会节省我们的时间。
总而言之 - 我们想知道是否绝对需要更新 Nomad 客户端的配置以启用 ACL,即使 ACL 子系统似乎已经通过在 Nomad 服务器上启用 ACL 来工作。
【问题讨论】:
【参考方案1】:如果您所有的 nomad 系统都在 100% 受信任的系统上,并且网络上的任何人都可以提交作业等,那么您就不需要 ACL。
如果您对此不满意,无论出于何种原因,您都必须通过 ACL 歌舞并使其正常工作。如果你也使用 Vault,可以将两者整合,让你的生活更轻松,见:https://www.vaultproject.io/docs/secrets/nomad
也必须在客户端上启用 ACL,“要强制执行客户端端点,您还需要在客户端上启用 ACL。” - https://learn.hashicorp.com/tutorials/nomad/access-control-bootstrap?in=nomad/access-control#enable-acls-on-nomad-clients
【讨论】:
正如原帖中提到的,Nomad 客户端似乎已经受到 ACL 管理,只需在 Nomad 服务器上启用 ACL。例如,在 Nomad 客户端(没有acl.enabled = true
)上执行的 Nomad CLI 命令已经被 403(权限被拒绝)门控。为 Nomad 客户端设置 acl.enabled = true
会带来哪些额外的安全性?
啊,对不起,是的,您当然也应该在客户端上启用 acl.enabled = true。原因是,客户端有自己的 API 端点,它们也需要受到保护。每个文档:“要强制执行客户端端点,您还需要在客户端上启用 ACL。” - learn.hashicorp.com/tutorials/nomad/…以上是关于为 Nomad 客户端启用 ACL 的目的的主要内容,如果未能解决你的问题,请参考以下文章