问题标签 [kubernetes-rbac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - Kubernetes 用户无法在命名空间中列出“pod”
我正在尝试将 AWS IAM 角色(联合)映射到 EKS RBAC,尝试按照本教程进行操作,但仍然出现错误
我是否需要为名为“开发者”的用户创建 RBAC 并映射所有权限?如果是这样,那么正确的做法是什么?
我已经使用 kubectl krew 安装了 rakkess,如果我使用 AWS 安全短期凭证进行尝试,我会得到以下信息:
谢谢,德米特里
kubernetes - Kubernetes 从端点 REST API 拉取信息
我尝试创建一个具有权限的服务帐户,以获取有关端点 pod IP 的信息并恢复权限问题。
创建服务帐户并为其授予正确的权限:
将此 sa 添加到部署 YAML 文件中:
我声明了 pod 并登录到它 (ssh)。现在我想运行一个 REST 调用来提取信息:
我做错了什么?
kubernetes - AWS EKS 服务账户集群角色绑定无法正常访问禁止访问
我正面临 AWS EKS 集群角色的问题,看起来绑定到服务帐户无法正常工作。
服务帐号
集群角色
集群角色绑定
集群服务器版本:v1.17.6-eks-4e7f64
Python 客户端尝试使用 kubernetes==11.0.0 以及 kubernetes==9.0.0 和 10。对 pod 和其他基础资源执行操作正常。代码:
错误日志:
还列出失败的部署:
非常感谢任何帮助,我真的被困住了。
kubernetes - Minikube:尝试创建特权容器时,受限 PodSecurityPolicy 不受限制
我在 minikube 中启用了 podsecuritypolicy。默认情况下,它创建了两个 psp - 特权和受限。
我还创建了一个 linux 用户 - kubexz,为此我创建了 ClusterRole 和 RoleBinding 来限制仅管理 kubexz 命名空间上的 pod,并使用受限 psp。
我已经在我的 kubexz 用户 $HOME/.kube 中设置了 kubeconfig 文件。RBAC 工作正常 - 从 kubexz 用户,我只能按预期在 kubexz 命名空间中创建和管理 pod 资源。
但是,当我使用 发布 pod 清单时securityContext.privileged: true
,受限的 podsecuritypolicy 并没有阻止我创建该 pod。我应该无法创建具有特权容器的 pod。但是 pod 正在创建中。不知道我错过了什么
kubernetes - 支持“推出撤消”需要哪些角色权限?
我正在尝试为我们的 CI/CD 服务器设置一个角色,该角色可以支持回滚失败的部署。当前权限用于更新部署和相关资源并监视它们的状态,但是当我尝试以 CI 用户身份运行例如“kubectl rollout undo deployment/admin”时,我收到错误:
错误:无法从部署管理员检索副本集:replisets.apps 被禁止:用户“ci-admin”无法在命名空间“acceptance”中的 API 组“apps”中列出资源“replicasets”
这是最初的角色配置:
我尝试添加获取和列出副本集的权限以解决该错误:
但我仍然遇到与以前相同的错误。
Kubernetes 文档根本没有帮助,因为似乎没有任何给定命令所需权限的完整列表。只有少数几个例子。
谁能告诉回滚需要什么权限?
kubernetes - 如何从 POD A 执行 shell 脚本到另一个 POD B
我有两个在 kubernetes 集群内运行的 pod。豆荚如下
- mongodb pod 类型:StatefulSet
- 脚本 pod 类型:Job
从script pod
我正在运行要在mongodb pod
.
bash 脚本包含以下代码,这些代码执行到 mongodb pod 并执行以下命令。
但是当我运行时script pod
,出现以下错误
我应该怎么做才能为script pod
在 mongodb pod 中运行上述命令提供权限?
所以就像你说的,我创建了另一个 pod,它是 kind:job 并包含 script.sh。
在 script.sh 文件中,我对主 pod 运行“kubectl exec”以运行一些命令
脚本被执行,但我收到错误“无法在 API 组中创建资源“pods/exec”
所以我创建了一个带有资源的集群角色: ["pods/exec"] 并使用 ClusterRoleBinding 将其绑定到默认服务帐户
kubernetes - “更新”Kubernetes RBAC 权限有什么作用?
我终生无法找到所有 Kubernetes RBAC 动词作用的详细表格。我看到人们推荐的唯一资源是这个资源,这是严重不足的。
所以我一直在通过实验来解决它。
到目前为止,大多数都相当简单,除了UPDATE
. 这似乎无法做任何我期望的事情。
权限我给了我的别名:命名空间中的
[ ]上的 [ GET
, ] 。UPDATE
deployments
default
我尝试过的事情:
kubectl set image deployment/hello-node echoserver=digitalocean/flask-helloworld --as user
kubectl edit deploy hello-node --as user
kubectl apply -f hello-node.yaml --as eks-user
这些都因错误而失败:deployments.apps "hello-node" is forbidden: User "user" cannot patch resource "deployments" in API group "apps" in the namespace "default"
然后我尝试了一些推出命令,例如:
k rollout undo deploy hello-node --as user
但他们失败了,因为我没有副本集访问权限。
TLDR: Kubernetes RBACupdate
动词的意义何在?
就此而言,是否有人拥有所有 RBAC 动词的更详细列表?
kubernetes - 如何限制对 POD 中特定机密的访问(POD 应该只访问给定应用程序使用的特定机密)
我想从 POD 访问特定的秘密,我不希望 POD 可以访问其他秘密(不需要)。
我创建了一个无法访问机密的服务帐户(甚至没有“获取”)。
期望:我已将此服务帐户分配给 POD,因此 POD 应该抱怨或由于无法访问密钥而无法启动。
但令我惊讶的是,该 pod 是从读取一个秘密作为 env vars 开始的。好迷茫,帮帮我。
我不知道我在这里做错了什么。
kubernetes - AWS EKS 集群的“集群创建者”用户如何映射到“system:masters”RBAC 组?
我试图了解如何为在 AWS 中创建 EKS 集群的第一个用户管理 RBAC 授权。
或者换句话说:集群创建者如何映射到 RBAC 中的“system:masters”组?
我知道该文档指出:“当您创建 Amazon EKS 集群时,IAM 实体用户或角色(例如创建集群的联合身份用户)会在集群的 RBAC 配置中自动获得 system:masters 权限。”
而且我了解 clusterrole cluster-admin和 clusterrolebinding cluster-admin如何向“system:masters”组的任何成员授予完整的管理员权限。
我无法弄清楚集群创建者用户如何/在哪里映射到该组?(文档的“自动授予”部分)
PS:我知道要添加额外的用户/角色,我应该使用 aws-auth configmap,但是这里没有定义第一个用户并且仍然可以访问集群。
如果有人可以启发我吗?
提前致谢!
作为记录,我使用的是 kubernetes 1.18 EKS 集群,该集群是通过社区模块使用 terraform 构建的:
kubernetes - 正确使用 Role.rules.resourceNames 来创建对资源的访问受限的 pod
我正在尝试创建一个能够使用Role.rules.resourceNames
. 我能够从 pod 中对 API 执行资源获取请求,但我无法创建资源,而是获取
如果我删除该resourceNames
属性,我可以创建 configmap,但我不一定希望这个 pod 能够随意创建和更新 configmap。如何限制 serviceAccount 的角色,以便这个 pod 只能操作命名的 configmap aaa
?
我在 kubernetes slack 中得到了一些帮助(谢谢你,Alan)。RBAC 发生在 URL 级别,因此资源名称受限的授权不能用于创建 URL,因为 URL 中没有资源名称!