다섯 살도 알 수 있게 · 보안
API 보안이 뭐예요?
API 보안(API Security)을 창구 뒤 심부름꾼 전용 작은 문에 문지기를 세우는 이야기로 풀어봤어요.
창구 뒤엔 심부름꾼만 쓰는 작은 문이 있어요.손님은 창구로 와요. 하지만 다른 성의 심부름꾼은 창구 대신 작은 문으로 와서 물건을 받아가요. 이 작은 문이 심부름꾼 문이에요.
그 문에 문지기가 없으면 곤란해요.도둑이 명부를 통째로 가져가고, 하루 만 번 두드려도 아무도 안 세요. 잊힌 옛 문은 있는지도 몰라요. 창구엔 검토원이 있지만 뒷문엔 아무도 없어요.
API 보안은 심부름꾼 문에 문지기를 세우는 거예요.창구만큼 꼼꼼하게요. 입장권을 보고, 자기 상자만 열게 하고, 두드리는 횟수를 세고, 문이 몇 개인지 적어둬요.
입장권 확인누구인지, 뭘 해도 되는지
자기 상자만옆 상자는 안 돼요
횟수 세기천 번이면 잠깐 쉬어요
문 목록표잊힌 문이 없게
입장권에 적힌 상자만 열 수 있어요. 옆 상자는 안 돼요.입장권이 있어도 옆 상자까지 열게 두면 안 돼요. 문지기는 두드린 횟수도 세요 — 천 번이 되면 잠깐 쉬라고 해요.
모든 문에 이름표와 문지기가 있으면 도둑은 뒷문을 못 찾아요.잊힌 문이 없는지 바깥에서도 세어 봐요. 심부름꾼 문의 입장권은 열쇠 대신 입장권, 창구의 검토원은 쪽지 검토원 이야기에 있어요.
한 줄로
API 보안 = 창구 뒤 심부름꾼 전용 작은 문에도 문지기를 세워, 입장권을 보고, 자기 상자만 열게 하고, 두드리는 횟수를 세고, 문 목록표를 적는 일.
API Security. 화면 뒤에서 프로그램끼리 데이터를 주고받는 통로(API)를 지키는 일이에요. 인증·인가, 객체 수준 권한(BOLA), 레이트 리밋, API 인벤토리가 핵심이고, OWASP API Top 10 이 대표적인 점검 목록이에요.
어른들은 이렇게 불러요
- API
API - 심부름꾼 문. 사람이 쓰는 창구가 아니라, 프로그램끼리 물건을 주고받는 작은 문이에요.
- 인증 · 인가
Authentication · authorization - 누구인지 · 뭘 해도 되는지. 입장권에 둘 다 적혀 있어요. → 열쇠 대신 입장권
- BOLA
BOLA - 옆 상자 열기. 입장권은 진짜인데 7번 손님이 8번 상자까지 열어요. 뒷문에서 제일 흔한 실수예요.
- 레이트 리밋
Rate limiting - 두드리는 횟수 세기. 천 번이면 잠깐 쉬게 해요. 가짜 손님 떼도 막아요. → 성문 앞 가짜 손님 떼
- API 게이트웨이
API gateway - 문지기가 서는 자리. 심부름꾼 문을 하나로 모아, 입장권 확인과 횟수 세기를 한 곳에서 해요.
- API 키
API key - 심부름꾼의 열쇠. 잃어버리면 아무나 심부름꾼이 돼요. 종이에 적어 두지 말고 금고에 넣어요. → 비밀 열쇠 보관
- OWASP API Top 10
OWASP API Top 10 - 뒷문 실수 열 가지. 옆 상자 열기가 1번이에요. 문지기가 외우는 목록이에요.
- 섀도 API
Shadow API - 잊힌 옛 문. 아무도 기억 못 하는데 열려 있어요. → 바깥에서 세는 우리 성의 문
다음 이야기
똑같이 찍어낸 짐칸 →