Skip to Content
웹 API 설계
book

웹 API 설계

by Brenda Jin, Saurabh Sahni, Amir Shevat
May 2025
Beginner to intermediate
232 pages
2h 58m
Korean
O'Reilly Media, Inc.
Book available
Content preview from 웹 API 설계

3장. API 보안

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

보안은 모든 웹 애플리케이션에서 중요한 요소이며, 특히 API의 경우 더욱 그렇습니다. 새로운 보안 문제와 취약점은 항상 발견되고 있으며, 공격으로부터 API를 보호하는 것이 중요합니다. 보안 침해는 재앙을 초래할 수 있습니다. 보안이 제대로 구현되지 않으면 중요한 데이터는 물론 매출 손실로 이어질 수 있습니다.

애플리케이션의 보안을 유지하기 위해 엔지니어는 여러 가지 작업을 수행합니다. 여기에는 입력 유효성 검사, 모든 곳에서 보안 소켓 계층(SSL) 프로토콜 사용, 콘텐츠 유형 유효성 검사, 감사 로그 유지 관리, 크로스 사이트 요청 위조(CSRF) 및 크로스 사이트 스크립팅(XSS)으로부터 보호 등이 포함됩니다. 이러한 모든 작업은 모든 웹 애플리케이션에 중요하며 반드시 수행해야 합니다. 이러한 일반적인 웹 애플리케이션 보안 관행 외에도 회사 외부의 개발자에게 노출하는 웹 API에 특별히 적용되는 추가 기술이 있습니다. 이 장에서는 이러한 모범 사례와 기업들이 실제로 API를 어떻게 보호하고 있는지 자세히 살펴봅니다.

인증 및 권한 부여

인증과 권한 부여는 보안의 두 가지 기본 요소 입니다:

인증

본인 확인 프로세스. 웹 애플리케이션은 일반적으로 사용자 이름과 비밀번호로 로그인을 요청하는 방식으로 본인 확인을 수행합니다. 이 조합은 기존의 유효한 사용자 이름/비밀번호 레코드와 대조하여 요청이 진짜인지 확인합니다.

권한 부여

사용자가 수행하려는 작업을 수행할 수 있는지 확인하는 프로세스입니다. 예를 들어, 웹 애플리케이션에서 페이지를 볼 수는 있지만 관리자가 아니면 해당 페이지를 편집할 수 없도록 허용할 수 있습니다. 이것이 바로 권한 부여입니다.

API를 설계할 때는 앱 개발자가 API로 인증과 권한 부여를 모두 수행할 방법을 고려해야 합니다. 초기에 API 제공업체는 기본 인증을 지원하기 시작했습니다. 이는 웹에서 접근 제어를 시행하는 데 사용되는 가장 간단한 기술입니다. 클라이언트는 Authorization 헤더에 "Basic"이라는 단어 뒤에 공백이 있고 사용자 이름과 비밀번호를 콜론(username:password)으로 결합하고 base64로 인코딩하여 생성된 문자열로 구성됩니다:

Authorization: Basic dXNlcjpwYXNzd29yZA==

기본 인증은 간단하지만 가장 낮은 수준의 보안을 제공합니다. API에 기본 인증을 사용하는 경우 타사 개발자의 애플리케이션을 사용하려면 사용자가 사용자 아이디와 비밀번호 자격 증명을 공유해야 할 수 있습니다. 여기에는 다음과 같은 몇 가지 단점이 있습니다:

  • 애플리케이션은 이러한 자격 증명을 일반 텍스트 또는 해독할 수 있는 방식으로 저장해야 합니다. 애플리케이션이 버그나 기타 수단을 통해 자격 증명을 노출하면 악의적인 해커에게 개인 사용자 데이터가 유출될 수 있습니다. 많은 사람들이 여러 서비스에서 동일한 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

데이터 시각화의 기본 원리

데이터 시각화의 기본 원리

Claus O. Wilke
API 스타일 학습

API 스타일 학습

Lukasz Dynowski, Marcin Dulak
자바스크립트 + 리액트 디자인 패턴

자바스크립트 + 리액트 디자인 패턴

애디 오스마니(Addy Osmani)

Publisher Resources

ISBN: 9798341654952