31.2. 전역적으로 빌드 전략 비활성화
특정 빌드 전략에 대한 액세스를 전역적으로 방지하려면 cluster-admin 권한이 있는 사용자로 로그인하여 system:authenticated 그룹에서 해당 역할을 제거하고 주석 openshift.io/reconcile-protect: "true"
를 적용하여 API 재시작 시 변경되지 않도록 보호합니다. 다음 예제에서는 Docker 빌드 전략을 비활성화하는 방법을 보여줍니다.
openshift.io/reconcile-protect
주석을 적용합니다.$ oc edit clusterrolebinding system:build-strategy-docker-binding apiVersion: v1 groupNames: - system:authenticated kind: ClusterRoleBinding metadata: annotations: openshift.io/reconcile-protect: "true" 1 creationTimestamp: 2018-08-10T01:24:14Z name: system:build-strategy-docker-binding resourceVersion: "225" selfLink: /oapi/v1/clusterrolebindings/system%3Abuild-strategy-docker-binding uid: 17b1f3d4-9c3c-11e8-be62-0800277d20bf roleRef: name: system:build-strategy-docker subjects: - kind: SystemGroup name: system:authenticated userNames: - system:serviceaccount:management-infra:management-admin
- 1
openshift.io/reconcile-protect
주석 값을"true"
로 변경합니다. 기본적으로"false"
로 설정됩니다.
역할을 제거합니다.
$ oc adm policy remove-cluster-role-from-group system:build-strategy-docker system:authenticated
3.2 이전 버전에서는 build strategy 하위 리소스가 admin
및 edit
역할에 포함되었습니다.
빌드 전략 하위 소스도 이러한 역할에서 제거되었는지 확인합니다.
$ oc edit clusterrole admin $ oc edit clusterrole edit
각 역할에서 비활성화할 전략 리소스에 해당하는 행을 제거합니다.
관리자에대한 Docker 빌드 전략 비활성화
kind: ClusterRole
metadata:
name: admin
...
rules:
- resources:
- builds/custom
- builds/docker 1
- builds/source
...
...
- 1
- admin 역할이 있는 사용자에 대해 Docker 빌드를 전역적으로 비활성화하려면 이 행을 삭제합니다.