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 레지스트리 인증 및 권한 부여 설정은 기본적으로 비활성화되어 있습니다.

사전 요구 사항

절차

  1. Red Hat Single Sign-On 관리 콘솔에서 Apicurio Registry용 Red Hat Single Sign-On 영역을 생성합니다. 기본적으로 Apicurio Registry에는 레지스트리 의 영역 이름이 필요합니다. 영역 생성에 대한 자세한 내용은 Red Hat Single Sign-On 사용자 설명서를 참조하십시오.
  2. Apicurio Registry API에 사용할 Red Hat Single Sign-On 클라이언트를 만듭니다. 기본적으로 Apicurio Registry에는 다음 설정이 필요합니다.

    • 클라이언트 ID:registry-api
    • 클라이언트 프로토콜:openid-connect
    • 액세스 유형:베어러 전용

      다른 클라이언트 설정에 기본값을 사용할 수 있습니다.

      참고

      Red Hat Single Sign-On 서비스 계정을 사용하는 경우 bearer-only 대신 클라이언트 액세스 유형을 기밀로 유지해야 합니다.

  3. Apicurio Registry 웹 콘솔의 Red Hat Single Sign-On 클라이언트를 만듭니다. 기본적으로 Apicurio Registry에는 다음 설정이 필요합니다.

    • 클라이언트 ID:apicurio-registry
    • 클라이언트 프로토콜:openid-connect
    • 액세스 유형:public
    • 유효한 리디렉션 URL:http://my-registry-url:8080/*
    • 웹 출처:+

      다른 클라이언트 설정에 기본값을 사용할 수 있습니다.

  4. OpenShift의 Apicurio Registry 배포에서 Red Hat Single Sign-On을 사용하여 인증을 구성하려면 다음 Apicurio Registry 환경 변수를 설정합니다.

    표 5.2. Apicurio 레지스트리 인증 구성

    환경 변수설명유형Default

    AUTH_ENABLED

    true 로 설정하면 이어지는 환경 변수가 필요합니다.

    문자열

    false

    KEYCLOAK_URL

    사용할 Red Hat Single Sign-On 인증 서버의 URL입니다. /auth 로 끝나야 합니다.

    문자열

    없음

    KEYCLOAK_REALM

    인증에 사용되는 Red Hat Single Sign-On 영역입니다.

    문자열

    레지스트리

    KEYCLOAK_API_CLIENT_ID

    Apicurio Registry REST API의 클라이언트 ID입니다.

    문자열

    registry-api

    KEYCLOAK_UI_CLIENT_ID

    Apicurio Registry 웹 콘솔의 클라이언트 ID입니다.

    문자열

    apicurio-registry

    작은 정보

    OpenShift에서 환경 변수를 설정하는 예는 6.1절. “OpenShift에서 Apicurio 레지스트리 상태 점검 구성” 을 참조하십시오.

  5. Red Hat Single Sign-On에서 Apicurio Registry 사용자 역할을 활성화하려면 다음 옵션을 true 로 설정합니다.

    표 5.3. Apicurio 레지스트리 역할 기반 권한 부여 구성

    환경 변수Java 시스템 속성유형기본값

    ROLE_BASED_AUTHZ_ENABLED

    registry.auth.role-based-authorization

    부울

    false

  6. Apicurio 레지스트리 사용자 역할이 활성화되면 Apicurio Registry 사용자를 Red Hat Single Sign-On 영역에서 다음 기본 사용자 역할 중 하나에 할당해야 합니다.

    표 5.4. 레지스트리 인증 및 권한 부여에 대한 기본 사용자 역할

    Role아티팩트 읽기아티팩트 쓰기글로벌 규칙요약

    sr-admin

    제공됨

    제공됨

    제공됨

    모든 생성, 읽기, 업데이트 및 삭제 작업에 대한 전체 액세스 권한

    sr-developer

    제공됨

    제공됨

    없음

    글로벌 규칙 구성을 제외하고 생성, 읽기, 업데이트 및 삭제 작업에 액세스할 수 있습니다. 이 역할은 아티팩트 규칙을 구성할 수 있습니다.

    sr-readonly

    제공됨

    없음

    없음

    읽기 및 검색 작업만 액세스할 수 있습니다. 이 역할은 규칙을 구성할 수 없습니다.

  7. Apicurio Registry에서 스키마 및 API 아티팩트에 대한 업데이트에 대한 소유자 전용 권한 부여를 활성화하려면 다음을 true 로 설정합니다.

    표 5.5. 소유자 전용 권한 부여 구성

    환경 변수Java 시스템 속성유형기본값

    REGISTRY_AUTH_OBAC_ENABLED

    registry.auth.owner-only-authorization

    부울

    false

추가 리소스