32.2. 역할 기반 액세스 제어


RBAC( 역할 기반 액세스 제어 )는 자동화 컨트롤러에 빌드되며 관리자는 서버 인벤토리, 조직 등에 대한 액세스 권한을 위임할 수 있습니다. 또한 관리자는 다양한 인증 정보 관리를 중앙 집중화하여 사용자에게 해당 시크릿을 노출하지 않고 필요한 시크릿을 사용할 수 있습니다. RBAC를 사용하여 자동화 컨트롤러를 활성화하여 보안을 강화하고 관리를 간소화할 수 있습니다.

RBAC는 사용자 또는 팀에 역할을 부여하는 방식에 해당합니다. RBAC는 특정 기능이 설정되는 "오브젝트"를 참조, 변경 또는 삭제할 수 있는 사람 또는 대상을 정확하게 정의하는 역할 측면에서 생각할 수 있습니다.

자동화 컨트롤러의 RBAC 설계 역할, 리소스 및 사용자의 주요 개념은 다음과 같습니다.

  • 사용자는 역할의 멤버가 될 수 있으며, 역할은 해당 역할과 연결된 리소스 또는 "하위" 역할과 연결된 리소스에 대한 특정 액세스 권한을 부여합니다.
  • 역할은 기능 컬렉션입니다.
  • 사용자에게 할당되거나 역할 계층 구조를 통해 상속된 역할을 통해 이러한 기능과 자동화 컨트롤러의 리소스에 대한 액세스 권한이 부여됩니다.
  • 역할은 기능 그룹을 사용자 그룹과 연결합니다. 모든 기능은 역할 내의 멤버십에서 파생됩니다. 사용자는 할당된 역할이나 역할 계층 구조를 통해 상속된 역할을 통해서만 기능을 받습니다. 역할의 모든 멤버는 해당 역할에 부여된 모든 기능을 수행할 수 있습니다. 역할은 조직 내에서 비교적 안정적이지만 사용자와 기능은 둘 다 다양하고 빠르게 변경될 수 있습니다.
  • 사용자는 다수의 역할을 가질 수 있습니다.

32.2.1. 역할 계층 구조 및 액세스 상속

"SomeCompany"라는 조직이 있고 "Josie" 및 "Carter"라는 두 사람에게 해당 조직과 관련된 모든 설정을 관리할 수 있는 액세스 권한을 부여하려는 경우를 가정해 보겠습니다. 이렇게 하려면 조직의 admin_role 의 두 사람 멤버를 모두 만들어야 합니다.

user-role-relationship

시스템에는 종종 많은 역할이 있으며 그 중 일부는 다른 역할의 기능을 모두 포함하려고 합니다. 예를 들어 시스템 관리자는 프로젝트 관리자가 액세스할 수 있는 모든 항목이 조직 관리자가 액세스할 수 있는 모든 항목에 액세스할 수 있도록 할 수 있습니다.

이 개념을 "역할 계층"이라고 합니다.

  • 상위 역할에는 모든 하위 역할에 적용되는 모든 기능이 제공됩니다.
  • 역할의 멤버에게는 멤버로 속한 역할과 모든 하위 역할의 모든 기능이 자동으로 제공됩니다.

역할 계층은 역할에 "상위 역할"을 갖도록 허용하여 표시됩니다. 역할에 있는 모든 기능은 모든 상위 역할(또는 해당 상위의 상위)에 암시적으로 부여됩니다.

rbac-role-hierarchy

역할에는 상위가 두 개 이상 있을 수 있으며 기능은 모든 상위에 암시적으로 부여됩니다.

rbac-heirarchy-morecomplex

또한 RBAC를 사용하면 사용자 및 사용자 팀이 특정 호스트 세트에 대해 플레이북을 실행할 수 있도록 명시적으로 허용할 수 있습니다. 사용자와 팀은 기능이 부여된 플레이북 및 호스트 세트에 한해 실행할 수 있습니다. 자동화 컨트롤러를 사용하면 필요한 만큼 사용자 및 팀을 생성하거나 수동으로 사용자 및 팀을 생성하거나 LDAP 또는 Active Directory에서 가져올 수 있습니다.

32.2.1.1. RBAC 사용

다음은 사용자 환경에서 자동화 컨트롤러의 RBAC 시스템을 적용하는 방법을 설명합니다.

32.2.1.1.1. 사용자 편집

사용자를 편집할 때 자동화 컨트롤러 시스템 관리자는 사용자를 시스템 관리자(슈퍼유저라고도 함) 또는 시스템 감사자 중 하나로 지정할 수 있습니다.

  • 시스템 관리자는 환경 내의 모든 오브젝트에 대한 모든 기능(읽기/쓰기/실행)을 암시적으로 상속합니다.
  • 시스템 감사자는 환경 내의 모든 오브젝트에 대한 읽기 전용 기능을 암시적으로 상속합니다.
32.2.1.1.2. 조직 편집

시스템 관리자는 조직을 편집할 때 다음 역할을 지정할 수 있습니다.

  • 한 명 이상의 사용자를 조직 관리자로 지정
  • 한 명 이상의 사용자를 조직 감사자로 지정
  • 조직 구성원으로 하나 이상의 사용자(또는 팀)

조직의 멤버인 사용자와 팀은 조직 관리자를 볼 수 있습니다.

조직 관리자인 사용자는 해당 조직 내의 모든 오브젝트에 대한 모든 기능을 암시적으로 상속합니다.

조직 감사자인 사용자는 해당 조직 내의 모든 오브젝트에 대한 읽기 전용 기능을 암시적으로 상속합니다.

32.2.1.1.3. 조직의 프로젝트 편집

시스템 관리자 및 조직 관리자는 관리자가 되는 조직에서 프로젝트를 편집할 때 다음을 지정할 수 있습니다.

  • 프로젝트 관리자에 해당하는 하나 이상의 사용자 또는 팀
  • 프로젝트 멤버인 하나 이상의 사용자 또는 팀
  • 해당 조직의 멤버인 사용자 및 팀 중에서 SCM에서 프로젝트를 업데이트할 수 있는 하나 이상의 사용자 또는 팀

프로젝트 멤버에 해당하는 사용자는 프로젝트 관리자를 볼 수 있습니다.

프로젝트 관리자는 SCM에서 프로젝트를 업데이트하는 기능을 암시적으로 상속합니다.

관리자는 (해당 프로젝트의 멤버인 사용자 또는 팀) 작업 템플릿에서 해당 프로젝트를 사용할 수 있는 사용자 또는 팀을 하나 이상 지정할 수도 있습니다.

32.2.1.1.4. 조직 내에서 인벤토리 및 인증 정보 생성

인증 정보를 사용하거나 읽거나 쓸 수 있도록 부여된 모든 액세스 권한은 자동화 컨트롤러의 RBAC 시스템을 사용하여 소유권, 감사자 또는 사용 역할을 부여하는 역할을 통해 처리됩니다.

시스템 관리자와 조직 관리자는 관리 기능에 따라 조직 내에서 인벤토리 및 인증 정보를 생성할 수 있습니다.

인벤토리를 편집하든 인증 정보를 편집하든 시스템 관리자와 조직 관리자는 (해당 조직의 멤버인 사용자 또는 팀 중에서) 해당 인벤토리 또는 인증 정보의 사용 기능을 부여할 하나 이상의 사용자 또는 팀을 지정할 수 있습니다.

시스템 관리자와 조직 관리자는 (해당 조직의 멤버인 사용자 또는 팀 중에서) 인벤토리를 업데이트(동적 또는 수동으로)할 수 있는 하나 이상의 사용자 또는 팀을 지정할 수 있습니다. 관리자는 인벤토리에 임시 명령을 실행할 수도 있습니다.

32.2.1.1.5. 작업 템플릿 편집

시스템 관리자, 조직 관리자 및 프로젝트 관리자는 관리 기능에 따라 프로젝트 내에서 해당 프로젝트에 대한 새 작업 템플릿을 생성하고 수정할 수 있습니다.

작업 템플릿을 편집할 때 관리자(자동화 컨트롤러, 조직, 프로젝트)는 사용 기능이 있는 조직에서 인벤토리 및 인증 정보를 선택하거나 런타임 시 선택되도록 해당 필드를 비워 둘 수 있습니다.

또한 (해당 프로젝트의 멤버인 사용자 또는 팀 중에서) 해당 작업 템플릿에 대한 실행 기능이 있는 하나 이상의 사용자 또는 팀을 지정할 수 있습니다. 작업 템플릿에 지정된 인벤토리 또는 인증 정보에 대해 사용자 또는 팀이 부여한 명시적 기능과 관계없이 실행 기능은 유효합니다.

32.2.1.1.6. 사용자 뷰

사용자는 다음을 수행할 수 있습니다.

  • 멤버로 속한 모든 조직 또는 프로젝트 보기
  • 자신에게만 해당하는 자체 인증 정보 오브젝트 생성
  • 실행 기능이 부여된 모든 작업 템플릿 참조 및 실행

사용자에게 실행 기능이 부여된 작업 템플릿에서 인벤토리 또는 인증 정보를 지정하지 않으면 런타임에 사용자에게 자신이 소유하고 있거나 사용 기능이 부여된 조직의 인벤토리 및 인증 정보 중에서 선택하라는 메시지가 표시됩니다.

작업 템플릿 관리자인 사용자는 작업 템플릿을 변경할 수 있습니다. 그러나 작업 템플릿에 사용된 인벤토리, 프로젝트, 플레이북, 인증 정보 또는 인스턴스 그룹으로 변경하려면 사용자에게 현재 사용 중이거나 설정 중인 프로젝트와 인벤토리에 대한 "사용" 역할도 있어야 합니다.

32.2.1.2. 역할

자격 증명을 사용하거나 읽거나 쓸 수 있도록 부여된 모든 액세스 권한은 역할을 통해 처리되며 역할은 리소스에 대해 정의됩니다.

32.2.1.2.1. 기본 제공 역할

다음 표에는 자동화 컨트롤러의 권한과 관련하여 해당 역할이 정의되는 방법에 대한 간략한 설명과 함께 RBAC 시스템 역할이 나열되어 있습니다.

시스템 역할수행할 수 있는 작업

시스템 관리자 - 시스템 수준 싱글톤

시스템의 모든 측면 관리

시스템 감사자 - 시스템 수준 싱글톤

시스템의 모든 측면 보기

임시 역할 - 인벤토리

인벤토리에서 임시 명령 실행

관리자 역할 - 조직, 팀, 인벤토리, 프로젝트, 작업 템플릿

정의된 조직, 팀, 인벤토리, 프로젝트 또는 작업 템플릿의 모든 측면 관리

감사자 역할 - 모두

정의된 조직, 프로젝트, 인벤토리 또는 작업 템플릿의 모든 측면 보기

실행 역할 - 작업 템플릿

할당된 작업 템플릿 실행

멤버 역할 - 조직, 팀

사용자는 정의된 조직 또는 팀의 멤버입니다.

읽기 역할 - 조직, 팀, 인벤토리, 프로젝트, 작업 템플릿

정의된 조직, 팀, 인벤토리, 프로젝트 또는 작업 템플릿의 모든 측면 보기

업데이트 역할 - 프로젝트

구성된 소스 제어 관리 시스템에서 프로젝트 업데이트

업데이트 역할 - 인벤토리

클라우드 소스 업데이트 시스템을 사용하여 인벤토리 업데이트

소유자 역할 - 인증 정보

이 인증 정보의 모든 측면 소유 및 관리

Use Role - Credential, Inventory, Project, IGs, CGs

작업 템플릿에서 인증 정보, 인벤토리, 프로젝트, IG 또는 CGs 사용

싱글톤 역할은 시스템 전체에 대한 권한을 부여하는 특수 역할입니다. 자동화 컨트롤러는 현재 두 가지 기본 제공 싱글톤 역할을 제공하지만 싱글톤 역할을 생성하거나 사용자 정의하는 기능은 지원되지 않습니다.

32.2.1.3. 일반적인 팀 역할 - "사용자"

자동화 컨트롤러 지원 담당자는 일반적으로 자동화 컨트롤러를 사용할 수 있도록 작동하고 지원 가능성과 사용자의 사용 편의성의 균형을 조정하는 방식으로 관리합니다. 자동화 컨트롤러 지원 인력은 종종 조직 소유자 또는 관리자 역할을 사용자에게 할당하여 새 조직을 생성하거나 해당 액세스에 필요한 팀의 멤버를 추가할 수 있습니다. 이를 통해 지원 개인 수를 최소화하고 서비스 가동 시간을 유지하고 자동화 컨트롤러를 사용하는 사용자를 지원하는 데 더 중점을 둘 수 있습니다.

다음 표에는 자동화 컨트롤러 조직에서 관리하는 몇 가지 일반적인 역할이 나열되어 있습니다.

시스템 역할(조직용)일반적인 사용자 역할설명

소유자

팀 리더 - 기술 리더

이 사용자는 조직의 다른 사용자에 대한 액세스를 제어할 수 있습니다. 프로젝트, 인벤토리, 작업 템플릿에 대한 특정 액세스 권한을 추가, 제거 및 부여할 수 있습니다. 이러한 유형의 사용자는 조직의 프로젝트, 템플릿, 인벤토리, 팀 및 인증 정보의 모든 측면을 생성, 제거 또는 수정할 수도 있습니다.

감사자

보안 엔지니어 - 프로젝트 관리자

이 계정은 읽기 전용 모드로 조직의 모든 측면을 볼 수 있습니다. 이는 규정 준수를 확인하고 유지 관리하는 사용자에게 적합한 역할일 수 있습니다. 이 역할은 자동화 컨트롤러에서 다른 데이터 수집기로 작업 데이터를 관리하거나 제공하는 서비스 계정에도 적합할 수 있습니다.

멤버 - 팀

기타 모든 사용자

기본적으로 이러한 사용자는 조직 구성원으로서 조직의 모든 측면에 대한 액세스 권한을 얻지 못합니다. 각 조직 소유자가 해당 팀에 액세스 권한을 부여하고 조직의 프로젝트, 인벤토리 및 작업 템플릿의 각 구성 요소에 대한 관리자, 실행, 사용, 업데이트 및 임시 권한을 부여해야 합니다.

멤버 - 팀 "소유자"

고급 사용자 - 리더 개발자

조직 소유자는 프로젝트, 인벤토리, 작업 템플릿을 포함하여 조직의 모든 구성 요소에 대해 팀 인터페이스를 통해 "관리자"를 제공할 수 있습니다. 이러한 사용자는 액세스 권한이 부여된 각 구성 요소를 수정하고 사용할 수 있습니다.

멤버 - 팀 "실행"

개발자 - 엔지니어

이는 가장 일반적인 역할이며 조직 멤버가 작업 템플릿과 특정 구성 요소에 대한 읽기 권한을 실행할 수 있도록 합니다. 이 권한은 템플릿에 적용됩니다.

멤버 - 팀 "사용"

개발자 - 엔지니어

이 권한은 조직의 인증 정보, 인벤토리, 프로젝트에 적용됩니다. 이 권한을 사용하면 사용자가 작업 템플릿 내에서 해당 구성 요소를 사용할 수 있습니다.

멤버 - 팀 "업데이트"

개발자 - 엔지니어

이 권한은 프로젝트에 적용됩니다. 사용자가 프로젝트에서 SCM 업데이트를 실행할 수 있도록 활성화합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.