11.3. 미세 조정 관리자 권한


참고

미세한 관리자 권한은 기술 프리뷰 이며 완전히 지원되지 않습니다. 이 기능은 기본적으로 비활성화되어 있습니다.

-Dkeycloak.profile=preview 또는 -Dkeycloak.profile.feature.admin_fine_grained_authz=enabled 를 사용하여 서버를 시작하려면 다음을 실행합니다. 자세한 내용은 프로필을 참조하십시오.

manage-realm 또는 manage-users 와 같은 역할이 너무 어울릴 수 있으며 더 미세한 조정 권한이 있는 제한된 관리 계정을 생성하려고 합니다. Red Hat Single Sign-On을 사용하면 영역 관리를 위한 제한된 액세스 정책을 정의하고 할당할 수 있습니다. 과 같은 것:

  • 특정 클라이언트 관리
  • 특정 그룹에 속한 사용자 관리
  • 그룹의 멤버십 관리
  • 제한된 사용자 관리
  • 알츠하이크 가장 제어
  • 사용자에게 특정 제한된 역할 집합을 할당할 수 있습니다.
  • 특정 제한된 역할 세트를 복합 역할에 할당할 수 있습니다.
  • 클라이언트의 범위에 특정 제한된 역할 집합을 할당할 수 있습니다.
  • 사용자, 그룹, 역할 및 클라이언트를 보고 관리하기 위한 새로운 일반 정책

고급 관리자 권한에 대해 유의해야 할 몇 가지 중요한 사항이 있습니다.

  • 권한 부여 서비스 상단에서 미세 조정 관리자 권한이 구현되었습니다. 세분화된 권한을 시작하기 전에 해당 기능을 읽는 것이 좋습니다.
  • 세분화된 권한은 해당 영역 내에서 정의된 전용 관리 콘솔 및 관리자 내에서만 사용할 수 있습니다. 교차 실질의 고급 권한을 정의 할 수 없습니다.
  • 세분화된 권한은 추가 권한을 부여하는 데 사용됩니다. 기본 제공 admin 역할의 기본 동작을 재정의할 수 없습니다.

11.3.1. 특정 클라이언트 관리

먼저 관리자가 하나의 클라이언트와 클라이언트 1개만 관리하도록 허용하는 방법을 살펴보겠습니다. 이 예제에서는 test 라는 영역과 sales-application 클라이언트가 있습니다. 영역 테스트에서 해당 애플리케이션만 관리할 수 있는 권한을 해당 영역에 사용자에게 부여합니다.

중요

영역의 미세한 권한은 교차할 수 없습니다. 마스터 영역의 관리자는 이전 장에서 정의한 사전 정의된 admin 역할로 제한됩니다.

11.3.1.1. 권한 설정

가장 먼저 수행해야 하는 작업은 해당 클라이언트에 대한 권한을 설정할 수 있도록 Admin Console에 로그인하는 것입니다. 클라이언트의 관리 섹션으로 이동하여 에 대한 세분화된 권한을 정의하려고 합니다.

클라이언트 관리

fine grain client

Permissions 라는 탭 메뉴 항목이 표시되어야 합니다. 해당 탭을 클릭합니다.

클라이언트 권한 탭

fine grain client permissions tab off

기본적으로 각 클라이언트는 미세 조정 권한을 수행할 수 없습니다. 따라서 권한 활성화를 on으로 전환하여 권한을 초기화합니다.

중요

Permissions Enabled 스위치를 끄면 이 클라이언트에 대해 정의한 모든 권한과 모든 권한이 삭제됩니다.

클라이언트 권한 탭

fine grain client permissions tab on

Permissions Enabled 를 on으로 전환할 때 Authorization Services 를 사용하여 백그라운드에서 다양한 권한 오브젝트를 초기화합니다. 이 예제에서는 클라이언트의 관리 권한에 관심이 있습니다. 이를 클릭하면 클라이언트의 관리 권한을 처리하는 권한으로 리디렉션됩니다. 모든 권한 부여 오브젝트는 realm-management 클라이언트의 권한 부여 탭에 포함됩니다.

클라이언트 관리 권한

fine grain client manage permissions

관리 권한을 처음 초기화하는 경우 연결된 정책이 없습니다. 정책 탭으로 이동하여 이를 생성해야 합니다. 속도를 높이려면 위 이미지에 표시된 권한 부여 링크를 클릭합니다. 그런 다음 정책 탭을 클릭합니다.

이 페이지에 정책 만들기 라는 풀다운 메뉴가 있습니다. 정의할 수 있는 다양한 정책이 있습니다. 역할 또는 그룹과 연결된 정책을 정의하거나 JavaScript에서 규칙을 정의할 수도 있습니다. 이 간단한 예제에서는 사용자 정책을 만들 것입니다.

사용자 정책

fine grain client user policy

이 정책은 사용자 데이터베이스의 하드 코딩된 사용자와 일치합니다. 이 경우 sales-admin 사용자입니다. 그런 다음 Sales -application 클라이언트의 관리 권한 페이지로 돌아가서 정책을 권한 오브젝트에 할당해야 합니다.

사용자 정책 할당

fine grain client assign user policy

sales-admin 사용자에게 Sales -application 클라이언트를 관리할 수 있는 권한이 있습니다.

한 가지 더 해야 할 일이 있습니다. Role Mappings 탭으로 이동하여 query-clients 역할을 sales-admin 에 할당합니다.

쿼리-클라이언트 할당

fine grain assign query clients

왜 이렇게 해야 합니까? 이 역할은 Sales -admin 이 Admin Console에 이동하면 Admin Console에 어떤 메뉴 항목을 렌더링해야 하는지 알려줍니다. query-clients 역할은 Admin Console에 sales-admin 사용자의 클라이언트 메뉴를 렌더링해야 함을 지시합니다.

query-clients 역할을 설정하지 않으면 sales-admin 과 같은 제한된 관리자가 Admin Console에 로그인할 때 메뉴 옵션을 볼 수 없습니다.

11.3.1.2. 테스트

다음으로 마스터 영역에서 로그아웃하고 sales- admin 을 사용자 이름으로 사용하여 테스트 영역의 전용 관리 콘솔에 다시 로그인합니다. /auth/admin/test/console 에 있습니다.

Sales admin login

fine grain sales admin login

이 관리자는 이제 하나의 클라이언트를 관리할 수 있습니다.

11.3.2. 사용자 역할 매핑 제한

사용자가 할 수 있는 또 다른 작업은 관리자가 사용자에게 할당할 수 있는 역할 세트를 제한하는 것입니다. 마지막 예제를 계속 진행하면 'sales-admin' 사용자의 권한 집합을 확장하여 이 애플리케이션에 액세스할 수 있는 사용자도 제어할 수 있습니다. 세분화된 권한을 통해 영업 관리자가 영업 애플리케이션에 대한 특정 액세스 권한을 부여하는 역할만 할당할 수 있도록 활성화할 수 있습니다. 또한 관리자가 역할만 매핑할 수 있도록 제한할 수 있으며 다른 유형의 사용자 관리는 수행할 수 없습니다.

Sales -application 세 가지 클라이언트 역할을 정의했습니다.

영업 애플리케이션 역할

fine grain sales application roles

sales-admin 사용자가 이러한 역할을 시스템의 모든 사용자에게 매핑해야 합니다. 이 작업을 수행하는 첫 번째 단계는 관리자가 역할을 매핑할 수 있도록 허용하는 것입니다. viewLeads 역할을 클릭하면 이 역할에 대한 권한 탭이 표시됩니다.

View leads role 권한 탭

fine grain view leads role tab

해당 탭을 클릭하고 사용 권한 활성화를 설정하면 정책을 적용할 수 있는 다양한 작업이 표시됩니다.

리더 권한 보기

fine grain view leads permissions

우리가 관심있는 것은 map-role 입니다. 이 권한을 클릭하고 이전 예제에서 만든 것과 동일한 User Policy를 추가합니다.

map-roles 권한

fine grain map roles permission

Red Hat은 영업 관리자가 viewLeads 역할을 매핑할 수 있다고 말합니다. 아직 수행하지 않은 것은 관리자가 이 역할을 매핑할 수 있는 사용자를 지정하는 것입니다. 이렇게 하려면 이 영역에 대해 관리 콘솔의 사용자 섹션으로 이동해야 합니다. Users left 메뉴 항목을 클릭하면 영역의 사용자 인터페이스로 이동합니다. 권한 탭이 표시되어야 합니다. 이를 클릭하고 활성화합니다.

사용자 권한

fine grain users permissions

관심 있는 권한은 map-roles 입니다. 이는 관리자가 역할을 사용자에게 매핑할 수 있는 기능만 허용한다는 점에서 제한적인 정책입니다. map-roles 권한을 클릭하고 이를 위해 만든 사용자 정책을 다시 추가하면 영업 관리자가 역할을 모든 사용자에게 매핑할 수 있습니다.

마지막으로 해야 할 것은 sales-adminview-users 역할을 추가하는 것입니다. 이를 통해 관리자는 Sales -application 역할을 추가하려는 영역의 사용자를 볼 수 있습니다.

view-users 추가

fine grain add view users

11.3.2.1. 테스트

다음으로 마스터 영역에서 로그아웃하고 sales- admin 을 사용자 이름으로 사용하여 테스트 영역의 전용 관리 콘솔에 다시 로그인합니다. /auth/admin/test/console 에 있습니다.

이제 sales-admin 이 시스템의 사용자를 볼 수 있음을 확인할 수 있습니다. 사용자 중 하나를 선택하면 Role Mappings 탭을 제외하고 각 사용자 세부 정보 페이지가 읽기 전용으로 표시됩니다. 이 탭으로 이동하면 영업 애플리케이션 역할을 검색할 때를 제외하고 관리자가 사용자에게 매핑할 수 있는 사용 가능한 역할이 없음을 확인할 수 있습니다.

보기 추가

fine grain add view leads

영업 관리자가 viewLeads 역할을 매핑 할 수 있도록만 지정했습니다.

11.3.2.2. 클라이언트 map-roles 바로 가기

영업 애플리케이션이 게시한 모든 클라이언트 역할에 대해 이를 수행해야 하는 경우 관리자가 클라이언트에서 정의한 모든 역할을 매핑할 수 있도록 지정하는 방법이 있습니다. 관리 콘솔에 마스터 영역 관리자에게 다시 로그인하고 sales-application 권한 페이지로 돌아가 map-roles 권한이 표시됩니다.

클라이언트 맵-roles 권한

fine grain client permissions tab on

관리자에게 이 특정 권한에 대한 액세스 권한을 부여하면 해당 관리자가 클라이언트에서 정의한 모든 역할을 매핑할 수 있습니다.

11.3.3. 전체 권한 목록

특정 클라이언트 또는 클라이언트의 특정 역할을 관리하는 것 이상의 미세한 권한을 통해 훨씬 더 많은 작업을 수행할 수 있습니다. 이 장에서는 영역에 대해 설명할 수 있는 전체 권한 유형 목록을 정의합니다.

11.3.3.1. Role

특정 역할의 권한 탭으로 이동하면 이러한 권한 유형이 나열됩니다.

map-role
관리자가 이 역할을 사용자에게 매핑할 수 있는지 결정하는 정책입니다. 이러한 정책은 관리자가 사용자 역할 매핑 작업을 수행할 수 없는 경우 역할을 사용자에게 매핑할 수 있도록만 지정합니다. 관리자는 관리 또는 역할 매핑 권한이 있어야 합니다. 자세한 내용은 사용자 권한 을 참조하십시오.
map-role-composite
관리자가 이 역할을 다른 역할에 매핑할 수 있는지 결정하는 정책입니다. 관리자는 해당 클라이언트에 대한 권한을 관리해야 하는 경우 클라이언트에 대한 역할을 정의할 수 있지만 컴포지션으로 추가하려는 역할에 대한 map-role-composite 권한이 없으면 해당 역할에 복합을 추가할 수 없습니다.
map-role-client-scope
관리자가 이 역할을 클라이언트 범위에 적용할 수 있는지 결정하는 정책입니다. 관리자가 클라이언트를 관리할 수 있는 경우에도 이 권한이 부여되지 않는 한 이 역할이 포함된 해당 클라이언트에 대한 토큰을 생성할 수 있는 권한이 없습니다.

11.3.3.2. 클라이언트

특정 클라이언트의 권한 탭으로 이동하면 이러한 권한 유형이 나열됩니다.

view
관리자가 클라이언트 구성을 볼 수 있는지 여부를 결정하는 정책입니다.
관리
관리자가 클라이언트 구성을 보고 관리할 수 있는지 결정하는 정책입니다. 이러한 권한에는 실수로 유출될 수 있는 몇 가지 문제가 있습니다. 예를 들어, admin은 관리자가 역할을 클라이언트의 범위에 매핑할 권한이 없는 경우에도 역할을 하드 코딩한 프로토콜 매퍼를 정의할 수 있습니다. 현재 이는 역할처럼 개별 권한을 할당할 방법이 없으므로 프로토콜 매퍼의 제한입니다.
configure
클라이언트를 관리하기 위한 권한 집합 감소. 이는 admin이 프로토콜 매퍼를 정의하거나 클라이언트 템플릿 또는 클라이언트의 범위를 변경할 수 없다는 점을 제외하고 manage 범위와 같습니다.
map-roles
관리자가 클라이언트에서 정의한 역할을 사용자에게 매핑할 수 있는지 여부를 결정하는 정책입니다. 이는 클라이언트에서 정의한 각 역할에 대한 정책을 정의하지 않도록 하는 바로 가기적이고 사용하기 쉬운 기능입니다.
map-roles-composite
관리자가 클라이언트에서 정의한 역할을 복합 역할로 매핑할 수 있는지 여부를 결정하는 정책입니다. 이는 클라이언트에서 정의한 각 역할에 대한 정책을 정의하지 않도록 하는 바로 가기적이고 사용하기 쉬운 기능입니다.
map-roles-client-scope
관리자가 클라이언트에서 정의한 역할을 다른 클라이언트의 범위에 매핑할 수 있는지 여부를 결정하는 정책입니다. 이는 클라이언트에서 정의한 각 역할에 대한 정책을 정의하지 않도록 하는 바로 가기적이고 사용하기 쉬운 기능입니다.

11.3.3.3. 사용자

모든 사용자의 권한 탭으로 이동하면 이러한 권한 유형이 나열됩니다.

view
관리자가 영역의 모든 사용자를 볼 수 있는지 여부를 결정하는 정책입니다.
관리
관리자가 영역의 모든 사용자를 관리할 수 있는지 여부를 결정하는 정책입니다. 이 권한은 관리자에게 사용자 역할 매핑을 수행할 수 있는 권한을 부여하지만 관리자가 매핑할 수 있는 역할을 지정하지는 않습니다. 관리자가 매핑할 수 있도록 하려면 각 역할에 대한 권한을 정의해야 합니다.
map-roles
이는 manage 범위에서 부여하는 권한의 하위 집합입니다. 이 경우 관리자는 역할을 매핑할 수만 있습니다. 관리자는 다른 사용자 관리 작업을 수행할 수 없습니다. 또한 manage 와 같이 admin이 적용할 수 있는 역할은 역할별로 또는 클라이언트 역할을 처리하는 경우 역할별로 지정해야 합니다.
manage-group-membership
map-roles 와 유사합니다. 단, 그룹 멤버십과 관련이 있음: 사용자를 추가하거나 제거할 수 있는 그룹입니다. 이러한 정책은 관리자가 멤버십을 관리할 수 있는 그룹이 아닌 그룹 멤버십을 관리할 수 있는 관리자 권한만 부여합니다. 각 그룹의 manage-members 권한에 대한 정책을 지정해야 합니다.
impersonate
관리자가 다른 사용자로 가장할 수 있는지 여부를 결정하는 정책입니다. 이러한 정책은 관리자의 속성 및 역할 매핑에 적용됩니다.
user-impersonated
가장할 수 있는 사용자를 결정하는 정책입니다. 이러한 정책은 가장하는 사용자에게 적용됩니다. 예를 들어, admin 권한이 있는 사용자를 가장하지 못하도록 금지할 정책을 정의하려고 할 수 있습니다.

11.3.3.4. 그룹

특정 그룹의 권한 탭으로 이동하면 이러한 권한 유형이 나열됩니다.

view
관리자가 그룹에 대한 정보를 볼 수 있는지 여부를 결정하는 정책입니다.
관리
관리자가 그룹 구성을 관리할 수 있는지 여부를 결정하는 정책입니다.
view-members
관리자가 그룹 멤버의 사용자 세부 정보를 볼 수 있는지 여부를 결정하는 정책입니다.
manage-members
관리자가 이 그룹에 속하는 사용자를 관리할 수 있는지 여부를 결정하는 정책입니다.
manage-membership
관리자가 그룹의 멤버십을 변경할 수 있는지 여부를 결정하는 정책입니다. 그룹에서 멤버를 추가하거나 제거합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.