Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
GET /v1/auth/status
GetAuthStatus 返回当前客户端的状态。
RequiredAttribute 允许指定一组属性,身份验证提供程序 ALL 都必须返回这些属性。如果 Central 发行的令牌的外部声明中缺少任何属性,则对该 IdP 的身份验证请求将被视为失败。
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
attributeKey |
字符串 |
||||
attributeValue |
字符串 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
code |
整数 |
int32 |
|||
message |
字符串 |
||||
details |
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”。
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 路径的最后一部分必须表示类型的完全限定名称(如 |
下一个标签:15。
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
id |
字符串 |
||||
name |
字符串 |
||||
type |
字符串 |
||||
uiEndpoint |
字符串 |
||||
enabled |
布尔值 |
||||
config |
|
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 |
|
除了 |
|||
active |
布尔值 |
||||
requiredAttributes |
|||||
traits |
|||||
claimMappings |
|
指定将复制到 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 |
日期 |
上次更新指示身份验证提供程序上次更新的时间。如果在此时间戳之前由身份验证提供程序颁发了令牌,则这些令牌将被视为无效。随后,所有客户端都必须重新颁发其令牌(通过刷新或额外的登录尝试)。 |
日期时间 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
serialStr |
字符串 |
||||
serial |
字符串 |
int64 |
|||
id |
字符串 |
||||
type |
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 |
字符串 |
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 |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
mutabilityMode |
ALLOW_MUTATE,ALLOW_MUTATE_FORCED, |
||||
visibility |
VISIBLE,HIDDEN, |
||||
origin |
IMPERATIVE,DEFAULT,DECLARATIVE,DECLARATIVE_ORPHANED, |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
username |
字符串 |
||||
friendlyName |
字符串 |
||||
permissions |
|||||
roles |
StorageUserInfoRole列表 StorageUserInfoRole |
角色与旧格式的storage.Role兼容,因此只包含角色名称和关联的权限。
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
name |
字符串 |
||||
resourceToAccess |
StorageAccess映射 StorageAccess |
实验性功能。注意:目前请避免使用MutabilityMode。未来将被替换 (ROX-14276)。MutabilityMode指定对象是否以及如何修改。默认为ALLOW_MUTATE,表示没有修改限制;这等同于没有指定MutabilityMode。ALLOW_MUTATE_FORCED禁止所有修改操作,除非强制删除对象。
更改此字段的状态时请谨慎。例如,将对象从ALLOW_MUTATE修改为ALLOW_MUTATE_FORCED是允许的,但这将禁止对其进行任何进一步更改,包括将其改回ALLOW_MUTATE。
枚举值 |
---|
ALLOW_MUTATE |
ALLOW_MUTATE_FORCED |
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 |
ResourceToAccess表示权限集合。它与旧格式的storage.Role兼容,并在仅需要聚合权限的地方替换它。
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
resourceToAccess |
StorageAccess映射 StorageAccess |
字段名称 | 必填 | 可空 | 类型 | 描述 | 格式 |
---|---|---|---|---|---|
userId |
字符串 |
||||
serviceId |
|||||
expires |
日期 |
日期时间 |
|||
refreshUrl |
字符串 |
||||
authProvider |
|||||
userInfo |
|||||
userAttributes |
V1UserAttribute列表 V1UserAttribute |
||||
idpToken |
字符串 |
底层身份提供程序返回给ACS的令牌。此字段仅在少数特定情况下设置。不要依赖于响应中存在此字段。 |