5.3. 서비스 레지스트리 인증 및 권한 부여 구성 옵션


서비스 레지스트리는 Red Hat Single Sign-On 및 HTTP 기본 인증을 사용하여 OpenID Connect에 대한 인증 옵션을 제공합니다.

서비스 레지스트리는 역할 기반 및 콘텐츠 기반 접근 방식에 대한 권한 부여 옵션을 제공합니다.

  • 기본 admin, 쓰기 및 읽기 전용 사용자 역할에 대한 역할 기반 권한 부여입니다.
  • 아티팩트 또는 아티팩트 그룹의 소유자만 업데이트하거나 삭제할 수 있는 스키마 또는 API 아티팩트에 대한 콘텐츠 기반 권한 부여입니다.
중요

서비스 레지스트리의 모든 인증 및 권한 부여 옵션은 기본적으로 비활성화되어 있습니다. 이러한 옵션을 활성화하기 전에 먼저 AUTH_ENABLED 옵션을 true 로 설정해야 합니다.

이 장에서는 다음 구성 옵션에 대해 자세히 설명합니다.

Red Hat Single Sign-On과 OpenID Connect를 사용하여 서비스 레지스트리 인증

다음 환경 변수를 설정하여 Red Hat Single Sign-On을 사용하여 서비스 레지스트리 웹 콘솔 및 API에 대한 인증을 구성할 수 있습니다.

표 5.6. 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

HTTP 기본 설정을 사용하여 서비스 레지스트리 인증

기본적으로 서비스 레지스트리는 OpenID Connect를 사용하여 인증을 지원합니다. 사용자 또는 API 클라이언트는 Service Registry REST API에 대한 인증된 호출을 수행하기 위해 액세스 토큰을 가져와야 합니다. 그러나 일부 툴에서 OpenID Connect를 지원하지 않기 때문에 다음 구성 옵션을 true 로 설정하여 HTTP 기본 인증을 지원하도록 Service Registry를 구성할 수도 있습니다.

표 5.7. Service Registry HTTP 기본 인증 구성
환경 변수Java 시스템 속성유형기본값

AUTH_ENABLED

registry.auth.enabled

부울

false

CLIENT_CREDENTIALS_BASIC_AUTH_ENABLED

registry.auth.basic-auth-client-credentials.enabled

부울

false

Service Registry HTTP 기본 클라이언트 인증 정보 캐시 만료

HTTP 기본 클라이언트 인증 정보 캐시 만료 시간을 구성할 수도 있습니다. 기본적으로 HTTP 기본 인증을 사용할 때 Service Registry는 JWT 토큰을 캐시하고 필요하지 않은 경우 새 토큰을 발행하지 않습니다. 기본적으로 10분으로 설정된 JWT 토큰의 캐시 만료 시간을 구성할 수 있습니다.

Red Hat Single Sign-On을 사용하는 경우 이 구성을 Red Hat Single Sign-On JWT 만료 시간으로 1분으로 설정하는 것이 가장 좋습니다. 예를 들어 Red Hat Single Sign-On에서 만료 시간이 5 분으로 설정된 경우 다음 설정 옵션을 4 분으로 설정해야 합니다.

표 5.8. HTTP 기본 클라이언트 인증 정보 캐시 만료 구성
환경 변수Java 시스템 속성유형기본값

CLIENT_CREDENTIALS_BASIC_CACHE_EXPIRATION

registry.auth.basic-auth-client-credentials.cache-expiration

정수

10

서비스 레지스트리 역할 기반 권한 부여

다음 옵션을 true 로 설정하여 서비스 레지스트리에서 역할 기반 권한을 활성화할 수 있습니다.

표 5.9. 서비스 레지스트리 역할 기반 권한 부여 구성
환경 변수Java 시스템 속성유형기본값

AUTH_ENABLED

registry.auth.enabled

부울

false

ROLE_BASED_AUTHZ_ENABLED

registry.auth.role-based-authorization

부울

false

그런 다음 사용자의 인증 토큰에 포함된 역할을 사용하거나(예: Red Hat Single Sign-On을 사용하여 인증할 때 부여됨) 서비스 레지스트리에서 내부적으로 관리하는 역할 매핑을 사용하도록 역할 기반 권한을 구성할 수 있습니다.

Red Hat Single Sign-On에서 할당된 역할 사용

Red Hat Single Sign-On에서 할당한 역할을 사용하여 활성화하려면 다음 환경 변수를 설정합니다.

표 5.10. Red Hat Single Sign-On을 사용하여 Service Registry 역할 기반 권한 부여 구성
환경 변수설명유형Default

ROLE_BASED_AUTHZ_SOURCE

토큰으로 설정하면 사용자 역할이 인증 토큰에서 가져옵니다.

문자열

토큰

REGISTRY_AUTH_ROLES_ADMIN

사용자가 관리자임을 나타내는 역할의 이름입니다.

문자열

sr-admin

REGISTRY_AUTH_ROLES_DEVELOPER

사용자가 개발자임을 나타내는 역할의 이름입니다.

문자열

sr-developer

REGISTRY_AUTH_ROLES_READONLY

사용자에게 읽기 전용 액세스 권한을 나타내는 역할의 이름입니다.

문자열

sr-readonly

Red Hat Single Sign-On의 역할을 사용하도록 Service Registry가 구성된 경우 Red Hat Single Sign-On에서 다음 사용자 역할 중 하나 이상에 서비스 레지스트리 사용자를 할당해야 합니다. 그러나 표 5.10. “Red Hat Single Sign-On을 사용하여 Service Registry 역할 기반 권한 부여 구성” 의 환경 변수를 사용하여 다른 사용자 역할 이름을 구성할 수 있습니다.

표 5.11. 인증 및 권한 부여를 위한 서비스 레지스트리 역할
역할 이름아티팩트 읽기아티팩트 작성글로벌 규칙설명

sr-admin

제공됨

제공됨

제공됨

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

sr-developer

제공됨

제공됨

없음

글로벌 규칙 및 가져오기/내보냄을 구성하는 것을 제외하고 생성, 읽기, 업데이트 및 삭제 작업에 대한 액세스 권한이 있어야 합니다. 이 역할은 아티팩트별 규칙만 구성할 수 있습니다.

sr-readonly

제공됨

없음

없음

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

서비스 레지스트리에서 직접 역할 관리

서비스 레지스트리에서 내부적으로 관리하는 역할을 사용하려면 다음 환경 변수를 설정합니다.

표 5.12. 내부 역할 매핑을 사용하여 Service Registry 역할 기반 권한 부여 구성
환경 변수설명유형Default

ROLE_BASED_AUTHZ_SOURCE

application 으로 설정하면 사용자 역할은 서비스 레지스트리에서 내부적으로 관리합니다.

문자열

토큰

내부적으로 관리되는 역할 매핑을 사용하는 경우 Service Registry REST API에서 /admin/roleMappings 엔드포인트를 사용하여 사용자에게 역할을 할당할 수 있습니다. 자세한 내용은 Apicurio Registry REST API 설명서를 참조하십시오.

사용자에게 ADMIN,DEVELOPER 또는 READ_ONLY 라는 역할이 정확히 하나만 부여될 수 있습니다. 관리자 권한이 있는 사용자만 다른 사용자에게 액세스 권한을 부여할 수 있습니다.

Service Registry 관리-override 구성

서비스 레지스트리에는 기본 관리자 사용자가 없으므로 일반적으로 사용자가 관리자로 식별할 수 있는 다른 방법을 구성하는 것이 도움이 됩니다. 다음 환경 변수를 사용하여 admin-override 기능을 구성할 수 있습니다.

표 5.13. Service Registry admin-override 구성
환경 변수설명유형Default

REGISTRY_AUTH_ADMIN_OVERRIDE_ENABLED

admin-override 기능을 활성화합니다.

문자열

false

REGISTRY_AUTH_ADMIN_OVERRIDE_FROM

관리자 덮어쓰기 정보는 어디에서 찾을 수 있습니까. 현재 토큰 만 지원됩니다.

문자열

토큰

REGISTRY_AUTH_ADMIN_OVERRIDE_TYPE

사용자가 관리자인지 확인하는 데 사용되는 정보 유형입니다. 값은 FROM이 토큰 인 경우 역할 또는 클레임 과 같은 FROM 변수의 값에 따라 달라집니다.

문자열

role

REGISTRY_AUTH_ADMIN_OVERRIDE_ROLE

사용자가 관리자임을 나타내는 역할의 이름입니다.

문자열

sr-admin

REGISTRY_AUTH_ADMIN_OVERRIDE_CLAIM

admin-override를 결정하는 데 사용할 JWT 토큰 클레임의 이름입니다.

문자열

org-admin

REGISTRY_AUTH_ADMIN_OVERRIDE_CLAIM_VALUE

CLAIM 변수에 표시된 JWT 토큰 클레임 값은 사용자에게 admin-override를 부여하기 위한 값이어야 합니다.

문자열

true

예를 들어 이 관리자 덮어쓰기 기능을 사용하여 Red Hat Single Sign-On의 단일 사용자에게 sr-admin 역할을 할당하여 해당 사용자에게 admin 역할을 부여할 수 있습니다. 그러면 해당 사용자는 /admin/roleMappings REST API(또는 관련 UI)를 사용하여 추가 사용자(추가 관리자 포함)에 역할을 부여할 수 있습니다.

서비스 레지스트리 소유자 전용 권한 부여

다음 옵션을 true 로 설정하여 Service Registry의 아티팩트 또는 아티팩트 그룹에 대한 업데이트에 대한 소유자 전용 권한을 활성화할 수 있습니다.

표 5.14. 소유자 전용 권한 부여 구성
환경 변수Java 시스템 속성유형기본값

AUTH_ENABLED

registry.auth.enabled

부울

false

REGISTRY_AUTH_OBAC_ENABLED

registry.auth.owner-only-authorization

부울

false

REGISTRY_AUTH_OBAC_LIMIT_GROUP_ACCESS

registry.auth.owner-only-authorization.limit-group-access

부울

false

소유자 전용 권한 부여가 활성화된 경우 아티팩트를 생성한 사용자만 해당 아티팩트를 수정하거나 삭제할 수 있습니다.

소유자 전용 권한 부여 및 그룹 소유자 전용 권한 부여가 모두 활성화된 경우 아티팩트 그룹을 생성한 사용자만 해당 아티팩트 그룹에 대한 쓰기 액세스 권한(예: 해당 그룹에서 아티팩트를 추가 또는 제거)에 액세스할 수 있습니다.

서비스 레지스트리 인증 읽기 액세스

인증된 읽기 액세스 옵션이 활성화되면 서비스 레지스트리는 사용자 역할에 관계없이 동일한 조직에 인증된 사용자의 요청에 대한 읽기 전용 액세스 권한을 부여합니다.

인증된 읽기 액세스를 활성화하려면 먼저 역할 기반 인증을 활성화한 다음 다음 옵션이 true 로 설정되어 있는지 확인해야 합니다.

표 5.15. 인증된 읽기 액세스 구성
환경 변수Java 시스템 속성유형기본값

AUTH_ENABLED

registry.auth.enabled

부울

false

REGISTRY_AUTH_AUTHENTICATED_READS_ENABLED

registry.auth.authenticated-read-access.enabled

부울

false

자세한 내용은 “서비스 레지스트리 역할 기반 권한 부여” 에서 참조하십시오.

서비스 레지스트리 익명 읽기 전용 액세스

두 가지 주요 권한 부여 유형(역할 기반 및 소유자 기반 권한 부여) 외에도 서비스 레지스트리는 익명 읽기 전용 액세스 옵션을 지원합니다.

인증 자격 증명이 없는 REST API 호출과 같은 익명 사용자를 허용하려면 REST API에 대한 읽기 전용 호출을 수행하려면 다음 옵션을 true 로 설정합니다.

표 5.16. 익명 읽기 전용 액세스에 대한 구성
환경 변수Java 시스템 속성유형기본값

AUTH_ENABLED

registry.auth.enabled

부울

false

REGISTRY_AUTH_ANONYMOUS_READ_ACCESS_ENABLED

registry.auth.anonymous-read-access.enabled

부울

false

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.