쿠버네티스 정책 UI 코드 헬퍼 안내
Overview
조직에서 관리하는 쿠버네티스 클러스터의 접근 정책(Policy)를 관리할 수 있습니다. 쿠버네티스 정책은 Policy as a Code(PaC)로 운영되며 YAML 형태를 베이스로 동작합니다. 우측에는 Policy UI 편의기능으로서 코드 에디터에 삽입할 내용을 사용자가 UI로 작업할 수 있도록 도와주는 모달을 제공합니다.
UI 코드 헬퍼 이용하기
코드 에디터 화면 우측에 각 필드 별 코드 지원 모달을 제공합니다. 모달은 코드 편집을 도와주는 역할로, 전체 모달에 의해 삽입된 내용은 코드 에디터 상에서 제거가 가능합니다.

Administrator > Kubernetes > K8s Access Control > Policies > List Details > Go to Editor Mode
- Add Resources 모달

- Spec: Allow, Spec: Deny 두 곳에서 동일하게 동작합니다.
- Cluster 명으로 리소스 검색이 가능합니다.
- 체크박스에 체크한 리소스를
Add버튼을 클릭하여 코드에 삽입합니다. - Set Subjects 모달

- Spec: Allow에서만 동작합니다.
- Kubernetes Groups : (Required) 해당 필드를 통해 KubePie Proxy가 API 호출 수행을 위해 impersonate할 쿠버네티스 그룹을 명시합니다.
- Permitted Impersonation : (Optional) 해당 필드를 통해 사용자가 클라이언트를 통해 실제 —as, —as-group를 통한 impersonation을 시도할 때 적용 가능한 쿠버네티스 사용자/그룹을 나열합니다.
- Allowed Kubernetes Users : —as 파라미터로 쿼리파이에서 허용할 kubenetes users를 기입합니다.
- Allowed Kubernetes Groups : —as-group 파라미터로 쿼리파이에서 허용할 kubernetes groups를 기입합니다.
- ‘,’ 를 통해 다중으로 등록 가능합니다.
- 에디터에 있는 내용을 바탕으로 모달이 기존의 정보를 함께 표기하며,
Set버튼을 누르면 변경사항을 에디터에서 덮어씁니다. - Add Actions 모달

- Spec: Allow, Spec: Deny 두 곳에서 동일하게 동작합니다.
- API Groups : 디폴트로 ”*” 제공; 관리자가 수정 가능하며, ‘,’로 다중 기입 가능합니다.
- Resources : 쿠버네티스 리소스를 명시합니다.
- 디폴트로 ”*” 제공; 관리자가 수정 가능하며, 다중 기입 가능합니다.
- 일반적으로 많이 쓰이는 리소스는 이하와 같고 필드에 커서를 두면 이하의 목록으로 편히 리소스를 선택할 수 있습니다:
pods,pods/exec,pods/log,pods/portforward,services,ingresses,deployments,replicasets,statefulsets,daemonsets,configmaps,secrets,namespaces,nodes,persistentvolumes,persistentvolumeclaims,jobs,cronjobs,serviceaccounts,endpoints,roles,rolebindings,clusterroles,clusterrolebindings
- 위에 표기되지 않은 리소스는 직접 타이핑하여 목록 외 리소스(커스텀 리소스 대응을 위함) 명시가 가능합니다.
- 지정되면 Item 블록처럼 표기되고 X를 누르면 제거됩니다.
- Namespace : 네임스페이스를 지정하여 쿠버네티스 리소스 범위를 제한합니다.
- 디폴트로 ”*” 제공; 관리자가 수정 가능하며, 와일드카드 및 정규표현식 수용이 가능합니다.
- Namespace 범위 외의 Resources인 경우, 해당 필드의 값은 어떠한 값이 들어오더라도 영향받지 않습니다.
- 범위 외 리소스:
persistentvolumes,persistentvolumeclaims,serviceaccounts,customresourcedefinitions,endpoints,nodes,clusterroles,clusterrolebindings
- 범위 외 리소스:
- Name : 쿠버네티스 리소스 중 대상으로 할 리소스명을 기입합니다.
- 디폴트로 ”*” 제공; 관리자가 수정 가능하며, 와일드카드 및 정규표현식 수용이 가능합니다.
- Verbs : 쿠버네티스 API 메소드를 다중 설정할 수 있습니다.
- 디폴트로 ”*” 제공; 지정되면 Item 블록처럼 표기되고 X를 누르면 제거됩니다.
- 일반적으로 호출되는 Verb는 이하와 같고 필드에 커서를 두면 이하의 목록으로 편히 Verb를 선택할 수 있습니다:
get,list,watch,create,update,patch,delete,deletecollection
- 사용자는 직접 타이핑하여 목록 외 커스텀 리소스 전용 다른 verb 명시가 가능합니다.
Add버튼을 클릭하여 actions 리스트 중 하나의 액션 세트를 정의할 수 있습니다.- 코드 상으로 append에 해당하는 부분으로 기존의 추가되었던 액션을 초기화하지 않고 새로 추가가 가능합니다.
- Set Conditions 모달

- 해당 항목은 모두 선택사항입니다.
- 에디터에 있는 내용을 바탕으로 모달이 기존의 정보를 함께 표기하며,
Set버튼을 누르면 변경사항을 에디터에서 덮어씁니다. - Resource Tags (Optional)
- 쿼리파이 리소스에 달린 태그를 바탕으로 정책 적용 범위 축소가 가능합니다.
- 각 행 마다 AND조건으로 동작하고; Value에서 ‘,’로 OR 동작합니다.
- Insert 버튼을 눌러 새로 행을 생성할 수 있습니다.
- 지정되면 tag 블록처럼 표기되고 X를 누르면 제거됩니다.
- 기입항목:
- Key : 태그 키 (정규식, glob 미지원)
- Value : 태그 밸류 기입 (정규식, glob 모두 지원, 다중 입력 지원)
- User Attributes (Optional)
- 쿼리파이 사용자 속성을 바탕으로 정책 적용 대상 범위 축소 가능합니다.
- 해당 속성값에 모두 매칭되지 못하면 해당 사용자는 속성값이 매칭되기 전까지 정책을 할당받았어도 사용이 불가합니다.
- 각 행 마다 AND조건으로 동작하고; Value에서 ‘,’로 OR 동작합니다.
- Variable Name에서 현재 지원하는 Attribute를 드롭다운 목록으로 제안합니다.
- loginId, firstName, lastName, middleName, honorificPrefix, honorificSuffix, email, title, displayName, nickName, profileUrl, secondEmail, mobilePhone, primaryPhone, streetAddress, city, state, zipCode, countryCode, postalAddress, preferredLanguage, locale
timezone, userType, employeeNumber, costCenter, organization, division, department, managerId, manager, endpoints, staticIp, macAddress
- loginId, firstName, lastName, middleName, honorificPrefix, honorificSuffix, email, title, displayName, nickName, profileUrl, secondEmail, mobilePhone, primaryPhone, streetAddress, city, state, zipCode, countryCode, postalAddress, preferredLanguage, locale
- IP Addresses (Optional)
- 해당 리소스에 접근 가능 또는 불가한 IP대역을 관리자가 지정합니다.
- ‘,’를 구분으로 단일IP, CIDR 모두 수용합니다.
Last updated on