gpt4 book ai didi

OpenShift:是否可以在两个不同的服务帐户中使用相同的 secret token ?

转载 作者:行者123 更新时间:2023-12-04 03:00:36 25 4
gpt4 key购买 nike

我正在尝试将两个不同的服务帐户设置为使用相同的 token ,这样当我这样做时:

oc get pods -n $PROJECT --server=$URL --token=$TOKEN

我将可以使用相同的 token 访问两个不同的命名空间...可能吗?

最佳答案

不可能用相同的 token 标识两个不同的服务帐户。该 token 有一个注解,kubernetes.io/service-account.name,用于标识它所属的服务帐户,例如以下标记映射到 serviceaccount1:

$ oc describe secret serviceaccount1-token-mwhh7 -n project1
Name: serviceaccount1-token-mwhh7
Namespace: project1
Labels: <none>
Annotations: kubernetes.io/service-account.name=serviceaccount1
kubernetes.io/service-account.uid=23f96072-342e-11e8-9218-fec13b217f77

Type: kubernetes.io/service-account-token

token 只能有一个这样的注释,因此它只能映射到一个服务帐户。这是有道理的,否则 OpenShift 将不知道在提供该 token 时使用哪个服务帐户。

也就是说,您应该能够为一个命名空间中的服务帐户授予查看/编辑另一个项目的权限。

例如,如果我们创建 2 个项目:

oc new-project project1
oc new-project project2

每个服务帐户:

oc create sa serviceaccount1 -n project1
oc create sa serviceaccount2 -n project2

然后授予project2中的serviceaccount2查看project1的权限:

oc policy add-role-to-user view system:serviceaccount:project2:serviceaccount2 -n project1

然后我们可以获得serviceaccount2的 token :

oc serviceaccounts get-token serviceaccount2

并用它来访问project1:

$ oc get pods -n project1 --token=<serviceaccount2-token>
NAME READY STATUS RESTARTS AGE
django-ex-1-build 1/1 Running 0 9m

关于OpenShift:是否可以在两个不同的服务帐户中使用相同的 secret token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49563478/

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