rego
-
어플리케이션 라이프사이클에 따른 OPA 정책 적용DevOps/DevSecOps 2020. 9. 6. 01:27
이 포스트는 Kubecon의 Applying Policy Throughout The Application Lifecycle with Open Policy Agent 세션을 듣고 작성하였음을 밝힙니다. 내 어플리케이션이 정책을 따라가게 하려면? 정책이란, 이 환경에서 할 수 있는 것과 해서는 안되는 것을 정의하는 일이다. 예를 들어 우리 환경에서는 Go를 1.13 버전 이상으로만 사용해야 한다 같은 것이 정책이다. 이 정책을 여러 클라우드 네이티브 솔루션들에 걸쳐, 하나의 통합된 방식으로 유연하게 정의하고 적용할 수 있게 해주는 것이 OPA 이다. 그렇다면 이 OPA 정책을 어디에서 적용할 것인가 이야기해보기 위해 어플리케이션의 라이프사이클을 세 단계로 나누고 시작하려고 한다. Local Developme..
-
OPA Gatekeeper - Constraint, ConstraintTemplateDevOps/DevSecOps 2020. 9. 4. 16:17
앞선 포스팅에서 OPA 와 Gatekeeper 의 개념에 대해서 살펴보았다. 그럼 Gatekeeper 에서 사용하는 Constraint와 ContraintTemplate을 조금 더 자세히 알아보려고 한다. 개념 Constraint: 한 시스템이 만족시켜야 하는 요구사항 세트. Enforcement Point: Contraint 가 강제되는 곳. Git hooks 이나 Kubernetes admission controllers, audit systems 이 그 예시. contraint 기반의 정책이 여러 곳에 공통으로 적용되도록. ContraintTemplate: Contraint를 정의하도록 해줌. expected input parameter 와 Rego 정책을 담음. 다시 풀어서 말하면, OPA에서 사..