개요
소개
단일 Casdoor 조직과 연결된 모든 사용자는 조직의 애플리케이션에 대한 접근 권한을 공유합니다. 그러나 특정 애플리케이션 또는 애플리케이션 내 특정 리소스에 대한 사용자 접근을 제한하려는 경우가 있을 수 있습니다. 이러한 경우, Casbin에서 제공하는 Permission
기능을 활용할 수 있습니다.
주제에 더 깊이 들어가기 전에, Casbin이 어떻게 작동하는지와 모델, 정책, 어댑터와 같은 관련 개념에 대한 기본적인 이해가 중요합니다. 간단히 말해서, 모델은 권한 정책의 구조와 이러한 정책과 그 결과에 대한 요청을 매칭하는 기준을 정의합니다. 반면에, 정책은 특정 권한 규칙을 설명합니다. Casbin이 필요한 모델과 정책 정보를 가지고 있으면, 들어오는 요청에 대해 권한 제어를 적용할 수 있습니다. 추상화 계층으로서, 어댑터는 Casbin의 실행자를 정책의 출처로부터 보호하며, 파일이나 데이터베이스와 같은 다양한 위치에 정책을 저장할 수 있게 합니다.
Casdoor에서 권한 설정 주제로 돌아가, Casdoor 웹 UI 내의 Model
설정 항목에서 조직에 대한 모델을 추가하고, Permission
설정 항목에서 조직에 대한 정책을 추가할 수 있습니다. Casbin 온라인 에디터는 특정 사용 시나리오에 맞게 맞춤화된 모델과 정책 파일을 제공할 수 있습니다. 웹 UI를 통해 모델 파일을 Casdoor에 쉽게 가져와 내장된 Casbin에서 사용할 수 있습니다. 그러나, 정책(즉, Casdoor 웹 UI의 Permission
설정 항목)에 대해서는 추가 지침이 필요하며, 이에 대해서는 나중에 논의하겠습니다.
애플리케이션이 Casdoor의 내장된 Casbin을 통해 권한 제어를 적용해야 하는 것처럼, Casdoor 자체도 Casbin을 통해 API 인터페이스에 대한 접근 권한을 조절하기 위해 자체 모델과 정책을 사용합니다. Casdoor는 내부 코드에서 Casbin을 호출할 수 있지만, 외부 애플리케이션은 그렇게 할 수 없습니다. 해결책으로, Casdoor는 외부 애플리케이션들이 내장된 Casbin을 호출할 수 있도록 API를 제공합니다. 곧 이 API 인터페이스의 정의와 사용 방법에 대한 지침을 제공하겠습니다.
이 장의 마지막 부분에서는, Casdoor가 외부 애플리케이션과 협력하여 권한 제어를 어떻게 수행하는지 보여주는 실용적인 예를 보여드리겠습니다.
시작해봅시다!