×

GET /v1/auth/status

GetAuthStatus 返回当前客户端的状态。

描述

参数

返回类型

内容类型

  • application/json

响应

表 1. HTTP 响应代码
代码 消息 数据类型

200

成功的响应。

V1AuthStatus

0

意外的错误响应。

GooglerpcStatus

示例

常用对象引用

AuthProviderRequiredAttribute

RequiredAttribute 允许指定一组属性,身份验证提供程序 ALL 都必须返回这些属性。如果 Central 发行的令牌的外部声明中缺少任何属性,则对该 IdP 的身份验证请求将被视为失败。

字段名称 必填 可空 类型 描述 格式

attributeKey

字符串

attributeValue

字符串

GooglerpcStatus

字段名称 必填 可空 类型 描述 格式

code

整数

int32

message

字符串

details

ProtobufAny 列表

ProtobufAny

Any 包含任意序列化的 protocol buffer 消息以及描述序列化消息类型的 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 表示,则该表示将被嵌入,添加一个字段value,该字段除了@type字段外还包含自定义 JSON。示例(对于消息[google.protobuf.Duration][])

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
字段名称 必填 可空 类型 描述 格式

@type

字符串

唯一标识序列化 protocol buffer 消息类型的 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(或空方案)以外的方案可能会与特定于实现的语义一起使用。

StorageAccess

枚举值

NO_ACCESS

READ_ACCESS

READ_WRITE_ACCESS

StorageAuthProvider

下一个标签:15。

字段名称 必填 可空 类型 描述 格式

id

字符串

name

字符串

type

字符串

uiEndpoint

字符串

enabled

布尔值

config

string 映射

Config 包含特定于身份验证提供程序的配置。每个配置选项根据给定的身份验证提供程序类型而有所不同。OIDC: - “issuer”:根据https://openid.net/specs/openid-connect-core-1_0.html#IssuerIdentifier 的 OIDC 发行者。 - “client_id”:根据https://www.rfc-editor.org/rfc/rfc6749.html#section-2.2 的客户端 ID。 - “client_secret”:根据https://www.rfc-editor.org/rfc/rfc6749.html#section-2.3.1 的客户端密钥。 - “do_not_use_client_secret”:如果只想创建仅具有客户端 ID 而没有客户端密钥的配置,则设置为“true”。 - “mode”:OIDC 回调模式,从“fragment”、“post”或“query”中选择。 - “disable_offline_access_scope”:如果不需要颁发脱机令牌,则设置为“true”。 - “extra_scopes”:根据https://www.rfc-editor.org/rfc/rfc6749.html#section-3.3,请求的额外范围的空格分隔字符串,除了“openid profile email”。OpenShift Auth:不支持额外的配置选项。用户 PKI: - “keys”:受信任的证书 PEM 编码。SAML: - “sp_issuer”:根据https://datatracker.ietf.org/doc/html/rfc7522#section-3 的服务提供商发行者。 - “idp_metadata_url”:根据https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf 的元数据 URL。 - “idp_issuer”:IdP 发行者。 - “idp_cert_pem”:IdP 端点的 PEM 编码的证书。 - “idp_sso_url”:IdP SSO URL。 - “idp_nameid_format”:IdP 名称 ID 格式。IAP: - “audience”:要使用的受众。

loginUrl

字符串

登录 URL 将由后端提供,并且可能未在请求中指定。

validated

布尔值

extraUiEndpoints

string 列表

除了ui_endpoint之外还允许的 UI 端点。即,如果登录请求来自这些端点中的任何一个,则身份验证请求将使用这些端点作为回调 URL,而不是 ui_endpoint。

active

布尔值

requiredAttributes

AuthProviderRequiredAttribute 列表

traits

StorageTraits

claimMappings

string 映射

指定将复制到 Rox 令牌属性的 IdP 令牌中的声明。此映射中的每个键都包含我们要映射的 IdP 令牌中的路径。路径由“.”符号分隔。例如,如果 IdP 令牌有效负载如下所示:{“a”:{“b”:“c”,“d”:true,“e”:[“val1”,“val2”,“val3”],“f”:[true,false,false],“g”:123.0,“h”:[1,2,3]}} 那么“a.b”将是一个有效的键,而“a.z”则不是。我们支持以下类型的声明:* 字符串(路径“a.b”)* 布尔值(路径“a.d”)* 字符串数组(路径“a.e”)* 布尔数组(路径“a.f.”)我们不支持以下类型的声明:* 复杂声明(路径“a”)* 浮点/整数声明(路径“a.g”)* 浮点/整数数组声明(路径“a.h”)此映射中的每个值都包含我们要向其添加声明的 Rox 令牌属性名称。例如,如果值为“groups”,则声明将位于令牌中的“external_user.Attributes.groups”中。注意:我们仅对 OIDC 身份验证提供程序支持此功能。

lastUpdated

日期

上次更新指示身份验证提供程序上次更新的时间。如果在此时间戳之前由身份验证提供程序颁发了令牌,则这些令牌将被视为无效。随后,所有客户端都必须重新颁发其令牌(通过刷新或额外的登录尝试)。

日期时间

StorageServiceIdentity

字段名称 必填 可空 类型 描述 格式

serialStr

字符串

serial

字符串

int64

id

字符串

type

StorageServiceType

UNKNOWN_SERVICE,SENSOR_SERVICE,CENTRAL_SERVICE,CENTRAL_DB_SERVICE,REMOTE_SERVICE,COLLECTOR_SERVICE,MONITORING_UI_SERVICE,MONITORING_DB_SERVICE,MONITORING_CLIENT_SERVICE,BENCHMARK_SERVICE,SCANNER_SERVICE,SCANNER_DB_SERVICE,ADMISSION_CONTROL_SERVICE,SCANNER_V4_INDEXER_SERVICE,SCANNER_V4_MATCHER_SERVICE,SCANNER_V4_DB_SERVICE,SCANNER_V4_SERVICE,REGISTRANT_SERVICE,

initBundleId

字符串

StorageServiceType

Next available tag: 18
  • SCANNER_V4_SERVICE:当Scanner V4以组合模式运行时使用。

枚举值

UNKNOWN_SERVICE

SENSOR_SERVICE

CENTRAL_SERVICE

CENTRAL_DB_SERVICE

REMOTE_SERVICE

COLLECTOR_SERVICE

MONITORING_UI_SERVICE

MONITORING_DB_SERVICE

MONITORING_CLIENT_SERVICE

BENCHMARK_SERVICE

SCANNER_SERVICE

SCANNER_DB_SERVICE

ADMISSION_CONTROL_SERVICE

SCANNER_V4_INDEXER_SERVICE

SCANNER_V4_MATCHER_SERVICE

SCANNER_V4_DB_SERVICE

SCANNER_V4_SERVICE

REGISTRANT_SERVICE

StorageTraits

字段名称 必填 可空 类型 描述 格式

mutabilityMode

TraitsMutabilityMode

ALLOW_MUTATE,ALLOW_MUTATE_FORCED,

visibility

TraitsVisibility

VISIBLE,HIDDEN,

origin

TraitsOrigin

IMPERATIVE,DEFAULT,DECLARATIVE,DECLARATIVE_ORPHANED,

StorageUserInfo

字段名称 必填 可空 类型 描述 格式

username

字符串

friendlyName

字符串

permissions

UserInfoResourceToAccess

roles

StorageUserInfoRole列表 StorageUserInfoRole

StorageUserInfoRole

角色与旧格式的storage.Role兼容,因此只包含角色名称和关联的权限。

字段名称 必填 可空 类型 描述 格式

name

字符串

resourceToAccess

StorageAccess映射 StorageAccess

TraitsMutabilityMode

实验性功能。注意:目前请避免使用MutabilityMode。未来将被替换 (ROX-14276)。MutabilityMode指定对象是否以及如何修改。默认为ALLOW_MUTATE,表示没有修改限制;这等同于没有指定MutabilityMode。ALLOW_MUTATE_FORCED禁止所有修改操作,除非强制删除对象。

更改此字段的状态时请谨慎。例如,将对象从ALLOW_MUTATE修改为ALLOW_MUTATE_FORCED是允许的,但这将禁止对其进行任何进一步更改,包括将其改回ALLOW_MUTATE。

枚举值

ALLOW_MUTATE

ALLOW_MUTATE_FORCED

TraitsOrigin

Origin指定对象的来源。对象可以有四种不同的来源:- IMPERATIVE:对象是通过API创建的。这是默认假设。- DEFAULT:对象是默认对象,例如默认角色、访问范围等。- DECLARATIVE:对象是通过声明式配置创建的。- DECLARATIVE_ORPHANED:对象是通过声明式配置创建的,然后未能成功删除(例如,因为它被另一个对象引用)。根据来源,不同的规则适用于不同的对象。不允许通过API修改具有DECLARATIVE来源的对象,只能通过声明式配置修改。此外,它们可能不会引用具有IMPERATIVE来源的对象。不允许通过API或声明式配置修改具有DEFAULT来源的对象。它们可以被所有其他对象引用。允许通过API修改具有IMPERATIVE来源的对象,不能通过声明式配置修改。它们可以引用所有其他对象。不允许通过API或声明式配置修改具有DECLARATIVE_ORPHANED来源的对象。如果在声明式配置中重新定义,DECLARATIVE_ORPHANED资源可以再次成为DECLARATIVE。这些来源的对象在不再被其他资源引用后将立即从系统中清除。它们可以被所有其他对象引用。

枚举值

IMPERATIVE

DEFAULT

DECLARATIVE

DECLARATIVE_ORPHANED

TraitsVisibility

实验性功能。visibility允许指定对象是否应对某些API可见。

枚举值

VISIBLE

HIDDEN

UserInfoResourceToAccess

ResourceToAccess表示权限集合。它与旧格式的storage.Role兼容,并在仅需要聚合权限的地方替换它。

字段名称 必填 可空 类型 描述 格式

resourceToAccess

StorageAccess映射 StorageAccess

V1AuthStatus

字段名称 必填 可空 类型 描述 格式

userId

字符串

serviceId

StorageServiceIdentity

expires

日期

日期时间

refreshUrl

字符串

authProvider

StorageAuthProvider

userInfo

StorageUserInfo

userAttributes

V1UserAttribute列表 V1UserAttribute

idpToken

字符串

底层身份提供程序返回给ACS的令牌。此字段仅在少数特定情况下设置。不要依赖于响应中存在此字段。

V1UserAttribute

字段名称 必填 可空 类型 描述 格式

key

字符串

values

string 列表