5.2. Red Hat Single Sign-On을 사용하여 Apicurio Registry 인증 및 권한 부여 구성
이 섹션에서는 Red Hat Single Sign-On을 사용하여 Apicurio Registry에 대한 인증 및 권한 부여 옵션을 수동으로 구성하는 방법을 설명합니다.
또는 이러한 설정을 자동으로 구성하는 방법에 대한 자세한 내용은 5.1절. “Red Hat Single Sign-On Operator를 사용하여 Apicurio Registry 보안” 을 참조하십시오.
OIDC(OpenID Connect)를 사용하여 OAuth를 기반으로 Red Hat Single Sign-On을 사용하여 Apicurio Registry 웹 콘솔 및 코어 REST API에 대한 인증을 활성화할 수 있습니다. 동일한 Red Hat Single Sign-On 영역과 OpenID Connect를 사용하여 Apicurio Registry 웹 콘솔과 코어 REST API를 통해 페더레이션되어 하나의 자격 증명만 있으면 됩니다.
Apicurio Registry는 기본 admin, write, 읽기 전용 사용자 역할에 대한 역할 기반 권한 부여를 제공합니다. 또한 Apicurio Registry는 스키마 또는 API 수준에서 콘텐츠 기반 권한 부여를 제공하며, 레지스트리 아티팩트 작성자만 업데이트하거나 삭제할 수 있습니다. Apicurio 레지스트리 인증 및 권한 부여 설정은 기본적으로 비활성화되어 있습니다.
사전 요구 사항
- Red Hat Single Sign-On이 설치되어 실행 중입니다. 자세한 내용은 Red Hat Single Sign-On 사용자 설명서를 참조하십시오.
- Apicurio Registry가 설치되어 실행 중입니다.
절차
-
Red Hat Single Sign-On 관리 콘솔에서 Apicurio Registry용 Red Hat Single Sign-On 영역을 생성합니다. 기본적으로 Apicurio Registry에는
레지스트리의 영역 이름이 필요합니다. 영역 생성에 대한 자세한 내용은 Red Hat Single Sign-On 사용자 설명서를 참조하십시오. Apicurio Registry API에 사용할 Red Hat Single Sign-On 클라이언트를 만듭니다. 기본적으로 Apicurio Registry에는 다음 설정이 필요합니다.
-
클라이언트 ID:
registry-api -
클라이언트 프로토콜:
openid-connect 액세스 유형:
베어러 전용다른 클라이언트 설정에 기본값을 사용할 수 있습니다.
참고Red Hat Single Sign-On 서비스 계정을 사용하는 경우
bearer-only대신 클라이언트 액세스 유형을기밀로유지해야 합니다.
-
클라이언트 ID:
Apicurio Registry 웹 콘솔의 Red Hat Single Sign-On 클라이언트를 만듭니다. 기본적으로 Apicurio Registry에는 다음 설정이 필요합니다.
-
클라이언트 ID:
apicurio-registry -
클라이언트 프로토콜:
openid-connect -
액세스 유형:
public -
유효한 리디렉션 URL:
http://my-registry-url:8080/* 웹 출처:
+다른 클라이언트 설정에 기본값을 사용할 수 있습니다.
-
클라이언트 ID:
OpenShift의 Apicurio Registry 배포에서 Red Hat Single Sign-On을 사용하여 인증을 구성하려면 다음 Apicurio Registry 환경 변수를 설정합니다.
표 5.2. Apicurio 레지스트리 인증 구성
환경 변수 설명 유형 Default AUTH_ENABLEDtrue로 설정하면 이어지는 환경 변수가 필요합니다.문자열
falseKEYCLOAK_URL사용할 Red Hat Single Sign-On 인증 서버의 URL입니다.
/auth로 끝나야 합니다.문자열
없음
KEYCLOAK_REALM인증에 사용되는 Red Hat Single Sign-On 영역입니다.
문자열
레지스트리KEYCLOAK_API_CLIENT_IDApicurio Registry REST API의 클라이언트 ID입니다.
문자열
registry-apiKEYCLOAK_UI_CLIENT_IDApicurio Registry 웹 콘솔의 클라이언트 ID입니다.
문자열
apicurio-registry작은 정보OpenShift에서 환경 변수를 설정하는 예는 6.1절. “OpenShift에서 Apicurio 레지스트리 상태 점검 구성” 을 참조하십시오.
Red Hat Single Sign-On에서 Apicurio Registry 사용자 역할을 활성화하려면 다음 옵션을
true로 설정합니다.표 5.3. Apicurio 레지스트리 역할 기반 권한 부여 구성
환경 변수 Java 시스템 속성 유형 기본값 ROLE_BASED_AUTHZ_ENABLEDregistry.auth.role-based-authorization부울
falseApicurio 레지스트리 사용자 역할이 활성화되면 Apicurio Registry 사용자를 Red Hat Single Sign-On 영역에서 다음 기본 사용자 역할 중 하나에 할당해야 합니다.
표 5.4. 레지스트리 인증 및 권한 부여에 대한 기본 사용자 역할
Role 아티팩트 읽기 아티팩트 쓰기 글로벌 규칙 요약 sr-admin제공됨
제공됨
제공됨
모든 생성, 읽기, 업데이트 및 삭제 작업에 대한 전체 액세스 권한
sr-developer제공됨
제공됨
없음
글로벌 규칙 구성을 제외하고 생성, 읽기, 업데이트 및 삭제 작업에 액세스할 수 있습니다. 이 역할은 아티팩트 규칙을 구성할 수 있습니다.
sr-readonly제공됨
없음
없음
읽기 및 검색 작업만 액세스할 수 있습니다. 이 역할은 규칙을 구성할 수 없습니다.
Apicurio Registry에서 스키마 및 API 아티팩트에 대한 업데이트에 대한 소유자 전용 권한 부여를 활성화하려면 다음을
true로 설정합니다.표 5.5. 소유자 전용 권한 부여 구성
환경 변수 Java 시스템 속성 유형 기본값 REGISTRY_AUTH_OBAC_ENABLEDregistry.auth.owner-only-authorization부울
false
추가 리소스
- 기본이 아닌 사용자 역할 이름 구성에 대한 자세한 내용은 다음을 참조하십시오. 5.3절. “Apicurio Registry 인증 및 권한 부여 구성 옵션”
- 오픈 소스 예제 애플리케이션 및 Keycloak 영역의 경우 Docker Compose-based example of using Keycloak with Apicurio Registry에서 참조하십시오.
- 프로덕션 환경에서 Red Hat Single Sign-On 사용 방법에 대한 자세한 내용은 Red Hat Single Sign-On 설명서를 참조하십시오.
- 사용자 정의 보안 구성에 대한 자세한 내용은 Quarkus Open ID Connect 설명서를 참조하십시오.