
걱정 없이 권한 부여: Dev Korea #1 요약
8월 28일, 우리는 특별한 자리로 Dev Korea #1 시리즈를 시작했습니다 — 환상적인 Picky 의 공간에서 30명 이상의 열정적인 개발자들이 모인 아늑한 저녁이었어요. Francis Chung의 권한 관련 발표는 모두가 고개를 끄덕이게 했고(아마도 고통스러운 공감의 기억에 움찔했을 수도 😅), 발표 후 피자와 네트워킹은 밤늦게까지 대화를 이어가게 했습니다.
🎯 가슴에 와닿는 발표
Permission impossible - Dead reckoning pain by Francis Chung
Francis는 30년이 넘는 엔지니어링 지혜를 바탕으로 모든 개발자의 눈을 조금씩 떨리게 하는 주제 중 하나인 권한과 인가(permissions and authorization) 문제를 다뤘습니다. 그의 첫 질문은 참석자 모두에게 크게 공감되었습니다 — "새로운 역할이나 권한을 추가하는 것이 왜 이렇게 고통스럽고 어려운가요? 왜 어떤 사람들은 치과 가는 것보다 이걸 더 두려워할까요?" 🦷

발표는 완벽하게 구성되어 다음 내용을 다뤘습니다:
- 권한의 기초와 왜 이것이 어려운지
- 인증(Authentication) vs 인가(Authorization) — AuthN과 AuthZ의 결정적 차이
- 다양한 ��근 제어 모델들과 그 실제적 영향
- 개발자가 즉시 공감할 수 있는 실용적인 코드 예제
- 훌륭한 토론을 촉발한 라이브 Q&A
🔧 기술적 심층 분석: 장점, 단점, 그리고 복잡성
Francis는 다양한 접근 방식을 깊이 있게 비교하며 인가(authorization) 전반을 안내했습니다:
그가 추천한 솔루션으로는 Topaz가 등장했습니다 — Aserto의 오픈소스 인가 엔진으로 Open Policy Agent(OPA)와 Zanzibar 패턴을 지원합니다. 그는 정책을 위한 JSON 유사 DSL과 RBAC, ABAC, ReBAC 모델 지원을 강조했습니다.
Google Zanzibar 생태계도 큰 주목을 받았습니다. Francis는 오픈소스 옵션(SpiceDB, OpenFGA, Ory/Keto, Permify, Permit.io, Topaz)과 상용 솔루션(Oso, Auth0/Okta)을 모두 분석했습니다. 그 Google Zanzibar 통계는 놀라웠습니다: 95번째 백분위 지연시간이 10밀리초 미만, 3년 동안 99.999% 가용성, 그리고 10,000대 서버에 걸쳐 초당 1,000만 건 이상의 쿼리 처리. 정말 PlanetScale급 숫자였습니다! 🚀
가장 많은 논쟁을 불러일으킨 것은 관계 기반 접근 제어(Relationship-based Access Control, ReBAC) 였습니다. Francis는 그 강점을 다음과 같이 정리했습니다 — 세분화된 권한, 확장성, 시각적 표현, 중앙 집중화된 관리 — 동시에 도전 과제도 솔직하게 언급했습니다: 복잡한 관계 매핑, 그래프 이론 학습 곡선, 그리고 감사(auditing) 어려움.
속성 기반 접근 제어(Attribute-based Access Control, ABAC) 는 균형 잡힌 설명을 받았습니다. 세분화된 권한과 보안 규정 준수 측면에서 장점이 있지만, 복잡성, 성능 우려, 그리고 많은 개발자가 피하고 싶어 하는 악명 높은 XACML 마크업 언어 같은 단점도 지적되었습니다.
역할 기반 접근 제어(Role-based Access Control, RBAC) 는 아마도 가장 실용적인 논의가 이루어졌습니다. Francis는 전형적인 API 엔드포인트 호출과 인가 체크를 보여주는 깔끔한 Python 코드 예제를 제시했습니다. 장점은 분명했습니다 — 널리 사용되고 구현이 쉬우며 중소 규모 앱에 적합 — 그러나 단점도 솔직히 이야기했습니다: 엔터프라이즈 환경에서의 확장성 문제, 역할 폭발(role explosion) 문제, 권한 로직과 코드 로직 간의 높은 결합도 등입니다.
🍕 훌륭한 대화를 위한 완벽한 연료
Dev Korea의 후원 덕분에 모든 참가자를 잘 먹이고 기분 좋게 했습니다:
- 사람들이 두 번째(세 번째!) 접시를 찾게 만든 맛있는 피자
- 네트워킹 대화를 북돋아준 충분한 음료들 🥤
- 훌륭한 음식과 좋은 사람들의 완벽한 조합
분위기는 우리가 목표로 했던 바로 그 느낌이었습니다 — 편안하고 친근하며 새로운 인연을 만들기 좋은 자리. 30명 이상의 소규모 모임이라 의미 있는 대화를 나누기에도 충분히 아늑하면서도 활기찬 커뮤니티 에너지를 느낄 수 있었습니다. 발표 후 토론은 특히 풍성했는데, 개발자들이 각자의 인가 관련 악몽 같은 경험담을 공유하고 다양한 구현 접근법을 비교했습니다.
🙌 감사의 인사
이 행사는 다음과 같은 훌륭한 지원이 없었다면 성사되지 못했을 것입니다:
- 훌륭한 장소를 제공해주신 Picky
- 놀라운 통찰을 공유해주고 권한 문제를 실제로 흥미롭게 만들어주신 Francis Chung — 호주 Alt.Net 및 DDD-AU 밋업 경험을 바탕으로 한 그의 발표는 특히 인상적이었습니다
- 모두를 행복하게 해준 음식과 음료를 후원해준 Dev Korea
- 호기심과 질문, 에너지를 가져와 저녁을 특별하게 만들어주신 모든 30명 이상의 멋진 개발자 여러분 ✨
👀 다음 일정 안내
Dev Korea #1의 아담한 규모는 우리가 이 커뮤니티를 사랑하는 이유를 상기시켜주었습니다 — 진정한 연결을 만들고 실제로 더 나은 소프트웨어를 만드는 데 도움이 되는 지식을 나누는 일입니다. Francis의 기술적 깊이와 캐주얼한 네트워킹 분위기가 정확히 올바른 균형을 이루었습니다.
우리는 다음 이벤트들을 계획 중이며 최소 월 1회 이상 행사를 열 계획이라 앞으로도 항상 흥미로운 일정이 기다리고 있습니다! 다음에 어떤 행사를 준비 중인지 보려면 dev-korea.com/events를 확인하세요.
우리가 만드는 것들과 계속 연결되어 있고 싶나요? LinkedIn, X을 팔로우하고, 우리의 Discord 서버에 참여하시거나 최신 소식을 받으려면 Weekly Dev Korea Digest Newsletter를 구독하세요.
더 많은 코드의 밤, 커뮤니티, 그리고 진짜로 의미 있는 대화들을 기원합니다! 🍻
다음 커리어를 탐색할 준비가 되셨나요? 최신 채용공고를 확인하려면 Dev Korea의 채용 공고를 방문하거나, 고용주라면 채용 공고 올리기를 통해 한국의 혁신 생태계에 기여할 열정적인 테크 인재들과 연결해보세요.