역할 구성
Logto Console 을 통한 구성
역할 유형 정의
Logto 에서는 적용할 수 있는 엔티티에 따라 "사용자 역할" 또는 "기계 간 앱 역할"이라는 두 가지 유형의 역할이 있습니다.
- 사용자 역할: 사용자 역할은 사용자에게만 할당할 수 있는 역할 유형입니다. 자체 API 리소스의 권한을 포함할 수 있습니다.
- 기계 간 역할: M2M 역할은 기계 간 앱에만 할당할 수 있는 역할 유형입니다. 자체 API 권한과 Logto Management API 권한을 모두 포함할 수 있습니다. 기계 간 역할은 주로 기계 간 인증을 보호하는 데 사용됩니다. 예를 들어 Logto Management API 또는 자체 API 리소스에 접근하는 경우입니다.
역할을 생성한 후에는 그 유형을 수정할 수 없습니다.
새 역할 생성 및 정의
역할은 권한의 그룹입니다. Console > Roles로 이동하면 정의한 역할 목록을 볼 수 있습니다.
- 기술적으로는 권한이나 사용자가 할당되지 않은 역할을 생성할 수 있지만, 너무 많은 빈 역할을 생성하는 것은 권장되지 않습니다. 이는 역할 관리의 조화를 방해하고 RBAC 시스템을 비효율적으로 만듭니다.
- 권한은 선택기에서 API 별로 그룹화되어 있어 대량으로 추가하거나 개별적으로 선택할 수 있습니다.
역할 기반 접근 제어 (RBAC)는 시스템 / 사용자 수준과 조직 수준 모두에서 Logto 인프라 전체에 사용됩니다. 이 장에서는 시스템 / 사용자 수준 RBAC에 중점을 둡니다. 조직 수준에서 RBAC를 구현해야 하는 경우 조직 템플릿을 참조하세요.
역할 보기 또는 업데이트
역할 이름과 설명을 편집하고, 역할에 할당된 권한과 사용자를 언제든지 검사하고 관리할 수 있습니다.
역할을 삭제하면 영향을 받는 사용자에 대한 모든 권한이 제거되고 역할, 사용자 또는 앱, 권한 간의 연결이 삭제됩니다.
역할 내 사용자 또는 기계 간 앱 관리
선택한 역할 유형에 따라 역할 세부 정보 페이지에서 사용자 또는 기계 간 애플리케이션을 할당하거나 제거할 수 있습니다.
"Users" 또는 "Machine-to-machine apps" 탭을 클릭하여 역할에 할당된 사용자 또는 앱을 확인하세요. 역할에 사용자 또는 앱을 계속 추가하려면 오른쪽 상단의 "Assign users" 또는 "Assign applications" 버튼을 클릭하세요.
역할 내 권한 관리
역할의 기능을 변경해야 하는 경우, 권한을 할당하거나 제거하여 쉽게 변경할 수 있습니다.
권한이 삭제되면 이 역할을 가진 사용자 또는 앱은 이 권한에 의해 부여된 접근을 잃게 됩니다.
기계 간 앱 또는 사용자에 할당된 역할 관리
사용자 또는 앱의 세부 정보 페이지에서 "Roles" 탭을 찾을 수 있습니다. 탭을 클릭하여 사용자 또는 기계 간 앱에 할당된 역할을 확인하고 관리하세요.
Logto Cloud 의 구성만으로 충분하지 않다면, Management API 를 활용하여 이 관리 작업을 프로그래밍 방식으로 수행할 수 있습니다.
Logto Management API 를 통한 구성
Logto Management API 를 사용하여 관리하세요. 관련 엔드포인트에 호출을 수행하세요. 이 참조를 확인하세요.
method | path | description |
---|---|---|
GET | /api/roles | 필터 및 페이지 매김으로 역할을 가져옵니다. |
POST | /api/roles | 주어진 데이터로 새 역할을 생성합니다. |
GET | /api/roles/{Id} | ID로 역할 세부 정보를 가져옵니다. |
DELETE | /api/roles/{Id} | 주어진 ID로 역할을 삭제합니다. |
PATCH | /api/roles/{Id} | 역할 세부 정보를 업데이트합니다. 이 메서드는 부분 업데이트를 수행합니다. |
GET | /api/roles/{Id}/users | 역할이 할당된 사용자를 페이지 매김으로 가져옵니다. |
POST | /api/roles/{Id}/users | 사용자 목록에 역할을 할당합니다. 역할은 User 유형이어야 합니다. |
DELETE | /api/roles/{Id}/users/{userId} | 주어진 ID로 사용자에서 역할을 제거합니다. |
GET | /api/roles/{Id}/applications | 역할이 할당된 애플리케이션을 페이지 매김으로 가져옵니다. |
POST | /api/roles/{Id}/applications | 애플리케이션 목록에 역할을 할당합니다. 역할은 Application 유형이어야 합니다. |
DELETE | /api/roles/{Id}/applications/{applicationId} | 주어진 ID로 애플리케이션에서 역할을 제거합니다. |
GET | /api/roles/{Id}/scopes | 역할과 연결된 API 리소스 스코프 (권한)를 가져옵니다. |
POST | /api/roles/{Id}/scopes | API 리소스 스코프 (권한) 목록을 역할에 연결합니다. 원래 연결된 스코프는 유지됩니다. |
DELETE | /api/roles/{Id}/scopes/{scopeId} | 주어진 ID로 역할에서 API 리소스 스코프 (권한)를 연결 해제합니다. |
기본 역할
기본 역할은 사용자가 생성될 때 자동으로 할당되는 역할입니다. 이는 자체 가입 또는 Management API 를 통해 생성된 경우 모두 해당됩니다. Console > Roles의 세부 정보 페이지에서 "General" 탭으로 이동하여 이 토글을 활성화할 수 있습니다.