API keys vs tokens - what's the difference?
Medium
솔직히 저도 명확하게 차이점을 설명하지 못했던 부분인데요,
이를 이해할 수 있게 정리된 좋은 아티클이 있어 공유드립니다.
📌 정의
API 키: API 를 호출할 때 클라이언트를 식별하고 권한을 부여하기 위해 제공하는 값입니다. 프로그램에서 사용되도록 고안되었으며 문자와 숫자로 구성된 긴 문자열인 경우가 많습니다.
토큰: 사용자 세션 또는 특정 권한을 나타내는 데이터 조각입니다. 제한된 기간 동안 개인 사용자가 사용합니다.
📌 생성 방법(Generation)
API 키: 주로 사용자 인터페이스를 통해 한 번 생성되며 Refresh 될 때까지 정적 상태로 유지됩니다. 일정 시간이 지나면 만료되도록 선택적으로 구성할 수 있습니다.
토큰: 성공적인 인증 또는 로그인 이벤트 시 동적으로 생성됩니다. 만료 시간이 짧은 경우가 많지만 더 오랜 기간 동안 새로 고칠 수 있습니다.
📌 범위(Scope)
API 키: 고정되고 변경되지 않는 권한 세트를 지원합니다. 키를 가진 사람은 누구나 허용된 리소스에 접근할 수 있습니다.
토큰: 개인이 접근할 수 있는 특정 데이터 또는 기능으로 제한됩니다. 이는 역할이나 기타 비즈니스 수준의 요구 사항에 영향을 받을 수 있습니다. 데이터 제한에 더 중점을 두는 경향이 있습니다.
📌 보안(Security)
API 키: 일반적으로 수명이 길고 데이터에 대한 접근을 제한하지 않으므로 탈취당하면 치명적일 수 있습니다. 유일한 해결 수단으로 키를 취소 혹은 삭제해야 합니다. 애플리케이션은 손상된 키를 식별하고 악의적인 사용자를 찾기 위해 우수한 관찰 기능을 갖추어야 하는 경우가 많습니다.
토큰: 보안을 염두하여 설계되었습니다. 일반적으로 수명이 짧고 쉽게 취소 혹은 삭제 됩니다. 탈취된 토큰은 사용자가 접근할 수 있는 데이터 범위만 영향이 있으며 자동으로 만료된 뒤에는 사용이 불가능합니다.
📌 사용 사례
API 키: 서버 간 통신, 날씨 API와 같은 공개 데이터 액세스, 타사 시스템과 통합에 사용됩니다.
토큰: 사용자 인증, FGAC(세분화된 액세스 제어), 리소스에 대한 임시 액세스 권한 부여, 브라우저 액세스 및 사용자 세션 관리에 사용됩니다.
좀더 자세한 설명과 사용 예시는 공유드린 원문을 참고해주세요.
📚 원문
https://medium.com/momento-serverless/api-keys-vs-tokens-whats-the-difference-b3358b664ea6
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 12월 31일 오전 9:58
기
... 더 보기과
... 더 보기최
... 더 보기