|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
使用 API 令牌
|
Deprecation of v3 API tokens
Rancher v2.13 introduced a new token resource in the Starting with Rancher v2.14.1:
|
Rancher v2.8.0 引入了 Rancher Kubernetes API,可以通过 kubectl 管理 Rancher 资源。本页面涵盖与 Rancher CLI、kubeconfig 文件、Terraform 和 v3 API 浏览器 一起使用的 API 词元的信息。
默认情况下,某些集群级 API 词元的有效期为无限 (ttl=0)。换句话说,具有 ttl=0 的 API 词元不会过期,除非您使其失效。更改密码不会使词元失效。
您可以通过删除词元或停用用户帐户来停用 API 词元。
删除词元
要删除令牌:
-
前往 Rancher API 视图中的所有令牌列表,地址为
https://<Rancher-Server-IP>/v3/tokens。 -
通过其 ID 访问您想要删除的令牌。例如,
https://<Rancher-Server-IP>/v3/tokens/kubectl-shell-user-vqkqt -
单击 删除。
以下是使用 ttl=0 生成的词元的完整列表:
| 令牌 | 说明 |
|---|---|
|
在浏览器中访问 |
|
用于代理部署的词元 |
|
用于编排的词元 |
|
用于 Helm 图表部署的词元 |
|
用于排水的词元(Rancher 使用 |
设置 Kubeconfig 词元的 TTL
管理员可以为 Kubeconfig 词元设置全局生存时间(TTL)。通过导航到全局设置并将 kubeconfig-default-token-ttl-minutes 设置为所需的分钟数,可以更改默认的 kubeconfig TTL。从 Rancher v2.8 开始,kubeconfig-default-token-ttl-minutes 的默认值为 43200,这意味着词元在 30 天后过期。
|
此设置适用于所有 kubeconfig 词元,除了由 CLI 创建的 生成 kubeconfig 词元。 |
在生成的 Kubeconfigs 中禁用词元
将 kubeconfig-generate-token 设置为 false。此设置指示 Rancher 在用户点击下载 kubeconfig 文件时不再自动生成词元。当此设置被禁用时,生成的 kubeconfig 引用 Rancher CLI 以获取集群的短期词元。当在客户端(如 kubectl)中使用此 kubeconfig 时,需要安装 Rancher CLI 以完成登录请求。
词元哈希
您可以 启用词元哈希,词元将使用 SHA256 算法进行单向哈希处理。这是一个不可逆的过程:一旦启用,此功能无法禁用。您应首先在测试环境中评估此设置,并/或在启用之前进行备份。
此功能影响所有词元,包括但不限于以下内容:
-
Kubeconfig 词元
-
Bearer 词元 API 密钥/调用
-
内部操作使用的词元
词元设置
这些全局设置影响 Rancher 词元的行为。
| 设置 | 说明 |
|---|---|
用户身份验证会话词元的 TTL(以分钟为单位)。 |
|
用户身份验证会话词元的 TTL(以分钟为单位),在没有用户活动的情况下。 |
|
默认 TTL 应用于所有 kubeconfig 词元,除了 由 Rancher CLI 生成的词元。 |
|
除受 |
|
如果为真,当用户下载 kubeconfig 时,自动生成词元。 |
auth-user-session-ttl-minutes
生存时间(TTL)持续时间(以分钟为单位),用于确定用户身份验证会话词元何时过期。过期后,用户必须登录并获取新词元。此设置不受 auth-token-max-ttl-minutes 的影响。当用户登录到 Rancher 时,会创建会话词元。
auth-user-session-idle-ttl-minutes
在没有用户活动的情况下,登录会话词元的生存时间(TTL),以分钟为单位。
默认情况下,auth-user-session-idle-ttl-minutes 设置为与 auth-user-session-ttl-minutes 相同的值(为了向后兼容)。它绝不能超过 auth-user-session-ttl-minutes 的值。
kubeconfig-default-token-ttl-minutes
生存时间(TTL)持续时间(以分钟为单位),用于确定 kubeconfig 词元何时过期。当词元过期时,API 会拒绝该词元。此设置不能大于 auth-token-max-ttl-minutes。此设置适用于在请求的 kubeconfig 文件中生成的词元,除了 由 Rancher CLI 生成的词元。截至 Rancher v2.8,默认持续时间为 43200,这意味着词元在 30 天后过期。
auth-token-max-ttl-minutes
身份验证词元允许的最大生存时间(TTL),以分钟为单位。如果用户尝试创建一个 TTL 大于 auth-token-max-ttl-minutes 的词元,Rancher 会将词元的 TTL 设置为 auth-token-max-ttl-minutes 的值。适用于所有 kubeconfig 词元和 API 词元。截至 Rancher v2.8,默认持续时间为 129600,这意味着词元在 90 天后过期。
kubeconfig-generate-token
当为真时,通过 UI 请求的 kubeconfig 包含有效词元。当为假时,kubeconfig 包含一个命令,该命令使用 Rancher CLI 提示用户登录。 CLI 然后为用户检索并缓存词元. cli/kubectl.adoc#_authentication_with_kubectl_and_kubeconfig_tokens_with_ttl[CLI 然后为用户检索并缓存词元].