5.3. 서비스 레지스트리 인증 및 권한 부여 구성 옵션
Service Registry에서는 Red Hat Single Sign-On 또는 HTTP 기본 인증을 사용하는 OpenID Connect에 대한 인증 옵션을 제공합니다.
서비스 레지스트리는 역할 기반 및 콘텐츠 기반 접근 방식에 대한 권한 부여 옵션을 제공합니다.
- 기본 admin, write 및 읽기 전용 사용자 역할에 대한 역할 기반 권한 부여
- 아티팩트 또는 아티팩트 그룹의 소유자만 아티팩트 또는 아티팩트 그룹의 소유자만 업데이트하거나 삭제할 수 있는 스키마 또는 API 아티팩트에 대한 콘텐츠 기반 권한 부여입니다.
서비스 레지스트리 인증 및 권한 부여 옵션은 기본적으로 비활성화되어 있습니다.
이 장에서는 다음 구성 옵션에 대해 자세히 설명합니다.
Red Hat Single Sign-On과 OpenID Connect를 사용한 서비스 레지스트리 인증
Red Hat Single Sign-On을 사용하여 서비스 레지스트리 웹 콘솔 및 API에 대한 인증을 구성하려면 다음 환경 변수를 설정할 수 있습니다.
환경 변수 | 설명 | 유형 | Default |
---|---|---|---|
|
서비스 레지스트리에서 인증을 활성화하거나 비활성화합니다. | 문자열 |
|
|
사용할 Red Hat Single Sign-On 인증 서버의 URL입니다. | 문자열 | - |
| 인증에 사용되는 Red Hat Single Sign-On 영역입니다. | 문자열 | - |
| 서비스 레지스트리 REST API의 클라이언트 ID입니다. | 문자열 |
|
| 서비스 레지스트리 웹 콘솔의 클라이언트 ID입니다. | 문자열 |
|
HTTP 기본을 사용한 서비스 레지스트리 인증
기본적으로 서비스 레지스트리는 OpenID Connect를 사용한 인증을 지원합니다. 사용자(또는 API 클라이언트)는 Service Registry REST API에 대한 인증된 호출을 수행하기 위해 액세스 토큰을 가져와야 합니다. 그러나 일부 도구에서는 OpenID Connect를 지원하지 않으므로 다음 구성 옵션을 true
로 설정하여 HTTP 기본 인증을 지원하도록 서비스 레지스트리를 구성할 수도 있습니다.
환경 변수 | Java 시스템 속성 | 유형 | 기본값 |
---|---|---|---|
|
| 부울 |
|
서비스 레지스트리 역할 기반 권한 부여
서비스 레지스트리에서 역할 기반 인증을 활성화하려면 다음 옵션을 true
로 설정할 수 있습니다.
환경 변수 | Java 시스템 속성 | 유형 | 기본값 |
---|---|---|---|
|
| 부울 |
|
그런 다음 사용자의 인증 토큰에 포함된 역할을 사용하거나(예: Red Hat Single Sign-On을 사용하여 인증할 때 부여됨) 또는 Service Registry에서 내부적으로 관리하는 역할 매핑을 사용하도록 역할 기반 권한을 구성할 수 있습니다.
Red Hat Single Sign-On에 할당된 사용 역할
Red Hat Single Sign-On에서 할당한 역할을 사용하여 활성화하려면 다음 환경 변수를 설정합니다.
환경 변수 | 설명 | 유형 | Default |
---|---|---|---|
|
| 문자열 |
|
| 사용자가 관리자임을 나타내는 역할의 이름입니다. | 문자열 |
|
| 사용자가 개발자임을 나타내는 역할의 이름입니다. | 문자열 |
|
| 사용자에게 읽기 전용 액세스 권한이 있음을 나타내는 역할의 이름입니다. | 문자열 |
|
Red Hat Single Sign-On의 역할을 사용하도록 서비스 레지스트리가 구성된 경우 서비스 레지스트리 사용자를 Red Hat Single Sign-On에서 다음 사용자 역할 중 하나에 할당해야 합니다. 그러나 표 5.9. “Red Hat Single Sign-On을 사용한 서비스 레지스트리 역할 기반 권한 부여 구성” 의 환경 변수를 사용하여 다양한 사용자 역할 이름을 구성할 수 있습니다.
역할 이름 | 아티팩트 읽기 | 아티팩트 쓰기 | 글로벌 규칙 | 설명 |
---|---|---|---|---|
| 제공됨 | 제공됨 | 제공됨 | 모든 생성, 읽기, 업데이트 및 삭제 작업에 대한 전체 액세스 권한 |
| 제공됨 | 제공됨 | 없음 | 글로벌 규칙 및 가져오기/내보도 구성을 제외하고 생성, 읽기, 업데이트 및 삭제 작업에 액세스할 수 있습니다. 이 역할은 아티팩트 규칙만 구성할 수 있습니다. |
| 제공됨 | 없음 | 없음 | 읽기 및 검색 작업만 액세스할 수 있습니다. 이 역할은 규칙을 구성할 수 없습니다. |
서비스 레지스트리에서 직접 역할 관리
Service Registry에서 내부적으로 관리하는 역할을 사용하여 활성화하려면 다음 환경 변수를 설정합니다.
환경 변수 | 설명 | 유형 | Default |
---|---|---|---|
|
| 문자열 |
|
내부적으로 관리되는 역할 매핑을 사용하는 경우 Service Registry REST API에서 /admin/roleMappings
끝점을 사용하여 역할을 할당할 수 있습니다. 자세한 내용은 Apicurio Registry REST API 설명서를 참조하십시오.
사용자에게 정확히 하나의 역할인 ADMIN
,DEVELOPER
또는 READ_ONLY
역할을 부여할 수 있습니다. admin 권한이 있는 사용자만 다른 사용자에게 액세스 권한을 부여할 수 있습니다.
Service Registry admin-override 구성
서비스 레지스트리에 기본 admin 사용자가 없기 때문에 일반적으로 사용자를 관리자로 식별하는 다른 방법을 구성하는 것이 유용합니다. 다음 환경 변수를 사용하여 이 admin-override 기능을 구성할 수 있습니다.
환경 변수 | 설명 | 유형 | Default |
---|---|---|---|
| admin-override 기능을 활성화합니다. | 문자열 |
|
|
admin-override 정보를 찾는 위치. 현재 | 문자열 |
|
|
사용자가 관리자인지 확인하는 데 사용되는 정보 유형입니다. 값은 FROM 변수의 값에 따라 달라집니다(예: FROM이 | 문자열 |
|
| 사용자가 관리자임을 나타내는 역할의 이름입니다. | 문자열 |
|
| admin-override를 결정하는 데 사용할 JWT 토큰 클레임의 이름입니다. | 문자열 |
|
| CLAIM 변수에 표시된 JWT 토큰 클레임의 값은 사용자에게 admin-override를 부여해야 합니다. | 문자열 |
|
예를 들어 이 admin-override 기능을 사용하여 해당 사용자에게 admin 역할을 부여하는 Red Hat Single Sign-On의 단일 사용자에게 sr-admin
역할을 할당할 수 있습니다. 그런 다음 해당 사용자는 /admin/roleMappings
REST API(또는 관련 UI)를 사용하여 추가 사용자(추가 관리자 포함)에 역할을 부여할 수 있습니다.
Service Registry 소유자 전용 권한 부여
서비스 레지스트리의 아티팩트 또는 아티팩트 그룹에 대한 업데이트에 대한 소유자 전용 권한을 활성화하려면 다음 옵션을 true
로 설정할 수 있습니다.
환경 변수 | Java 시스템 속성 | 유형 | 기본값 |
---|---|---|---|
|
| 부울 |
|
|
| 부울 |
|
소유자 전용 권한이 활성화되면 아티팩트를 생성한 사용자만 해당 아티팩트를 수정하거나 삭제할 수 있습니다.
소유자 전용 권한 부여와 그룹 소유자 전용 권한 부여가 모두 활성화되면 아티팩트 그룹을 생성한 사용자만 해당 아티팩트 그룹에 대한 쓰기 액세스 권한을 갖습니다(예: 해당 그룹에서 아티팩트를 추가하거나 제거하는 등).
서비스 레지스트리 인증 읽기 액세스
인증된 읽기 액세스 옵션이 활성화되면 서비스 레지스트리는 사용자 역할에 관계없이 동일한 조직의 모든 인증된 사용자의 요청에 대해 최소한 읽기 전용 액세스 권한을 부여합니다.
인증된 읽기 액세스를 활성화하려면 먼저 역할 기반 인증을 활성화한 다음 다음 옵션을 true
로 설정해야 합니다.
환경 변수 | Java 시스템 속성 | 유형 | 기본값 |
---|---|---|---|
|
| 부울 |
|
자세한 내용은 “서비스 레지스트리 역할 기반 권한 부여” 에서 참조하십시오.
서비스 레지스트리 익명 읽기 전용 액세스
권한 부여의 두 가지 주요 유형(역할 기반 및 소유자 기반 권한 부여) 외에도 서비스 레지스트리는 익명의 읽기 전용 액세스 옵션을 지원합니다.
인증 자격 증명이 없는 REST API 호출과 같은 익명 사용자를 허용하려면 REST API에 대한 읽기 전용 호출을 만들려면 다음 옵션을 true
로 설정합니다.
환경 변수 | Java 시스템 속성 | 유형 | 기본값 |
---|---|---|---|
|
| 부울 |
|