본문 바로가기

기타/Open Source

Apache Superset에서 권한 설정

권한 설정

권한 설정에 대한 공식 문서는 아래 페이지 참조

https://superset.apache.org/docs/security/

 

Security | Superset

Roles

superset.apache.org

 

권한 설정이 있어서, Admin용과 View용 권한을 따로 설정할 수 있다.

우측 상단의 Settings > List Roles를 선택하면, 아래와 같이 Role을 관리할 수 있다.

 

기본적으로 제공하는 권한은 Admin, Public, Alpha, Gamma, sql_lab 이다.

  • Admin
    • 관리자 권한 모든 권한을 가지고 있다.
  • Alpha
    • Dashboard, Charts, Datasets 메뉴를 이용할 수 있다. SQL Lab은 사용 불가능하다.
    • 모든 Datasource에 접근 가능하다.
    • 본인이 만든 Dashboard, Chart, Dataset은 보기, 수정, 삭제 가능하다.
    • 다른 사람이 만든Dashboard, Chart, Dataset은 보기 가능하다. 삭제, 수정은 불가능 하다. 다른 이름으로 저장할 수 있다.
    • 다른 유저에게 Role을 부여하거나 회수할 수 없다. 
  • Gamma
    • 접근이 허용된 Datasource에 관해서 Dashboards, Charts, Datasets 조회 가능하다.
    • 본인이 만든 Dashboard, Chart는 보기, 수정, 삭제 가능하다. Dataset은 생성이 불가능하다.
    • 기본적으로 접근이 허용되는 Datasource가 없기 때문에, Role에서 아래와 같이 접근 허용할 datasource에 관한 Permission을 추가해줘야 한다.
    • Datasource에 접근 권한이 없다면, Dataset, Chart, Dashboard에 대한 접근 권한이 있더라도 해당 Datasource로 만든 모든 결과물들은 조회되지 않는다. 아래와 같이 Datasource에 관한 접근 권한을 추가해줘야 한다.

 

  • Public
    • Dashboard, Chart 등을 외부로 공유할 때 Public 권한으로 접근하게 된다.
    • superset_config.py file에 있는 PUBLIC_ROLE_LIKE 값을 설정함으로써 Public Role에 어떤 Role을 사용할 지 설정할 수 있다.
    • 예를 들어, Gamma Role을 Public Role에 부여하고 싶으면, PUBLIC_ROLE_LIKE = "Gamma" 로 설정할 수 있다.
  • sql_lab
    • SQL LAB에 대한 권한만 있다.

 

참고 문서

  • Reaonly만 되는 권한 생성 방법

https://stackoverflow.com/questions/64709056/give-readonly-access-to-dashboard-in-superset

 

Give readonly access to dashboard in superset

I have a dashboard in superset, to which I want to give readonly access to some users and that user should also be able to view that dashboard in Dashboard tab. I have created a Readonly user and h...

stackoverflow.com

 

  • iframe에 superst의 chart를 embd할 때, Superset Login을 하지 않는 방법. (Public 설정 관련)

https://stackoverflow.com/questions/63031977/how-can-i-embed-superset-apache-charts-in-my-application-bypassing-login

 

How can I embed Superset Apache charts in my application bypassing login

I have been running into an issue where I modified "PUBLIC_ROLE_LIKE_GAMMA = True" in both superset/config.py and added the datasource to PUBLIC as per the link suggested reference in goo...

stackoverflow.com