SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Policy as Code를 활용한
Kubernetes 정책 관리 통합
Everything on Kubernetes,
Kubernetes Anywhere
클라우드거버넌스앤아키텍쳐(주) 이상근
• 경력
• 대학 졸업한지 20년 정도, 그 후로 분산 시스템 관련 일만 했음
• 전공이 분산 시스템이어서 다른 거 하고 싶어도 안 시킴ㅠㅠ
• MSA, Policy as Code 전문 기업 창업(2021.09) 후 운영 중
• 주로 일하는 분야
• Policy as Code, MSA, Cloud, Bigdata Engineering. ...
• 주로 하는 일
• AA, TA, 개발, 컨설팅 등
• 특이 사항
• 세계 최초로 OPA (Open Policy Agent) 관련 책을 썼음
• http://acornpub.co.kr/book/opa-book
• 영어 버전은 온라인에서 무료로 볼 수 있음 (https://sangkeon.github.io/opaguide/)
• 클라이언트 사이드 로드밸런싱 기능을 직접 만들어 봤음
발표자 소개
01 배경
02 Policy as Code
03 Kubernetes 플랫폼과 Policy as Code 적용
01
배경
• 빠른 세상의 변화를 따라 잡아야 함
• 경쟁자보다 앞서야 된다는 강박
• IT 역량으로 경쟁자를 압박하고 도태시킬 수 있음
비즈니스 환경
MSA
Kubernetes
Private/Public Cloud
현재의 표준 IT 서비스 스택
• MSA는 각 서비스들의 각자도생, 독립성과 자율성 중요
• 그러나 공통의 관리(표준화 포함)가 필요한 부분도 존재
• 3A(인증, 인가, 감사)
• 모니터링, 추적, 로그 관리
• 정책관리
• 현재 SSO를 통한 인증 통합이 활발함
• 인증이 통합되고 나면 그 다음 단계?
MSA 정책 관리 필요성
거버넌스 (Governance)
정책 (Policy)
권한관리 (Authorization)
권한, 정책, 거버넌스
• 위임이 해결책
• 각 서비스가 정책을 최신 상태로 직접 유지보수하는 것은 어렵
고 비쌈
• RDBMS가 모든 애플리케이션의 데이터 관리를 위임 받아 데이
터 관리와 정합성의 문제를 해결했음
• 정책을 위임받는 정책에 최적화된 시스템 필요
• 이러한 정책 관리 전문 시스템을 통한 위임의 개념이 Policy as
Code 임
MSA 정책 관리 해법
02 Policy as Code
• 정책을 애플리케이션 로직과 분리된 별도의 코드로 관리
• 정책은 자체적인 정책 언어를 사용해서 구현됨
• (RDBMS가 SQL을 사용하는 것처럼)
• 정책 엔진에 정책 코드 처리를 위임함
• (RDBMS가 데이터 저장과 처리를 전담하듯이)
• 애플리케이션은 정책 판단을 위한 정보만 넘기고 정책 엔진으로부터
판단 결과만을 받아서 처리
• (RDBMS에 JDBC로 쿼리를 넘기고 결과셋을 받아서 처리하듯이)
• 정책 엔진은 라이브러리, 사이드카, 정책 서버의 형태로 애플리케이
션에 통합 될 수 있음
• 결국 Policy as (on its own) Code
Policy as Code
Policy as Code 동작 방식
Sandboxing
• 비즈니스 로직과 정책을 서로 분리
Codification
• 정책의 내용이 코드이므로 한눈에 파악 가능
Version Control
• Git을 통한 이력 관리가 가능
Testing
• 애플리케이션 코드와 완전히 독립적으로 정책만 테스트할 수 있음
Automation
• 정책 코드가 텍스트 파일이므로 외부 도구 연동/자동화가 용이
https://docs.hashicorp.com/sentinel/concepts/policy-as-code 참고
Policy as Code의 장점
• Kubernetes 기본 RBAC에 비해 고도화된 정책 관리
• OAuth, OIDC와 통합한 서비스 인증/권한 관리
• 클라우드 보안 솔루션의 보안 정책
• CI/CD, DevOps 정책 관리
• API GW의 API 호출 정책 관리
• ...
Policy as Code 적용 분야
• Styra의 OPA(Open Policy Agent)와 Hashicorp의 Sentinel이 대
표적
• OPA (Open Policy Agent) : https://www.openpolicyagent.org
• Sentinel : https://docs.hashicorp.com/sentinel
• OPA와 Sentinel 모두 정책을 선언하는 자체 정책 언어를 가지고
있음
• 대부분의 Policy as Code 기술들은 OPA를 기반으로 함
Policy as Code 구현체
03 Kubernetes 플랫폼과 Policy as Code 적용
• Kubernetes RBAC을 보완할 수 있음
• 획일화되고 천편일률적인 권한 관리에서 벗어난 고도화된 권한 관리 가능
• 수년 내 반드시 적용되어야 함
• 기존 컨테이너 보안 기술 PSP(Pod Security Policy)가 제거되고 외부 시스템에
처리가 위임될 예정
• 표준화된 패턴이 존재
• Kubernetes는 권한/정책 위임을 위한 웹훅 설계를 초기부터 가지고 있음
• 수년 간 성숙된 오픈소스(OPA Gatekeeper) 존재
Kubernetes 환경의 Policy as Code 적용
• 조직 별로 Kubernetes 네임 스페이스를 관리하는 케이스
• 예를 들어 기본적으로 <조직_코드>_<서비스 이름>_<prd/stg/dev>
에 대한 권한을 부여한다면?
• RBAC(Policy as Data)로 관리한다면
• 새로운 조직이 추가/삭제 될 때마다 권한도 동기화해야 함
• Policy as Code로 관리한다면
• 네임 스페이스 규칙을 정하고 조직 코드에 따라 유효한 네임스페이스인지 체
크하는 코드를 작성하면 됨
Policy as Code/RBAC 비교 예시
• 사용 가능한 컨테이너 이미지 제한 정책
• 고객사 관련 부서에서는 특정 mysql 버전에 대해서만 기술 지원이 가능
• 운영계에는 개발도구/디버깅 심볼/root 계정이 제외된 이미지가 배포되어야
함
• 네트워크 관련 정책
• 운영계에는 노드 포트를 만들 수 없음
• 조직별로 연결 가능한 로드 밸런서가 다름
• 자원 관리 정책
• DB 인스턴스는 메모리 8GB까지 할당 가능
• Go 애플리케이션은 512MB 이상 메모리 할당 불가
• Java 애플리케이션은 메모리 1GB 할당 가능
Policy as Code를 적용한 Kubernetes 정책 구현 예 (1/2)
• 관리 용이성을 위한 정책
• 생성하는 네임스페이스 등에 조직별로 지정된 prefix로 구분해야 함
• 컨테이너에 운영계/개발계 등 레이블링이 되어야 함
• 서비스 안정성을 위한 정책
• 운영계에서는 별도의 PV가 없는 DB 인스턴스는 생성 불가하고 개발계
에서만 가능
• 운영계에서는 항상 AutoScaling이 구성되어야 함
• 보안성 강화 정책
• 협력사 직원은 프로젝트 개발 기간 종료 후 시스템에 접근할 수 없음
Policy as Code를 적용한 Kubernetes 정책 구현 예 (2/2)
OPA Gatekeeper Architecture
• OPA Gatekeeper를 통해 Policy as Code 구현을 위
한 OPA(Open Policy Agent) 정책 엔진을 Kubernetes에 통합할
수 있음
• 정책 엔진 통합만으로 Policy as Code 구현을 완료했다고 할 수
없음
• 정책 템플릿/정책 등의 개발 및 적용 필요
• Policy as Code 관련 관리를 위한 기능들이 Kubernetes 관리 플랫폼에
추가되어야 함
Kubernetes 플랫폼에 Policy as Code 통합
• 정책 컨트롤러 관리
• 프로비저닝 및 라이프사이클 관리
• 정책 로그 관리
• 정책의 처리 내역에 대한 통계/보고서, 검색, 백업 기능
• 내부 시스템 데이터 연계
• LDAP/AD 등 내부 시스템 정보 연계
• 기존 구축된 DB 연계
• 정책 관리
• Git 등을 통한 정책 이력/버전 관리 기능
• 정책 관리를 위한 정책 저장소
• 프로덕션 수준의 정책 라이브러리
플랫폼에서 통합해야 하는 기능들
질문 및 답변
감사합니다

Más contenido relacionado

Similar a 세션5_데보션테크데이_이상근.pdf

201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개Gruter
 
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 -  박성훈 NEOWIZ 팀장,...[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 -  박성훈 NEOWIZ 팀장,...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...Amazon Web Services Korea
 
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdfHeeJung Chae
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetesNAVER D2
 
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)Lowy Shin
 
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...BESPIN GLOBAL
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oceuEngine Solutions
 
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기Amazon Web Services Korea
 
[2015 Oracle Cloud Summit] 3. Database as a Service_Private Cloud상의 DB as a S...
[2015 Oracle Cloud Summit] 3. Database as a Service_Private Cloud상의 DB as a S...[2015 Oracle Cloud Summit] 3. Database as a Service_Private Cloud상의 DB as a S...
[2015 Oracle Cloud Summit] 3. Database as a Service_Private Cloud상의 DB as a S...Oracle Korea
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례SONG INSEOB
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sSeong-Bok Lee
 
Aws migration case_study_v1.0.1
Aws migration case_study_v1.0.1Aws migration case_study_v1.0.1
Aws migration case_study_v1.0.1NDSCorporation
 
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업Amazon Web Services Korea
 
클라우드 이행전략과 HP의 사례
클라우드 이행전략과 HP의 사례클라우드 이행전략과 HP의 사례
클라우드 이행전략과 HP의 사례Seong-Bok Lee
 
AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례
AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례
AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례Amazon Web Services Korea
 
polyglot application development in the cloud
polyglot application development in the cloudpolyglot application development in the cloud
polyglot application development in the cloudMee Nam Lee
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐Terry Cho
 
[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...
[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...
[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...Amazon Web Services Korea
 
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...Amazon Web Services Korea
 

Similar a 세션5_데보션테크데이_이상근.pdf (20)

201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
201210 그루터 빅데이터_플랫폼_아키텍쳐_및_솔루션_소개
 
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 -  박성훈 NEOWIZ 팀장,...[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 -  박성훈 NEOWIZ 팀장,...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...
 
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016
성공적인 AWS클라우드로의 여정 그리고 5가지 궁금한 점 :: 김재성 :: AWS Summit Seoul 2016
 
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
[giip] A.I. Infrastructure Advisor (인공지능 인프라 어드바이저)
 
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
All about Data Center Migration Session 1. <Case Study> 오비맥주 사례로 알아보는 DC 마이그레...
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
 
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
AWS Finance Symposium_바로 도입할 수 있는 금융권 업무의 클라우드 아키텍처 알아보기
 
[2015 Oracle Cloud Summit] 3. Database as a Service_Private Cloud상의 DB as a S...
[2015 Oracle Cloud Summit] 3. Database as a Service_Private Cloud상의 DB as a S...[2015 Oracle Cloud Summit] 3. Database as a Service_Private Cloud상의 DB as a S...
[2015 Oracle Cloud Summit] 3. Database as a Service_Private Cloud상의 DB as a S...
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 
Aws migration case_study_v1.0.1
Aws migration case_study_v1.0.1Aws migration case_study_v1.0.1
Aws migration case_study_v1.0.1
 
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
[Partner TechShift 2017] APN 컨설팅 파트너사와 함께 하는 클라우드 소프트웨어 사업
 
클라우드 이행전략과 HP의 사례
클라우드 이행전략과 HP의 사례클라우드 이행전략과 HP의 사례
클라우드 이행전략과 HP의 사례
 
AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례
AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례
AWS 12월 웨비나 │클라우드 마이그레이션을 통한 성공사례
 
polyglot application development in the cloud
polyglot application development in the cloudpolyglot application development in the cloud
polyglot application development in the cloud
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
 
[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...
[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...
[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...
 
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
 

Más de Jaesuk Ahn

세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdfJaesuk Ahn
 
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdfJaesuk Ahn
 
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...Jaesuk Ahn
 
세션0_데보션테크데이_개회사_v1.0.pdf
세션0_데보션테크데이_개회사_v1.0.pdf세션0_데보션테크데이_개회사_v1.0.pdf
세션0_데보션테크데이_개회사_v1.0.pdfJaesuk Ahn
 
세션1_데보션테크데이_시연데모_v1.0.pdf
세션1_데보션테크데이_시연데모_v1.0.pdf세션1_데보션테크데이_시연데모_v1.0.pdf
세션1_데보션테크데이_시연데모_v1.0.pdfJaesuk Ahn
 
세션5_데보션테크데이_AIops_v1.0.pdf
세션5_데보션테크데이_AIops_v1.0.pdf세션5_데보션테크데이_AIops_v1.0.pdf
세션5_데보션테크데이_AIops_v1.0.pdfJaesuk Ahn
 
세션4_데보션테크데이_k10backup_Veeam_v1.0.pdf
세션4_데보션테크데이_k10backup_Veeam_v1.0.pdf세션4_데보션테크데이_k10backup_Veeam_v1.0.pdf
세션4_데보션테크데이_k10backup_Veeam_v1.0.pdfJaesuk Ahn
 
세션4_데보션테크데이_k10backup_SKT_v1.0.pdf
세션4_데보션테크데이_k10backup_SKT_v1.0.pdf세션4_데보션테크데이_k10backup_SKT_v1.0.pdf
세션4_데보션테크데이_k10backup_SKT_v1.0.pdfJaesuk Ahn
 
SKT Openinfra days 2018 Presentation
SKT Openinfra days 2018 Presentation SKT Openinfra days 2018 Presentation
SKT Openinfra days 2018 Presentation Jaesuk Ahn
 
SK Telecom TACO Introduction at Berlin Summit
SK Telecom TACO Introduction at Berlin SummitSK Telecom TACO Introduction at Berlin Summit
SK Telecom TACO Introduction at Berlin SummitJaesuk Ahn
 
Monitoring System Targeting OpenStack, Baremetal, and Network Fabric
Monitoring System Targeting OpenStack, Baremetal, and Network FabricMonitoring System Targeting OpenStack, Baremetal, and Network Fabric
Monitoring System Targeting OpenStack, Baremetal, and Network FabricJaesuk Ahn
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia Jaesuk Ahn
 
OpenStack at Korea Community Day
OpenStack at Korea Community DayOpenStack at Korea Community Day
OpenStack at Korea Community DayJaesuk Ahn
 

Más de Jaesuk Ahn (13)

세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf세션2_데보션테크데이_Decapod_v1.2.pdf
세션2_데보션테크데이_Decapod_v1.2.pdf
 
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
 
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
세션5_데보션테크데이_1_MSA와 오픈소스의 중요성 - OSC Korea(이제응) - v2...
 
세션0_데보션테크데이_개회사_v1.0.pdf
세션0_데보션테크데이_개회사_v1.0.pdf세션0_데보션테크데이_개회사_v1.0.pdf
세션0_데보션테크데이_개회사_v1.0.pdf
 
세션1_데보션테크데이_시연데모_v1.0.pdf
세션1_데보션테크데이_시연데모_v1.0.pdf세션1_데보션테크데이_시연데모_v1.0.pdf
세션1_데보션테크데이_시연데모_v1.0.pdf
 
세션5_데보션테크데이_AIops_v1.0.pdf
세션5_데보션테크데이_AIops_v1.0.pdf세션5_데보션테크데이_AIops_v1.0.pdf
세션5_데보션테크데이_AIops_v1.0.pdf
 
세션4_데보션테크데이_k10backup_Veeam_v1.0.pdf
세션4_데보션테크데이_k10backup_Veeam_v1.0.pdf세션4_데보션테크데이_k10backup_Veeam_v1.0.pdf
세션4_데보션테크데이_k10backup_Veeam_v1.0.pdf
 
세션4_데보션테크데이_k10backup_SKT_v1.0.pdf
세션4_데보션테크데이_k10backup_SKT_v1.0.pdf세션4_데보션테크데이_k10backup_SKT_v1.0.pdf
세션4_데보션테크데이_k10backup_SKT_v1.0.pdf
 
SKT Openinfra days 2018 Presentation
SKT Openinfra days 2018 Presentation SKT Openinfra days 2018 Presentation
SKT Openinfra days 2018 Presentation
 
SK Telecom TACO Introduction at Berlin Summit
SK Telecom TACO Introduction at Berlin SummitSK Telecom TACO Introduction at Berlin Summit
SK Telecom TACO Introduction at Berlin Summit
 
Monitoring System Targeting OpenStack, Baremetal, and Network Fabric
Monitoring System Targeting OpenStack, Baremetal, and Network FabricMonitoring System Targeting OpenStack, Baremetal, and Network Fabric
Monitoring System Targeting OpenStack, Baremetal, and Network Fabric
 
OpenStack at Xen summit Asia
OpenStack at Xen summit Asia OpenStack at Xen summit Asia
OpenStack at Xen summit Asia
 
OpenStack at Korea Community Day
OpenStack at Korea Community DayOpenStack at Korea Community Day
OpenStack at Korea Community Day
 

세션5_데보션테크데이_이상근.pdf

  • 1. Policy as Code를 활용한 Kubernetes 정책 관리 통합 Everything on Kubernetes, Kubernetes Anywhere 클라우드거버넌스앤아키텍쳐(주) 이상근
  • 2. • 경력 • 대학 졸업한지 20년 정도, 그 후로 분산 시스템 관련 일만 했음 • 전공이 분산 시스템이어서 다른 거 하고 싶어도 안 시킴ㅠㅠ • MSA, Policy as Code 전문 기업 창업(2021.09) 후 운영 중 • 주로 일하는 분야 • Policy as Code, MSA, Cloud, Bigdata Engineering. ... • 주로 하는 일 • AA, TA, 개발, 컨설팅 등 • 특이 사항 • 세계 최초로 OPA (Open Policy Agent) 관련 책을 썼음 • http://acornpub.co.kr/book/opa-book • 영어 버전은 온라인에서 무료로 볼 수 있음 (https://sangkeon.github.io/opaguide/) • 클라이언트 사이드 로드밸런싱 기능을 직접 만들어 봤음 발표자 소개
  • 3. 01 배경 02 Policy as Code 03 Kubernetes 플랫폼과 Policy as Code 적용
  • 5. • 빠른 세상의 변화를 따라 잡아야 함 • 경쟁자보다 앞서야 된다는 강박 • IT 역량으로 경쟁자를 압박하고 도태시킬 수 있음 비즈니스 환경
  • 7. • MSA는 각 서비스들의 각자도생, 독립성과 자율성 중요 • 그러나 공통의 관리(표준화 포함)가 필요한 부분도 존재 • 3A(인증, 인가, 감사) • 모니터링, 추적, 로그 관리 • 정책관리 • 현재 SSO를 통한 인증 통합이 활발함 • 인증이 통합되고 나면 그 다음 단계? MSA 정책 관리 필요성
  • 8. 거버넌스 (Governance) 정책 (Policy) 권한관리 (Authorization) 권한, 정책, 거버넌스
  • 9. • 위임이 해결책 • 각 서비스가 정책을 최신 상태로 직접 유지보수하는 것은 어렵 고 비쌈 • RDBMS가 모든 애플리케이션의 데이터 관리를 위임 받아 데이 터 관리와 정합성의 문제를 해결했음 • 정책을 위임받는 정책에 최적화된 시스템 필요 • 이러한 정책 관리 전문 시스템을 통한 위임의 개념이 Policy as Code 임 MSA 정책 관리 해법
  • 10. 02 Policy as Code
  • 11. • 정책을 애플리케이션 로직과 분리된 별도의 코드로 관리 • 정책은 자체적인 정책 언어를 사용해서 구현됨 • (RDBMS가 SQL을 사용하는 것처럼) • 정책 엔진에 정책 코드 처리를 위임함 • (RDBMS가 데이터 저장과 처리를 전담하듯이) • 애플리케이션은 정책 판단을 위한 정보만 넘기고 정책 엔진으로부터 판단 결과만을 받아서 처리 • (RDBMS에 JDBC로 쿼리를 넘기고 결과셋을 받아서 처리하듯이) • 정책 엔진은 라이브러리, 사이드카, 정책 서버의 형태로 애플리케이 션에 통합 될 수 있음 • 결국 Policy as (on its own) Code Policy as Code
  • 12. Policy as Code 동작 방식
  • 13. Sandboxing • 비즈니스 로직과 정책을 서로 분리 Codification • 정책의 내용이 코드이므로 한눈에 파악 가능 Version Control • Git을 통한 이력 관리가 가능 Testing • 애플리케이션 코드와 완전히 독립적으로 정책만 테스트할 수 있음 Automation • 정책 코드가 텍스트 파일이므로 외부 도구 연동/자동화가 용이 https://docs.hashicorp.com/sentinel/concepts/policy-as-code 참고 Policy as Code의 장점
  • 14. • Kubernetes 기본 RBAC에 비해 고도화된 정책 관리 • OAuth, OIDC와 통합한 서비스 인증/권한 관리 • 클라우드 보안 솔루션의 보안 정책 • CI/CD, DevOps 정책 관리 • API GW의 API 호출 정책 관리 • ... Policy as Code 적용 분야
  • 15. • Styra의 OPA(Open Policy Agent)와 Hashicorp의 Sentinel이 대 표적 • OPA (Open Policy Agent) : https://www.openpolicyagent.org • Sentinel : https://docs.hashicorp.com/sentinel • OPA와 Sentinel 모두 정책을 선언하는 자체 정책 언어를 가지고 있음 • 대부분의 Policy as Code 기술들은 OPA를 기반으로 함 Policy as Code 구현체
  • 16. 03 Kubernetes 플랫폼과 Policy as Code 적용
  • 17. • Kubernetes RBAC을 보완할 수 있음 • 획일화되고 천편일률적인 권한 관리에서 벗어난 고도화된 권한 관리 가능 • 수년 내 반드시 적용되어야 함 • 기존 컨테이너 보안 기술 PSP(Pod Security Policy)가 제거되고 외부 시스템에 처리가 위임될 예정 • 표준화된 패턴이 존재 • Kubernetes는 권한/정책 위임을 위한 웹훅 설계를 초기부터 가지고 있음 • 수년 간 성숙된 오픈소스(OPA Gatekeeper) 존재 Kubernetes 환경의 Policy as Code 적용
  • 18. • 조직 별로 Kubernetes 네임 스페이스를 관리하는 케이스 • 예를 들어 기본적으로 <조직_코드>_<서비스 이름>_<prd/stg/dev> 에 대한 권한을 부여한다면? • RBAC(Policy as Data)로 관리한다면 • 새로운 조직이 추가/삭제 될 때마다 권한도 동기화해야 함 • Policy as Code로 관리한다면 • 네임 스페이스 규칙을 정하고 조직 코드에 따라 유효한 네임스페이스인지 체 크하는 코드를 작성하면 됨 Policy as Code/RBAC 비교 예시
  • 19. • 사용 가능한 컨테이너 이미지 제한 정책 • 고객사 관련 부서에서는 특정 mysql 버전에 대해서만 기술 지원이 가능 • 운영계에는 개발도구/디버깅 심볼/root 계정이 제외된 이미지가 배포되어야 함 • 네트워크 관련 정책 • 운영계에는 노드 포트를 만들 수 없음 • 조직별로 연결 가능한 로드 밸런서가 다름 • 자원 관리 정책 • DB 인스턴스는 메모리 8GB까지 할당 가능 • Go 애플리케이션은 512MB 이상 메모리 할당 불가 • Java 애플리케이션은 메모리 1GB 할당 가능 Policy as Code를 적용한 Kubernetes 정책 구현 예 (1/2)
  • 20. • 관리 용이성을 위한 정책 • 생성하는 네임스페이스 등에 조직별로 지정된 prefix로 구분해야 함 • 컨테이너에 운영계/개발계 등 레이블링이 되어야 함 • 서비스 안정성을 위한 정책 • 운영계에서는 별도의 PV가 없는 DB 인스턴스는 생성 불가하고 개발계 에서만 가능 • 운영계에서는 항상 AutoScaling이 구성되어야 함 • 보안성 강화 정책 • 협력사 직원은 프로젝트 개발 기간 종료 후 시스템에 접근할 수 없음 Policy as Code를 적용한 Kubernetes 정책 구현 예 (2/2)
  • 22. • OPA Gatekeeper를 통해 Policy as Code 구현을 위 한 OPA(Open Policy Agent) 정책 엔진을 Kubernetes에 통합할 수 있음 • 정책 엔진 통합만으로 Policy as Code 구현을 완료했다고 할 수 없음 • 정책 템플릿/정책 등의 개발 및 적용 필요 • Policy as Code 관련 관리를 위한 기능들이 Kubernetes 관리 플랫폼에 추가되어야 함 Kubernetes 플랫폼에 Policy as Code 통합
  • 23. • 정책 컨트롤러 관리 • 프로비저닝 및 라이프사이클 관리 • 정책 로그 관리 • 정책의 처리 내역에 대한 통계/보고서, 검색, 백업 기능 • 내부 시스템 데이터 연계 • LDAP/AD 등 내부 시스템 정보 연계 • 기존 구축된 DB 연계 • 정책 관리 • Git 등을 통한 정책 이력/버전 관리 기능 • 정책 관리를 위한 정책 저장소 • 프로덕션 수준의 정책 라이브러리 플랫폼에서 통합해야 하는 기능들