此文档中的信息可能已过时
此文档的更新日期比原文晚,因此其中的信息可能已过时。如果能阅读英文,请查看英文版本以获取最新信息: TokenRequest
TokenRequest
apiVersion: authentication.k8s.io/v1
import "k8s.io/api/authentication/v1"
TokenRequest
TokenRequest 为给定的服务账号请求一个令牌。
apiVersion: authentication.k8s.io/v1
kind: TokenRequest
metadata (ObjectMeta)
标准的对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec (TokenRequestSpec),必需
spec 包含与正被评估的请求相关的信息。
status (TokenRequestStatus)
status 由服务器填充,表示该令牌是否可用于身份认证。
TokenRequestSpec
TokenRequestSpec 包含客户端提供的令牌请求参数。
audiences ([]string),必需
audiences 是令牌预期的受众。 令牌的接收方必须在令牌的受众列表中用一个标识符来标识自己,否则应拒绝该令牌。 为多个受众签发的令牌可用于认证所列举的任意受众的身份,但这意味着目标受众彼此之间的信任程度较高。
boundObjectRef (BoundObjectReference)
boundObjectRef 是对令牌所绑定的一个对象的引用。该令牌只有在绑定对象存在时才有效。 注:API 服务器的 TokenReview 端点将校验 boundObjectRef,但其他受众可能不用这样。 如果你想要快速撤销,请为 expirationSeconds 设一个较小的值。
BoundObjectReference 是对令牌所绑定的一个对象的引用。
- boundObjectRef.apiVersion (string)
引用对象的 API 版本。
boundObjectRef.kind (string)
引用对象的类别。有效的类别为 “Pod” 和 “Secret”。
boundObjectRef.name (string)
引用对象的名称。
boundObjectRef.uid (string) 引用对象的 UID。
expirationSeconds (int64)
expirationSeconds 是请求生效的持续时间。 令牌签发方可能返回一个生效期不同的令牌,因此客户端需要检查响应中的 “expiration” 字段。
TokenRequestStatus
TokenRequestStatus 是一个令牌请求的结果。
expirationTimestamp (Time),必需
expirationTimestamp 是已返回令牌的到期时间。
Time 是 time.Time 的包装器,支持正确编组为 YAML 和 JSON。为 time 包提供的许多工厂方法提供了包装器。
token (string),必需
token 是不透明的持有者令牌(Bearer Token)。
操作
create
创建 ServiceAccount 的令牌
HTTP 请求
POST /api/v1/namespaces/{namespace}/serviceaccounts/{name}/token
参数
name (路径参数): string,必需
TokenRequest 的名称
namespace (路径参数): string,必需
body: TokenRequest,必需
dryRun (查询参数): string
fieldManager (查询参数): string
fieldValidation (查询参数): string
pretty (查询参数): string
响应
200 (TokenRequest): OK
201 (TokenRequest): Created
202 (TokenRequest): Accepted
401: Unauthorized