Authorization 2

Broken Access Control Secure Coding: IDOR·권한 우회·Tenant 격리

인증에 성공했다는 사실은 모든 데이터와 기능을 사용할 수 있다는 뜻이 아닙니다. 인증(Authentication)은 요청자가 누구인지 확인하고, 인가(Authorization)는 그 주체가 이 리소스에 이 동작을 수행해도 되는지 판단합니다.Broken Access Control은 이 두 번째 판단이 빠지거나 서로 다른 경로에서 일관되지 않을 때 발생합니다.URL의 주문 ID를 다른 값으로 바꿨더니 다른 고객의 주문이 보입니다.일반 사용자가 관리자 Endpoint를 직접 호출할 수 있습니다.Tenant A 사용자가 Tenant B의 파일이나 Export 결과를 내려받습니다.수정 DTO에 role, ownerId, tenantId를 추가했더니 보호 필드가 바뀝니다.단건 조회는 막았지만 목록, 검색, 캐시와 ..

보안 2026.08.01

엔터프라이즈 AI Agent 권한 설계: 사용자·테넌트·Tool 인가와 감사 로그

사용자가 AI Agent에게 요청합니다.“지난주 회의의 결정 사항을 찾아 줘.”“이 회의의 후속 업무를 등록해 줘.”“완료된 회의를 다른 조직으로 옮겨 줘.”Agent는 자연어를 이해하고 회의 검색, 요약 조회, 업무 생성과 회의 이동 Tool을 선택합니다.이때 “사용자가 로그인했다”는 사실만으로는 어느 요청도 실행할 수 없습니다.로그인됨≠ 모든 Tenant 접근 가능≠ 모든 Tool 실행 가능≠ 모든 객체 변경 가능≠ 현재 업무 상태에서 허용됨더 어려운 문제는 실행 주체가 하나가 아니라는 점입니다.사용자 → AI Client → Agent Runtime → MCP Server → Business API → Database최종 Database 변경은 Servi..