|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
词元
|
Deprecation of v3 API tokens
Rancher v2.13 introduced a new token resource in the Starting with Rancher v2.14.1:
|
词元资源
Rancher 有一个强制性的 API 资源 tokens.ext.cattle.io,允许您生成用于与 Rancher 进行身份验证的词元。
kubectl api-resources --api-group=ext.cattle.io
要获取词元资源的字段和结构描述,请运行:
kubectl explain tokens.ext.cattle.io
创建词元
|
词元值仅在 |
只有 有效且活跃 的 Rancher 用户才能创建词元。否则,在尝试创建词元时,您将看到错误信息 (Error from server (Forbidden)…)。
kubectl create -o jsonpath='{.status.value}' -f -<<EOF
apiVersion: ext.cattle.io/v1
kind: Token
EOF
Error from server (Forbidden): error when creating "STDIN": tokens.ext.cattle.io is forbidden: user system:admin is not a Rancher user
词元始终为发出请求的用户创建。尝试为其他用户创建词元,指定不同的 spec.userID 是被禁止的,并且会失败。
-
spec.description字段可以设置为词元目的的任意人类可读描述。默认值为空。 -
spec.kind字段可以设置为词元的类型。值session表示登录词元。所有其他值,包括默认的空字符串,表示一种派生词元。 -
metadata.name和metadata.generateName字段被忽略,新词元的名称使用前缀token-自动生成。kubectl create -o jsonpath='{.status.value}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: Token spec: description: My Token EOF -
如果未指定
spec.ttl,则词元将使用auth-token-max-ttl-minutes设置中定义的过期时间创建。默认过期时间为 90 天。如果指定了spec.ttl,则它应大于 0 且小于或等于以毫秒表示的auth-token-max-ttl-minutes设置的值。kubectl create -o jsonpath='{.status.value}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: Token spec: ttl: 7200000 # 2 hours EOF
列出词元
列出之前生成的词元可以帮助清理不再需要的词元(例如,它们是临时发放的)。管理员可以列出所有词元,而普通用户只能查看自己的。
kubectl get tokens.ext.cattle.io
NAME KIND TTL AGE
token-chjc9 90d 18s
token-6fzgj 90d 16s
token-8nbrm 90d 14s
使用 -o wide 获取更多详细信息:
kubectl get tokens.ext.cattle.io -o wide
NAME USER KIND TTL AGE DESCRIPTION
token-chjc9 user-jtghh 90d 24s example
token-6fzgj user-jtghh 90d 22s box
token-8nbrm user-jtghh 90d 20s jinx
查看词元
管理员可以获取任何词元,而普通用户只能获取自己的。
kubectl get tokens.ext.cattle.io token-chjc9
NAME KIND TTL AGE
token-chjc9 90d 18s
使用 -o wide 获取更多详细信息:
kubectl get tokens.ext.cattle.io token-chjc9 -o wide
NAME USER KIND TTL AGE DESCRIPTION
token-chjc9 user-jtghh 90d 24s example