gpt4 book ai didi

kubernetes - 通过 RBAC 限制对 Kubernetes secret 的访问

转载 作者:行者123 更新时间:2023-12-05 00:11:55 25 4
gpt4 key购买 nike

我已经设置了 Kubernetes secret 。

kubectl create secret generic mysecret --from-file=mysecret=/home/ubuntu/secret.txt

并且可以使用相同的 kubectl 将这个 secret 转换为明文命令:
kubectl get secret mysecret -o yaml
# and base64 decode

如何限制对这个 secret 的访问?我只想要某些 pod,并且只有我作为运算符(operator)才能访问这个 secret 。

最佳答案

好的,所以您需要定义一个(集群)角色,然后将其绑定(bind)到您(== 人类用户是目标实体)和/或服务帐户(== 应用程序是目标实体),然后 use in the pod而不是 default一。

各自的secretadmin角色(或选择您喜欢的任何名称)看起来像这样(根据需要改变动词):

$ kubectl create clusterrole secretadmin \
--verb=get --verb=list --verb=create --verb=update \
--resource=secret \
--namespace=mysuperproject

定义角色后,您可以将其附加(或:绑定(bind))到某个实体。让我们看一下服务帐户的案例(类似于人类用户,只是更简单)。所以首先我们需要创建服务帐户,这里称为 thepowerfulapp然后您将在部署/pod/whatever 中使用它:
$ kubectl -n mysuperproject create sa thepowerfulapp

现在是时候将所有内容与以下称为 canadminsecret 的绑定(bind)绑定(bind)在一起了。
$ kubectl create clusterrolebinding canadminsecret \
--role=secretadmin \
--serviceaccount=mysuperproject:thepowerfulapp \
--namespace=mysuperproject

关于kubernetes - 通过 RBAC 限制对 Kubernetes secret 的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52268462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com