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