问题描述
通过为集群上的所有 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