×

POST /v1/auth/m2m

AddAuthMachineToMachineConfig 创建新的机器到机器身份验证配置。

描述 (Description)

参数 (Parameters)

请求体参数 (Body Parameter)

名称 (Name) 描述 (Description) 必填 (Required) 默认值 (Default) 模式 (Pattern)

请求体 (body)

V1AddAuthMachineToMachineConfigRequest

X

返回类型 (Return Type)

内容类型 (Content Type)

  • application/json

响应 (Responses)

表 1. HTTP 响应代码 (Table 1. HTTP Response Codes)
代码 (Code) 消息 (Message) 数据类型 (Datatype)

200

成功的响应。(A successful response.)

V1AddAuthMachineToMachineConfigResponse

0

意外的错误响应。(An unexpected error response.)

GooglerpcStatus

示例 (Samples)

常用对象引用 (Common object reference)

AuthMachineToMachineConfigMapping

映射将身份令牌的声明值映射到 Central 中的特定角色。(Mappings map an identity token’s claim values to a specific role within Central.)

字段名称 (Field Name) 必填 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

字符串

身份令牌声明值中要使用的键。

值表达式

字符串

一个正则表达式,将针对由指定键标识的身份令牌声明的值进行评估。此正则表达式采用 RE2 格式,更多信息请参见:https://github.com/google/re2/wiki/Syntax

角色

字符串

当特定身份令牌的键和值匹配时,应颁发的角色。

GooglerpcStatus

字段名称 (Field Name) 必填 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

代码

整数

int32

消息

字符串

详情

ProtobufAny 列表

ProtobufAny

Any 包含任意序列化的协议缓冲区消息以及描述序列化消息类型的 URL。

Protobuf 库提供支持,以实用函数或 Any 类型的附加生成方法的形式打包/解包 Any 值。

示例 1:在 C++ 中打包和解包消息。

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

示例 2:在 Java 中打包和解包消息。

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
  foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

Protobuf 库提供的打包方法默认使用“type.googleapis.com/full.type.name”作为类型 URL,解包方法仅使用类型 URL 中最后一个“/”后的完全限定类型名称,例如“foo.bar.com/x/y.z”将产生类型名称“y.z”。

JSON 表示

Any 值的 JSON 表示使用反序列化的嵌入式消息的常规表示,并添加一个包含类型 URL 的附加字段@type。示例

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}
{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

如果嵌入式消息类型是众所周知的并且具有自定义 JSON 表示,则该表示将被嵌入,并添加一个包含自定义 JSON 的字段value以及@type字段。示例(对于消息[google.protobuf.Duration][])

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
字段名称 (Field Name) 必填 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

@type

字符串

一个唯一标识序列化协议缓冲区消息类型的 URL/资源名称。此字符串必须包含至少一个“/”字符。URL 路径的最后一个段必须表示类型的完全限定名称(如path/google.protobuf.Duration)。名称应采用规范形式(例如,不接受前导“.”)。实际上,团队通常会预编译他们期望在 Any 上下文中使用的所有类型到二进制文件中。但是,对于使用方案httphttps或无方案的 URL,可以选择设置一个类型服务器,该服务器将类型 URL 映射到消息定义,如下所示:* 如果未提供方案,则假定为https。* 对 URL 的 HTTP GET 必须产生二进制格式的[google.protobuf.Type][]值,或产生错误。* 应用程序可以根据 URL 缓存查找结果,或将其预编译到二进制文件中以避免任何查找。因此,需要在类型更改时保留二进制兼容性。(使用版本化的类型名称来管理重大更改。)注意:此功能当前在官方 protobuf 版本中不可用,并且不用于以 type.googleapis.com 开头的类型 URL。截至 2023 年 5 月,没有广泛使用的类型服务器实现,也没有计划实现一个。其他方案(而不是httphttps或空方案)可能与实现特定的语义一起使用。

V1AddAuthMachineToMachineConfigRequest

字段名称 (Field Name) 必填 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

配置

V1AuthMachineToMachineConfig

V1AddAuthMachineToMachineConfigResponse

字段名称 (Field Name) 必填 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

配置

V1AuthMachineToMachineConfig

V1AuthMachineToMachineConfig

AuthMachineToMachineConfig 确定将来自第三方的身份令牌与中央访问令牌交换的规则。M2M 代表机器到机器,因为这是配置的预期用例。

字段名称 (Field Name) 必填 (Required) 可空 (Nullable) 类型 (Type) 描述 (Description) 格式 (Format)

ID

字符串

配置的 UUID。请注意,添加机器到机器配置时,不应设置此字段。

类型

V1AuthMachineToMachineConfigType

GENERIC、GITHUB_ACTIONS、KUBE_SERVICE_ACCOUNT、

令牌过期持续时间

字符串

设置从 ExchangeAuthMachineToMachineToken API 调用返回的令牌的过期时间。可能的有效时间单位为:s、m、h。最大允许过期持续时间为 24 小时。例如:2h45m。有关持续时间验证的更多信息,请参见:https://pkg.go.dev/time#ParseDuration

映射

AuthMachineToMachineConfigMapping 列表

至少需要一个映射才能解析为有效的角色,以便成功生成访问令牌。

发行者

字符串

颁发要交换的 ID 令牌的相关 OIDC 提供商的发行者。当类型为 GENERIC 时,必须是非空字符串,其中包含 URL。对于 GitHub Actions,此值必须为空或设置为https://token.actions.githubusercontent.com。发行者是一个唯一键,因此最多可能只有一个 GITHUB_ACTIONS 配置,并且每个 GENERIC 配置都必须具有不同的发行者。

V1AuthMachineToMachineConfigType

机器到机器配置的类型。目前支持 GitHub Actions 或任何其他用于验证和交换令牌的通用 OIDC 提供商。

枚举值

GENERIC

GITHUB_ACTIONS

KUBE_SERVICE_ACCOUNT