에이전트 인증, 왜 사람 로그인과 다르게 설계해야 할까요
AI한테 계정을 하나 만들어 주면서 '내 걸 그냥 써'라고 넘겨 본 적 있으시죠? 편하긴 한데, 그게 가장 위험한 선택이에요.
결론부터 말하면, AI 에이전트 인증의 핵심은 세 가지예요. (1) 에이전트마다 사람과 별개의 고유 신원을 주고, (2) 필요한 최소 권한만, 짧은 수명의 자격증명으로 인증하게 하고, (3) 되돌릴 수 없는 작업엔 사람 승인을 건다. 다만 실제로는 신원·권한·비밀정보·승인·로그·회수가 톱니처럼 맞물려야 사고를 막아서, 하나씩 짚어 볼게요.
2026년은 AI가 '답을 보조'하던 데서 '도구를 직접 조작'하는 단계로 넘어온 해예요. 에이전트가 메일함을 읽고, 파일을 정리하고, 결제를 하고, 사내 시스템을 호출해요. 그만큼 '이 에이전트가 무엇을 인증받아 어디까지 할 수 있나'가 보안의 중심이 됐어요. 아래 7가지는 모델 종류와 상관없이 통하는 원칙이에요.

1. 에이전트마다 고유 신원 — 사람 계정 공유 금지
첫 번째이자 모든 것의 출발점이에요. 에이전트는 사람과 별개의 고유 신원을 가져야 해요. 사람 자격증명을 물려주거나, 여러 에이전트가 공용 계정 하나를 나눠 쓰면 안 돼요.
고유 신원이 있어야 세 가지가 작동해요. (1) 감사 로그에서 '이 작업은 이 에이전트가 했다'가 명확해지고, (2) 사고가 난 에이전트만 즉시 정지·회수할 수 있고, (3) 에이전트별로 권한을 다르게 줄 수 있어요. 사람 직원마다 사원증이 다르듯, 에이전트도 각자 신원을 갖는 게 기본이에요.
공용 계정 하나를 여럿이 쓰면 로그가 뒤섞여 원인 추적이 안 되고, 한 곳이 뚫리면 전부 뚫려요. 신원 분리가 안 되면 뒤에 나올 권한·승인·회수가 전부 헛돌아요.
2. OAuth로 인증 — 위임 흐름과 자율 흐름을 나눠요
두 번째. 아이디·비밀번호를 직접 들고 다니지 말고 OAuth 기반으로 인증하게 해요. 이때 '누구를 대신하는가'에 따라 흐름을 둘로 나눠요.
에이전트가 나(사용자)를 대신해 일할 땐 위임 흐름을 써요. 사용자가 허락한 범위 안에서만 움직이게 하는 거예요. 반대로 사람 없이 스스로 정해진 일을 할 땐 클라이언트 자격증명 흐름을 써요. 에이전트 자체의 신원으로 인증하는 방식이에요.
둘을 구분하는 이유는 책임 범위가 달라서예요. 사용자 대신 하는 일은 사용자 권한을 넘으면 안 되고, 자율 작업은 그 에이전트에 준 권한만큼만 해야 해요. 요즘 MCP(모델 컨텍스트 프로토콜)처럼 AI가 외부 도구에 붙는 표준에도 OAuth 기반 인증이 자리잡는 중이에요. API 키를 코드에 박아 두는 방식은 AI API 키 안전하게 관리하는 법에서 다룬 유출 사고의 단골 원인이라, 처음부터 토큰 기반으로 가는 게 안전해요.
3. 최소 권한 스코프 + 짧은 수명 토큰
세 번째. 권한은 필요한 만큼만, 토큰은 필요한 순간에만이에요. 이 두 가지를 함께 걸어야 효과가 나요.
최소 권한 스코프는 '메일을 읽어서 요약'하는 작업이면 읽기 권한만 주고 발송·삭제는 빼는 거예요. 짧은 수명 토큰은 24시간짜리 세션 대신 수 분짜리 토큰을 발급하고 곧 만료시키는 거예요. 토큰이 유출돼도 곧 죽으니 피해 창이 짧고, 스코프가 좁으니 유출돼도 할 수 있는 일 자체가 적어요.
가장 위험한 건 '오래 살고 권한 넓은 토큰' 하나예요. 반대로 '짧게 살고 권한 좁은 토큰' 여럿이 안전해요. 자동 갱신·회전을 걸어두면 관리 부담도 크지 않아요. 권한을 넓게 주면 편하지만, 사고 났을 때 피해 범위도 그만큼 넓어져요.
4. 비밀정보는 프롬프트·코드가 아니라 금고에
네 번째. API 키·비밀번호·토큰 같은 비밀정보를 프롬프트·코드·설정 파일에 직접 적어 두면 안 돼요. 로그·저장소·대화 기록에 그대로 남아 새어 나가거든요.
비밀정보는 전용 금고(시크릿 매니저)에 두고, 에이전트는 실행 시점에 필요한 것만 잠깐 꺼내 쓰게 해요. 프롬프트에는 '어떤 자격증명을 참조하라'는 지시만 넣고 실제 값은 넣지 않아요. 이렇게 하면 대화 기록이 유출돼도 비밀값 자체는 안 나와요.
여기에 더해, 프롬프트 인젝션으로 에이전트가 비밀정보를 뱉게 유도하는 공격도 있어요. 그래서 애초에 에이전트가 원문 비밀값을 들고 있지 않게 설계하는 게 안전해요. 이런 입력 조작 방어는 AI 프롬프트 인젝션 방어 7가지 팁에 따로 정리해 뒀어요.

5. 고위험 작업엔 사람 승인 게이트
다섯 번째. 최소 권한으로 문을 좁혀도, 남는 고위험 작업엔 사람 승인을 이중으로 걸어요. 되돌릴 수 없거나 외부에 영향을 주는 작업이 대상이에요.
구체적으로 (1) 결제·구매, (2) 메일·메시지 발송, (3) 파일·데이터 삭제나 변경, (4) 외부 공개·게시예요. 이런 작업은 에이전트가 실행 직전에 사람에게 물어보고, 승인받아야만 진행하게 해요. 반대로 읽기·요약·초안 작성 같은 되돌릴 수 있는 작업은 자동으로 둬도 괜찮아요.
판단 기준은 '이게 잘못되면 되돌릴 수 있나'예요. 권한(무엇을 할 수 있나)과 승인(그중 무엇을 사람이 확인하나)은 다른 층이에요. 둘을 겹쳐 깔면 인증이 뚫려도 마지막 문에서 한 번 더 걸러져요.
6. 모든 호출을 감사 로그로 — 사람과 같은 평면에서
여섯 번째. 에이전트가 무엇을 인증받아 어떤 순서로 무슨 도구를 호출했는지 기록을 남겨요. 사고가 났을 때 원인을 찾고 재발을 막으려면 추적이 필요하거든요.
핵심은 '사람과 같은 평면'이에요. 사람의 접근과 에이전트의 접근을 서로 다른 도구에서 따로 관리하면, 그 경계선에 사각지대가 생겨요. 같은 관리 화면, 같은 감사 로그에서 함께 보면 '이 사용자를 대신한 이 에이전트가 이 작업을 했다'가 한 줄로 이어져요.
로그가 없으면 결과가 이상해도 추측만 하게 돼요. 특히 에이전트를 여러 개 돌릴수록 추적이 중요해져요. 반복되는 실수 패턴은 권한·승인 설계에 다시 반영하면 돼요.
7. 소유자 지정 + 정기 권한 검토·회수
마지막. 에이전트는 한 번 만들고 방치되기 쉬워요. 안 쓰는 에이전트가 넓은 권한을 그대로 들고 있으면 조용한 구멍이 돼요.
그래서 (1) 에이전트마다 소유자(책임자)를 명확히 지정하고, (2) 정해진 주기로 '이 권한이 아직 필요한가'를 점검하고, (3) 안 쓰는 에이전트·권한은 회수해요. 사람 직원의 접근 권한을 주기적으로 검토·회수하는 것과 똑같은 원리예요.
에이전트가 늘수록 이 정리 작업이 더 중요해져요. 만들 땐 열심히 권한을 주는데 지울 땐 아무도 안 챙기거든요. 소유자가 있어야 회수도 누군가의 일이 돼요.
에이전트 인증 자가진단 체크리스트
지금 운영 중인 에이전트가 있다면 아래 8개를 점검해 보세요. '아니오'가 하나라도 있으면 그게 우선 보강 지점이에요.
여섯 개 이상이면 기본은 갖춘 편이에요. 셋 이하라면 신원 분리(1번)와 승인 게이트(7번)부터 손대는 게 효과가 커요.
작업 유형별 권장 인증·권한 한눈에 보기
작업 성격에 따라 인증을 어디까지 챙길지 다르게 가야 해요. 아래 표를 기준으로 삼으면 편해요.
| 작업 유형 | 되돌리기 | 권장 인증·권한 | 사람 승인 |
|---|
| 자료 읽기·요약 | 가능 | 읽기 전용 스코프, 짧은 토큰 | 불필요(자동 OK) |
| 초안·코드 생성 | 가능 | 작업 폴더 한정 쓰기 | 불필요~권장 |
| 내부 데이터 조회 | 가능 | 최소 스코프, 감사 로그 필수 | 불필요 |
| 메일·메시지 발송 | 불가 | 발송 스코프 + 승인 게이트 | 필수 |
| 결제·구매 | 불가 | 별도 권한 + 한도 + 승인 | 필수 |
| 파일·데이터 삭제·변경 | 불가(어려움) | 쓰기 최소화, 되도록 읽기 전용 | 필수 |
| 외부 공개·게시 | 불가 | 게시 스코프 분리 + 승인 | 필수 |
되돌릴 수 있는 작업은 자동으로 두되 스코프를 좁히고, 되돌릴 수 없는 작업은 권한을 좁히고도 승인 게이트를 겹쳐요. 이 표는 AI 에이전트 장기 작업 위임 7단계 가드레일의 위임 원칙과도 짝이 맞아요. 인증이 '누가 무엇을 할 수 있나'라면, 위임 가드레일은 '그 일을 어떻게 안전하게 시키나'예요.
마무리 — 오늘 바로 할 수 있는 3가지
(1) 사람 계정을 물려준 에이전트를 찾아 고유 신원으로 분리하기 — 공용·차용 계정부터 끊는 게 1순위예요. (2) 고위험 작업에 승인 게이트 걸기 — 결제·발송·삭제는 반드시 사람 확인을 거치게 해요. (3) 권한 한 번 훑고 안 쓰는 건 회수하기 — 넓은 권한을 방치한 에이전트가 가장 조용한 위험이에요.
정리하면, 에이전트 인증의 핵심은 '편의를 위해 사람 걸 통째로 넘기지 않는 것'이에요. 에이전트마다 신원을 나누고, OAuth로 위임과 자율을 구분하고, 최소 권한 좁은 토큰으로 인증하고, 비밀정보는 금고에 넣고, 고위험 작업엔 승인을, 모든 호출엔 로그를, 그리고 정기적으로 권한을 회수하면 돼요. 자동화 범위가 넓어질수록 '얼마나 많이 맡기느냐'보다 '무엇을 인증받아 어디까지 하게 두느냐'가 사고를 가르거든요. 에이전트와 자동화의 경계가 헷갈린다면 AI 에이전트와 자동화의 차이부터 짚고 오면 설계가 한결 또렷해져요.