[권한] 프로젝트 생성자가 STI 빌드시 integrated docker registry push 오류 날 때
Prod : OpenShift Container Platform v3.3
최초 프로젝트 생성자는 해당 프로젝트의 admin 권한을 가진다.
최초 생성된 프로젝트에서
Resources->Other Resources 메뉴의 Role Binding 항목을 조회하면 아래와 같다.
이 때 Source To Image 빌드를 하면, 빌드 후 Integrated Docker Registry에 push 하는 과정에서 권한 오류가 발생하는데 이 때 다음 권한이 필요하다(방법이 여러가지임).
1. cluster-admin 권한을 부여한다.
- 이 권한은 OpenShift Cluster 전체의 관리자 권한이므로 가능한 주지 않도록 한다.
2. admin 권한을 명시적으로 부여한다.
- system:admin으로 로그인 후 해당 프로젝트, 계정에 아래와 같이 권한을 부여한다.
# oc policy add-role-to-user admin <계정> -n <프로젝트>
3. system:image-pusher 권한을 부여한다.
- system:admin으로 로그인 후 해당 프로젝트, 계정에 아래와 같이 권한을 부여한다.
# oc policy add-role-to-user system:image-pusher <계정> -n <프로젝트>
결과 - 참고로 아래 캡쳐에서 view 권한은 따로 준 것이며 이 내용과는 상관 없다.
고려할 사항은,
프로젝트 생성자가 프로젝트의 admin 이므로 위와 같이 명시적으로 권한을 줄 필요가 없을 것으로 보여지는데 admin 임에도 불구하고 Integrated Docker Registry에 이미지를 push하는 권한은 빠진 것으로 보여진다.