为 Nomad 客户端启用 ACL 的目的

问题描述

通过为集群上的所有 Nomad 服务器 设置 acl.enabled = true,我们已成功启用了 Nomad 集群上的 ACL 子系统。 ACL 似乎按预期工作,无需为集群上的 Nomad 客户端设置 acl.enabled = true

Nomad ACL docs 确实提到在 Nomad 客户端上启用 ACL:

要强制执行客户端端点,您还需要在客户端上启用 ACL。通过将 acl 节的启用值设置为 true 来执行此操作。完成后,重新启动客户端以读取新配置。

然而,我们所看到的是,从客户端(没有 acl.enabled = true)运行的 Nomad CLI 命令仍然如预期的那样受到 403(权限被拒绝)的限制。

由于我们的集群有很多客户端,如果我们不必为每个客户端显式启用 ACL 会节省我们的时间。

总而言之 - 我们想知道是否绝对需要 Nomad 客户端也更新其配置以启用 ACL,即使 ACL 子系统似乎已经通过在 Nomad 服务器上启用 ACL 来工作。

解决方法

如果您的所有游牧系统都在 100% 受信任的系统上,并且网络上的任何人都可以提交作业等,那么您就可以了……那么您就不需要 ACL。

如果您对此不满意,无论出于何种原因,那么您必须通过 ACL 歌舞并使其发挥作用。如果您还使用保险柜,则可以将两者集成,让您的生活更轻松,请参阅: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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...