언어에 구애받지 않는 OpenAPI 사양을 통해 클라이언트는 서버 소스 코드에 접속하거나 서버 구축에 대한 지식 없이도 서비스를 이해하고 사용할 수 있습니다.
OpenAPI 문서는 일반적으로 JSON 또는 YAML로 작성되며 인간과 머신 모두 쉽게 이해할 수 있습니다. DevOps 팀은 OpenAPI를 통해 문서를 자동화하고 API가 업계 표준을 준수하도록 보장함으로써 애플리케이션을 다른 소프트웨어 및 서비스와 쉽게 통합할 수 있습니다.
이를 통해 개발자는 클라이언트 인증정보를 인증하고 API에 대한 권한을 부여하는 방법을 지정하는 글로벌 보안 정의인 보안 스키마를 설정함으로써 보안을 강화할 수 있습니다.
API란 무엇일까요?
API(Application Programming Interface)는 다양한 소프트웨어 프로그램 및 구성요소가 통신, 데이터 교환 및 공유 기능을 지원할 수 있게 해주는 프로토콜 및 정의입니다. API는 애플리케이션이 정보를 요청하고 교환하는 방법을 정의함으로써 이커머스 및 모바일 결제부터 소셜 미디어 및 클라우드 서비스에 이르기까지 다양한 기능과 트랜잭션을 지원함으로써 소프트웨어 시스템이 서로 상호 작용할 수 있도록 합니다.
API 보안이란 무엇일까요?
API는 클라우드 서비스, 마이크로서비스, 서버리스 프레임워크를 비롯한 최신 컴퓨팅 기능에 필수적입니다. API는 애플리케이션 로직과 리소스를 노출할 수 있으며, 리를 통해 민감하고 소중한 정보가 전송될 수 있기 때문에 공격자에게 매우 매력적인 표적입니다. API 보안 솔루션을 사용하면 해커가 API의 취약점을 악용하거나 API를 이용해 IT 자산 및 시스템에 무단으로 접속하지 못하도록 차단할 수 있습니다. API 보안에는 멀티레이어 접근 방식이 필요합니다. 여기에는 인증, 시그니처 기반 보호, 전송률 제한 및 스로틀링, 웹 애플리케이션 방화벽, 보안 정책 적용이 포함될 수 있습니다.
API 보안을 위협하는 것은 무엇일까요?
주요 API 보안 위협에는 여러 가지 종류가 있습니다.
- 취약점 악용 위협은 해커가 API의 결함을 이용해 API에 무단으로 접속할 수 있게 합니다.
- 인증 프로세스 위협은 공격자가 인증 프로세스를 감염시켜 API가 비정상 또는 악성 출처의 요청을 수락하게 만듭니다.
- 인증 오류 위협은 API와 상호 작용하는 클라이언트가 민감한 정보에 접속할 때 데이터 유출을 초래할 수 있습니다.
DoS(denial-of-service) 또는 DDoS(distributed denial-of-service) 공격은 공격자가 수많은 동시 요청으로 API 작업에 부담을 주어 API가 느려지거나 응답하지 않을 때 발생합니다.
API 보안이란 무엇일까요?
OpenAPI 사양(OAS) 은 소프트웨어 개발자가 REST API와 상호작용할 수 있는 애플리케이션을 구축하는 데 사용하는 프레임워크입니다. OpenAPI 사양(기존의 Swagger 사양)은 API와 통신하는 방법, 요청할 수 있는 정보의 종류, 반환되는 정보를 간략하게 설명합니다. OpenAPI 문서는 일반적으로 JSON 또는 YAML로 작성되며 인간과 머신 모두 쉽게 이해할 수 있습니다. DevOps 팀은 OpenAPI를 통해 문서를 자동화하고 API가 업계 표준을 준수하도록 보장함으로써 애플리케이션을 다른 소프트웨어 및 서비스와 쉽게 통합할 수 있습니다.
OpenAPI 문서를 통해 개발자는 다음과 같은 API의 필수 요소를 정의할 수 있습니다.
- 각 엔드포인트의 존재와 작동
- 각 작업의 입력 및 출력 매개변수
- 인증 기술
- 연락처 목록, 메타데이터, 사용 약관, 라이선스, 사용 가능한 문서 등에 대한 정보
오픈 소스 프레임워크인 OpenAPI는 API를 생성할 때 사용하는 언어에 구애받지 않습니다. 따라서 컴퓨터와 사용자 모두 소스 코드 접속 또는 추가 문서 없이도 API가 제공하는 기능을 쉽게 식별하고 이해할 수 있습니다. 결과적으로 OpenAPI 사양은 여러 프로토콜, 환경, 인터페이스가 관련된 개발 프로세스를 간소화합니다.
OpenAPI 보안이란 무엇일까요?
OpenAPI는 모든 API에 대해 쉽게 접근하고 읽을 수 있는 API 문서를 제공함으로써 API 및 API 게이트웨이 보안을 개선하는 데 도움을 줍니다. DevOps 팀이 각 API 엔드포인트와 해당 기능을 이해하면 보안 리스크를 더 잘 예측하고 취약점 발생을 방지할 수 있습니다. OpenAPI 보안 문서는 보안 팀이 API의 내부 보안 정책 준수 또는 위반 여부를 판단하는 데도 도움이 됩니다.
개발자는 OpenAPI를 통해 클라이언트 인증정보를 인증하고 API에 대한 권한을 부여하는 방법을 지정하는 글로벌 보안 정의인 보안 스키마를 설정함으로써 보안을 강화할 수 있습니다.
OpenAPI는 보안 요구사항을 문서화하고 전달하는 데 도움이 되지만, 보안 조치를 적용하고 구축하는 작업은 API 서버 및 인프라의 몫입니다.
OpenAPI 보안의 5가지 종류는 무엇일까요?
OpenAPI 3.0은 5가지 종류의 보안 체계를 지원합니다.
- API 키 보안 체계는 API 호출을 수행할 때 클라이언트가 제공하는 접속 토큰, 즉 API 키를 사용합니다.
- HTTP 인증 방식은 2가지 종류의 인증 체계를 제공합니다. 기본 인증은 표준 HTTP 권한 헤더를 사용합니다. 베어러 인증에서는 '베어러 토큰'이라는 보안 토큰을 사용합니다. 이 보안 토큰은 로그인 요청에 대한 응답으로 서버에서 생성되는 암호화 문자열입니다.
- OAuth2 보안 체계는 웹 서버의 사용자 데이터에 대한 제한적 접속 권한을 API 클라이언트에 제공하는 권한 프로토콜입니다. 이 OpenAPI 보안 체계는 Facebook, Google, GitHub와 같은 기업에서 사용됩니다.
- MutualTLS 방식은 서버와 클라이언트 사이에서 양방향 또는 상호 인증이나 권한 코드를 사용하는 보안 체계로, 클라이언트가 API 요청에 대해 신뢰할 수 있는 인증서를 제공합니다.
- OpenID Connect 방식은 OAuth 2.0 프로토콜을 기반으로 하며, 클라이언트 애플리케이션이 사용자에 대한 정보를 인증하고 가져올 수 있도록 지원하는 로그인 흐름을 정의합니다. 사용자 ID 정보는 보안 JWT(JSON Web Token) 또는 ID 토큰으로 인코딩됩니다.
OpenAPI의 보안 과제는 무엇일까요?
OpenAPI 보안에만 의존하는 기업과 보안 팀은 API가 야기하는 리스크와 위협의 상당 부분을 놓칠 수 있습니다.
- OpenAPI 보안은 여러 일반적인 위협에 대한 방어 기능을 제공하지 못합니다. OpenAPI 정의 파일로는 API 로직을 표적으로 하는 공격을 차단할 정책을 만들 수 없습니다. 여기에는 OWASP API 보안 상위 10대 취약점에 정의된 다수의 위협이 포함됩니다.
- OpenAPI 보안 툴은 공격자가 OpenAPI 보안 체계 검증을 우회하려는 시도를 인식하거나 차단하지 못할 수 있습니다.
- OpenAPI 보안 문서는 비정상적인 API 호출을 차단하는 엄격한 검증 기법을 적용할 때 정상 트래픽에 대한 접속도 거부할 수 있습니다.
- OpenAPI 보안 툴은 약한 검증 기법 사용 시 각종 악성 API 호출이 검증을 통과할 수 있습니다.
자주 묻는 질문(FAQ)
OpenAPI는 처음에 Swagger 프레임워크의 일부였습니다. 그러다 2016년에 별도의 프로젝트가 되었습니다.
수많은 업계 리더와 수만 명의 개발자 커뮤니티가 OpenAPI 사양을 지원하고 있습니다. 이러한 광범위한 업계 지원은 대규모 코드 기반에서의 안정성을 의미합니다. OpenAPI는 RESTful API를 정의하고 생성하는 가장 인기 있는 오픈 소스 프레임워크로 널리 알려져 있습니다.
고객이 Akamai를 선택하는 이유
Akamai는 온라인 라이프를 지원하고 보호합니다. 전 세계 주요 기업들은 매일 수십억 명 고객의 생활, 업무, 여가를 지원하고 디지털 경험을 안전하게 제공하기 위해 Akamai 솔루션을 활용합니다. Akamai Connected Cloud는 대규모로 분산된 엣지 및 클라우드 플랫폼으로, 앱과 경험을 사용자와 더 가까운 곳에 배치하고 위협을 멀리서 차단합니다.