5.7. PostAuthProvider
POST /v1/authProviders
5.7.1. 설명
5.7.2. 매개 변수
5.7.2.1. 본문 매개변수
이름 | 설명 | 필수 항목 | 기본 | 패턴 |
---|---|---|---|---|
body | X |
5.7.3. 반환 유형
5.7.4. 콘텐츠 유형
- application/json
5.7.5. 응답
코드 | 메시지 | datatype |
---|---|---|
200 | 성공적인 응답입니다. | |
0 | 예기치 않은 오류 응답 |
5.7.6. Samples
5.7.7. 공통 오브젝트 참조
5.7.7.1. AuthProviderRequiredAttribute
RequiredAttribute를 사용하면 인증 공급자가 모두 반환해야 하는 속성 세트를 지정할 수 있습니다. Central에서 발행한 토큰의 외부 클레임 내에 속성이 없는 경우 이 IdP에 대한 인증 요청이 실패한 것으로 간주됩니다.
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
attributeKey | 문자열 | ||||
attributeValue | 문자열 |
5.7.7.2. ProtobufAny
any
는 직렬화된 메시지의 유형을 설명하는 URL과 함께 임의의 직렬화된 프로토콜 버퍼 메시지를 포함합니다.
protobuf 라이브러리는 유틸리티 함수 또는 Any 유형의 추가 생성 메서드 형태로 모든 값의 팩/unpack을 지원합니다.
예 1: 팩 및 C++에서 메시지의 압축을 풉니다.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
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()); }
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.
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
any.Unpack(foo)
...
Example 4: Pack and unpack a message in Go
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 { ... }
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
...
}
protobuf 라이브러리에서 제공하는 pack 메서드는 기본적으로 유형 URL로 'type.googleapis.com/full.type.name'을 사용하고 압축 해제 방법은 유형 URL에서 마지막 '/' 후에만 정규화된 유형 이름을 사용합니다(예: "foo.bar.com/x/y.z")는 유형 이름 "y.z"를 생성합니다.
5.7.7.2.1. JSON 표현
Any
값의 JSON 표현에서는 형식 URL을 포함하는 추가 필드 @type
과 함께 deserialized 포함 메시지의 정규식을 사용합니다. 예제:
package google.profile; message Person { string first_name = 1; string last_name = 2; }
package google.profile;
message Person {
string first_name = 1;
string last_name = 2;
}
{ "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> }
{
"@type": "type.googleapis.com/google.profile.Person",
"firstName": <string>,
"lastName": <string>
}
포함된 메시지 유형이 잘 알려져 있고 사용자 지정 JSON 표현이 있는 경우 해당 표현에 @type
필드 외에도 사용자 지정 JSON이 포함된 필드 값을
추가합니다. 예(메시지 [google.protobuf.Duration][]).
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
{
"@type": "type.googleapis.com/google.protobuf.Duration",
"value": "1.212s"
}
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
typeUrl | 문자열 |
직렬화된 프로토콜 버퍼 메시지의 유형을 고유하게 식별하는 URL/리소스 이름입니다. 이 문자열에는 하나 이상의 \"/\" 문자가 포함되어야 합니다. URL 경로의 마지막 세그먼트는 | |||
value | byte[] | 지정된 유형의 유효한 직렬화 프로토콜 버퍼여야 합니다. | byte |
5.7.7.3. RuntimeError
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
error | 문자열 | ||||
코드 | 정수 | int32 | |||
message | 문자열 | ||||
세부 정보 |
5.7.7.4. StorageAuthProvider
다음 태그: 15.
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
id | 문자열 | ||||
name | 문자열 | ||||
type | 문자열 | ||||
uiEndpoint | 문자열 | ||||
enabled | 부울 | ||||
config |
| 구성에는 인증 공급자 특정 구성이 있습니다. 각 구성 옵션은 지정된 auth 공급자 유형에 따라 다릅니다. OIDC: - \"issuer\": https://openid.net/specs/openid-connect-core-1_0.html#IssuerIdentifier. - \"client_id\": https://openid.net/specs/openid-connect-core-1_0.html#IssuerIdentifier에 따른 클라이언트 ID입니다. - \"client_secret\": https://www.rfc-editor.org/rfc/rfc6749.html#section-2.3.1 에 따른 클라이언트 시크릿입니다. - \"do_use_client_secret\": \"true\"로 설정합니다. https://www.rfc-editor.org/rfc/rfc6749.html#section-2.2 클라이언트 ID와 클라이언트 시크릿 없이 구성을 생성하려면 다음을 수행합니다. - \"mode\": OIDC 콜백 모드 오프라인 토큰을 발행해서는 안 되는 경우 \"fragment\", \"post\" 또는 \"query\". - \"disable_offline_access_scope\": 오프라인 토큰이 발행되지 않아야 합니다. - \"extra_scopes\": \"openid 프로필 이메일\"에 따라 요청하기 위해 공백으로 구분된 추가 범위 문자열입니다. https://www.rfc-editor.org/rfc/rfc6749.html#section-3.3 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 endpoint. - \"idp_sso_url\": IdP SSO URL. - \"idp_nameid_format\": IdP 이름 ID 형식입니다. IAP: - \"audience\": 사용할 대상입니다. | |||
loginUrl | 문자열 | 로그인 URL은 백엔드에서 제공하며 요청에 지정할 수 없습니다. | |||
검증됨 | 부울 | ||||
extraUiEndpoints |
|
| |||
활성 상태 | 부울 | ||||
requiredAttributes | |||||
traits | |||||
claimMappings |
| Rox 토큰 속성에 복사할 IdP 토큰의 클레임을 지정합니다. 이 맵의 각 키에는 매핑하려는 IdP 토큰의 경로가 포함되어 있습니다. 경로는 \".\" 기호로 구분됩니다. 예를 들어 IdP 토큰 페이로드가 다음과 같은 경우 { \"a\": { \"b\" : \"c\", \"d\": true, \"e\", \"val2\", \"val3\" ], \"val3\" ], \"f\": [ true, false, false ], \"G\": 123.0, \"h\": [ 1, 2, 3] } } then \"a.b\"는 유효한 키가 되고 \"a.z\"는 유효하지 않습니다. 다음과 같은 유형의 클레임을 지원합니다. * string(path \"a.") * bool(path \"a.d\") * string array(path \"a.e\") * bool 배열(path \"a.f.\") 당사는 다음과 같은 유형의 클레임을 지원하지 않습니다. * 복잡한 클레임(path \"a\") * float/integer claims(path \"a.g\") * float/integer array claims(path \"a.h\") 이 맵의 각 값에는 클레임을 추가하려는 Rox 토큰 특성 이름이 포함되어 있습니다. 예를 들어 value가 \"groups\"인 경우 클레임은 토큰의 \"external_user.Attributes.groups\"에 있습니다. 참고: 이 기능은 OIDC 인증 공급자에 대해서만 지원합니다. | |||
lastUpdated | 날짜 | 마지막 업데이트됨은 인증 공급자가 마지막으로 업데이트된 시간을 나타냅니다. 이 타임스탬프 전에 인증 공급자가 발행한 토큰이 있는 경우 유효하지 않은 것으로 간주됩니다. 결과적으로 모든 클라이언트는 토큰을 다시 발행해야 합니다(새로 고침 또는 추가 로그인 시도를 통해). | 날짜-시간 |
5.7.7.5. StorageTraits
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
mutabilityMode | ALLOW_MUTATE, ALLOW_MUTATE_FORCED, | ||||
가시성 | 표시, 숨겨진, | ||||
origin | 필수, 기본값, 선언적, 선언적ATIVE_ORPHANED, |
5.7.7.6. TraitsMutabilityMode
실험적. 참고: 시간이 지남에 따라 MutabilityMode 사용을 참조하십시오. 이는 향후 대체될 예정입니다(ROX-14276). MutabilityMode는 오브젝트를 수정할 수 있는지 여부와 방법을 지정합니다. 기본값은 ALLOW_MUTATE이며 수정 제한이 없음을 의미합니다. 이는 MutabilityMode 사양이 없는 것과 동일합니다. ALLOW_MUTATE_FORCED는 강제로 강제로 제거하는 것을 제외한 모든 수정 작업을 금지합니다.
이 필드의 상태를 변경할 때는 주의하십시오. 예를 들어 ALLOW_MUTATE에서 ALLOW_MUTATE_FORCED로 오브젝트를 수정할 수 있지만 ALLOW_MUTATE로 다시 수정하는 등 추가 변경 사항이 금지됩니다.
열거 값 |
---|
ALLOW_MUTATE |
ALLOW_MUTATE_FORCED |
5.7.7.7. TraitsOrigin
origin은 개체의 원본을 지정합니다. 오브젝트에는 4개의 서로 다른 원본이 있을 수 있습니다. - IMPERATIVE: 오브젝트는 API를 통해 생성되었습니다. 이는 기본적으로 가정됩니다. - DEFAULT: 오브젝트는 기본 역할, 액세스 범위 등과 같은 기본 오브젝트입니다. - DECLARATIVE: 오브젝트는 선언적 구성을 통해 생성됩니다. - DECLARATIVE_ORPHANED: 오브젝트는 선언적 구성을 통해 생성된 다음(예: 다른 오브젝트에서 참조하기 때문에) 실패로 삭제(예: 대상자 규칙)에 따라 다른 규칙을 적용합니다. DECLARATIVE 원본이 있는 오브젝트는 선언적 구성을 통해서만 API를 통해 수정할 수 없습니다. 또한 IMPERATIVE 원본과 함께 오브젝트를 참조할 수 없습니다. DEFAULT 원본이 있는 오브젝트는 API 또는 선언적 구성을 통해 수정할 수 없습니다. 다른 모든 오브젝트에서 참조할 수 있습니다. IMPERATIVE 원본이 있는 오브젝트는 선언적 구성이 아닌 API를 통해 수정할 수 있습니다. 다른 모든 개체를 참조할 수 있습니다. DECLARATIVE_ORPHANED 원본이 있는 오브젝트는 API 또는 선언적 구성을 통해 수정할 수 없습니다. DECLARATIVE_ORPHANED 리소스는 선언적 구성으로 다시 정의되면 DECLARATIVE 리소스가 될 수 있습니다. 이 원본이 있는 오브젝트는 더 이상 다른 리소스에서 참조하지 않은 직후 시스템에서 정리됩니다. 다른 모든 오브젝트에서 참조할 수 있습니다.
열거 값 |
---|
필수 |
DEFAULT |
선언적 |
DECLAREATIVE_ORPHANED |
5.7.7.8. TraitsVisibility
EXPERIMENTAL. visibility를 사용하면 특정 API에 개체를 볼 수 있는지 여부를 지정할 수 있습니다.
열거 값 |
---|
표시됨 |
HIDDEN |