小编Tin*_*naC的帖子

禁止访问:用户无法获取路径"/"(非匿名用户)

访问k8s api端点(FQDN:6443)时,成功检索将返回包含REST端点路径的JSON对象.我有一个用户被授予群集管理员权限,该权限能够与该端点成功交互.

我为另一个用户创建了一个证书,并在我的群集中授予了他们一组权限.我正在尝试纠正的错误:他们无法访问FQDN:6443,而是获得403,其中包含"用户无法获取路径/"的消息.无论我指定为FQDN:6443 /或FQDN:6443(没有尾部斜杠),我都会得到相同的行为.我已经检查了授予集群管理员角色用户的权限,但没有认识到这一差距.

其他行为:他们可以访问FQDN:6443/api,我没有明确授予它们,以及我明确授予的各种端点.我相信它们是通过系统的api端点:授予系统的发现角色:经过身份验证的组.此外,如果我尝试在没有证书的情况下与群集进行交互,我正确地被识别为匿名用户.如果我使用其用户名与我的角色绑定不匹配的证书与群集进行交互,我会获得除FQDN:6443端点之外的所有行为的预期行为.

kubernetes

8
推荐指数
1
解决办法
531
查看次数

自动将 imagePullSecrets 添加到 ServiceAccount

我们正在为 RBAC 使用 ServiceAccounts,因此有多个 SA 在起作用,以允许我们通过 RoleBindings 适当地调整访问。

我们还使用私有注册表,因此有 imagePullSecrets 用于从私有注册表中提取图像。我正在尝试提出一个解决方案,通过该解决方案,在命名空间内创建的所有 SA 将默认获取应用于添加到它们的默认 SA 的 imagePullSecrets 列表,以便当我们部署使用该服务的 Pod 时(通常是正确的)在 SA 之后),serviceAccount 已经配置为使用 imagePullSecrets 来检索图像。

有没有人设计出一种优雅的方法来处理这个问题?我确实检查了 pod 是否可以应用多个 serviceAccount - N 用于保存 imageSecrets,1 用于映射到 RBAC。和/或,有人可以提出另一种看待问题的方法吗?

[更新:澄清 - 挑战是跨多个服务帐户共享一组 imagePullSecrets,最好不需要明确地将它们添加到每个 ServiceAccount 定义中。私有注册表应被视为类似于 dockerhub:访问注册表的用户通常旨在能够拉取,然后使用用户信息来跟踪谁在拉取图像,并偶尔阻止用户拉取他们不应该访问的图像因为“这东西不是为了更广泛的消费”的原因。]

kubernetes

5
推荐指数
3
解决办法
5851
查看次数

标签 统计

kubernetes ×2