2.3.3. 프로젝트 자체 프로비저닝 비활성화
인증된 사용자 그룹이 새 프로젝트를 자체 프로비저닝하지 못하도록 할 수 있습니다.
프로세스
-
cluster-admin
권한이 있는 사용자로 로그인합니다. 다음 명령을 실행하여
self-provisioners
클러스터 역할 바인딩 사용을 확인합니다.$ oc describe clusterrolebinding.rbac self-provisioners
출력 예
Name: self-provisioners Labels: <none> Annotations: rbac.authorization.kubernetes.io/autoupdate=true Role: Kind: ClusterRole Name: self-provisioner Subjects: Kind Name Namespace ---- ---- --------- Group system:authenticated:oauth
self-provisioners
섹션의 제목을 검토합니다.그룹
system:authenticated:oauth
에서self-provisioner
클러스터 역할을 제거합니다.self-provisioners
클러스터 역할 바인딩에서self-provisioner
역할을system:authenticated:oauth
그룹에만 바인딩하는 경우 다음 명령을 실행합니다.$ oc patch clusterrolebinding.rbac self-provisioners -p '{"subjects": null}'
self-provisioners
클러스터 역할 바인딩에서self-provisioner
역할을system:authenticated:oauth
그룹 이외에도 추가 사용자, 그룹 또는 서비스 계정에 바인딩하는 경우 다음 명령을 실행합니다.$ oc adm policy \ remove-cluster-role-from-group self-provisioner \ system:authenticated:oauth
역할이 자동으로 업데이트되지 않도록
self-provisioners
클러스터 역할 바인딩을 편집합니다. 역할이 자동으로 업데이트되면 클러스터 역할이 기본 상태로 재설정됩니다.CLI를 사용하여 역할 바인딩을 업데이트하려면 다음을 수행합니다.
다음 명령을 실행합니다.
$ oc edit clusterrolebinding.rbac self-provisioners
표시된 역할 바인딩에서 다음 예와 같이
rbac.authorization.kubernetes.io/autoupdate
매개변수 값을false
로 설정합니다.apiVersion: authorization.openshift.io/v1 kind: ClusterRoleBinding metadata: annotations: rbac.authorization.kubernetes.io/autoupdate: "false" ...
단일 명령을 사용하여 역할 바인딩을 업데이트하려면 다음을 실행합니다.
$ oc patch clusterrolebinding.rbac self-provisioners -p '{ "metadata": { "annotations": { "rbac.authorization.kubernetes.io/autoupdate": "false" } } }'
인증된 사용자로 로그인하여 프로젝트를 더 이상 자체 프로비저닝할 수 없는지 확인합니다.
$ oc new-project test
출력 예
Error from server (Forbidden): You may not request a new project via this API.
조직과 관련된 더 유용한 지침을 제공하도록 이 프로젝트 요청 메시지를 사용자 정의하는 것이 좋습니다.