왜 ID를 숨기는 것만으로는 안전한 공유 링크를 보장하지 못했는가
발행: (2026년 1월 16일 오후 01:55 GMT+9)
2 min read
원문: Dev.to
Source: Dev.to
ID를 숨기는 것만으로는 안전한 공유 링크에 충분하지 않은 이유

최근에 보안 공유 링크가 일반적으로 어떻게 설계되는지에 대해 고민하면서 깊은 생각에 빠졌습니다.
첫 번째 직관은 명백한 것이었습니다: 내부 ID를 해시하고, URL에 넣고, 백엔드에서 해석하는 것. 이것은 작동합니다 — 하지만 취소, 만료, 접근 제어에 대해 생각하기 시작하면 그렇지 않게 됩니다.
마침내 깨달은 것은 공유 링크가 리소스 자체가 아니라, 리소스에 접근할 수 있는 권한이라는 점이었습니다. 이 두 개념을 분리하고 간접 레이어(슬러그 → 리소스)를 추가하니, 많은 어색한 엣지 케이스가 사라졌습니다.
이 사고 전환에 대해 짧은 회고를 썼습니다 — 튜토리얼이 아니라, 제가 직접 겪으며 배운 설계 교훈일 뿐입니다: