API 검색은 조직에서 사용하는 모든 API(내부 및 제3자)를 식별 및 카탈로그화하고 API 기능, 엔드포인트, 데이터 구조 및 기타 관련 정보를 문서화하는 프로세스입니다.
API 디스커버리는 사용 중인 애플리케이션 프로그래밍 인터페이스(API)의 목록을 생성하고, 각 API가 무엇을 하는지, 누가 접근 권한을 가지고 있는지 등 다양한 정보를 제공합니다. 또한 숨겨져 있거나 잊힌 API를 찾아내는 데에도 도움이 되며, 이는 보안 위험을 완화하는 데 매우 중요합니다.
API는 현대 소프트웨어 개발의 중요한 부분이며 양방향 교환을 제공합니다. 즉, API는 개발자와 애플리케이션이 데이터를 요청하고, 서비스를 추가하고, 다른 애플리케이션의 능력을 활용할 수 있도록 하는 동시에 애플리케이션 소유자에게 제품을 공유, 홍보 및 마케팅할 수 있는 방법을 제공합니다. 이 필수 기능에는 복잡성과 취약성이 추가됩니다.
API 관리는 이러한 취약점을 보호하고 API 에코시스템이 의도한 대로 작동하는지 확인하는 데 중요합니다. API 보안, 인증, 효율성, 민감한 데이터 보호 및 특정 애플리케이션이 어떻게 사용되고 있는지에 대한 전반적인 비전을 유지하기 위해서는 API의 수, 유형 및 인기도를 정확히 파악하는 것이 중요합니다. 그렇다면 애플리케이션 소유자는 이 모든 정보를 어떻게 찾을 수 있을까요? 바로 여기에서 API 검색이 필요합니다.
API 또는 애플리케이션 프로그래밍 인터페이스는 애플리케이션과 서비스가 서로 통신할 수 있도록 하는 규칙과 프로토콜의 집합입니다. 이들은 본질적으로 애플리케이션이 다양한 소스에서 실시간으로 데이터를 가져올 수 있도록 하는 중간자들입니다. API는 날씨 앱의 날씨 데이터, 쇼핑 앱의 빠른 결제, 레스토랑 웹사이트의 지도 등 다양한 사용 사례를 제공합니다. 기업에서 API는 워크플로와 플랫폼을 통합하고, 마이크로서비스를 연결하고, 자산 공유를 촉진하고, 타사 사용자가 애플리케이션을 사용할 수 있도록 하는 등 다양한 용도로 사용됩니다.
Salesforce 설문조사에 따르면 현대 기업이 사용하는 애플리케이션의 수는 평균 1,000개가 넘습니다. 따라서 조직에서 강력한 API 검색 관행을 갖추는 것이 중요합니다. API 검색은 문서화된 API와 숨겨진 API를 모두 찾고, 디렉터리를 생성하고, 발견된 API의 재고를 컴파일하는 프로세스를 의미합니다. API 검색이 그토록 중요한 데에는 여러 가지 이유가 있는데, API 검색이 제공할 수 있는 이점과 이 프로세스를 무시할 경우 애플리케이션 보안에 미칠 수 있는 영향 때문입니다. API 검색은 철저하고 완전한 API 문서를 수집하는 데 중요한 부분입니다.
이중화 - 문서를 복잡하게 하는 동일하거나 유사한 기능의 여러 인스턴스를 생성하는 것은 효율성과 생산성을 저하시켜 개발 프로세스에 심각한 영향을 미칠 수 있습니다. 요컨대, 실제로 새롭지 않은 새 API를 만드는 것은 시간과 리소스를 낭비할 수 있습니다. 적절한 API 검색 및 문서는 API 중복 가능성을 줄일 수 있습니다. 휠에 대한 문서를 쉽게 찾을 수 있다면 휠을 다시 만들 필요가 없습니다.
API 검색 툴을 사용하여 API를 검색하고 견고한 문서를 생성함으로써 개발자는 액세스하고 통합할 수 있는 기존 애플리케이션과 서비스(내부 및 외부 모두)를 더 잘 이해할 수 있습니다. 개발자는 기존 서비스 및 기능을 사용하여 프로덕션을 가속화하고 애플리케이션 능력을 확장하며 시장 출시 시간을 단축할 수 있습니다.
API 검색을 사용하면 개발자가 기존 서비스를 찾고 사용하는 데 도움이 되는 API 재고를 생성할 수 있습니다. 이는 개발자가 옵션 메뉴를 제공하여 애플리케이션의 데이터와 서비스를 통합하도록 장려하는 추가적인 이점이 있습니다.
API 검색 및 API 카탈로그의 일관된 유지 관리를 통해 팀은 존재하는 API를 빠르고 쉽게 찾을 수 있습니다. 이를 통해 개발자가 깨닫지 못했을 수 있는 능력에 대해 경고하여 효율성을 높이고 불필요한 작업을 줄이며 워크플로를 개선할 수 있습니다.
최신 API 카탈로그를 유지 관리하는 것은 사용자 정보 및 API 키와 같은 중요한 데이터에 누가 액세스할 수 있는지 모니터링하는 좋은 방법입니다. API 검색을 사용하여 민감한 데이터에 액세스하는 모든 API를 찾으면 애플리케이션 소유자는 누가 무엇에 액세스할 수 있는지 보다 쉽게 모니터링하고 API 및 애플리케이션이 모든 관련 법률 및 지침을 준수하는지 확인할 수 있습니다. 이는 섀도 API의 보급을 고려할 때 특히 중요합니다.
API 검색에는 API에 대한 다양한 세부 정보(API 유형, API가 수행하는 작업, 액세스할 수 있는 데이터 등)를 발견하는 작업이 포함되며, 이는 개발자가 조직에서 사용하는 API를 식별하고 더 잘 이해하는 데 도움이 됩니다. API 검색은 다음을 포함하여 API에 대한 정보를 생성합니다.
프로토콜, 아키텍처 및 지원되는 데이터 형식: 검색 프로세스는 API가 사용하는 프로토콜 또는 아키텍처(예:REST, GraphQL, SOAP 또는 RPC)와 허용하는 데이터 형식(예: JSON, XML 및 YAML)을 문서화하는 데 도움이 됩니다.
API 엔드포인트: 이는 일반적으로 URL로 표시되는 특정 데이터 또는 서비스 저장소의 위치입니다.
인증: API는 인식된 클라이언트, 프로젝트 및 사용자만 액세스할 수 있도록 보안이 유지되는 경우가 많습니다. API 검색은 인증 사양을 파악하는 데 도움이 됩니다.
방법 및 매개변수: API 검색은 GET, PUT, DELETE 및 POST와 같은 지원되는 작업과 API가 허용하는 매개변수를 발견합니다.
API 검색은 API 보안을 강화하는 데 중요한 역할을 할 수 있습니다. 적절한 API 문서와 API 관리를 통해 애플리케이션 소유자는 API 사용 현황을 종합적으로 파악할 수 있으므로 보안 취약점을 더 쉽게 발견할 수 있습니다. 그러면 애플리케이션 소유자나 개발자가 잠재적인 문제를 해결할 수 있습니다.
API 검색이 API 보안에 기여하는 가장 중요한 방법 중 하나는 숨겨진 API를 찾아내는 것입니다.
숨겨진 API가 반드시 악의적인 것은 아니기 때문에 '숨겨진'이라는 용어는 정확하지 않습니다. 대신 "숨겨진 API"는 문서화되지 않고 API 문서에 포함되지 않은 API를 의미합니다. 무한 스크롤 기능이나 웹 애플리케이션 텍스트 필드의 많은 자동 완성 기능과 같이 완벽하게 무해한 숨겨진 API가 많이 있습니다.
즉, 무해한 숨겨진 API라도 보안 팀에 잠재적인 골칫거리를 제공할 수 있습니다. 보안 솔루션에서 제외되는 숨겨진 API는 애플리케이션 소유자의 일반적인 규제 및 방화벽과 같은 보안 조치의 적용을 받지 않습니다. 숨겨진 API에는 단순히 잊혀진 것부터 적극적으로 유해한 것까지 다양한 유형이 있으므로 API 검색 프로세스가 매우 중요합니다.
반드시 악의적일 필요는 없지만 섀도 API는 이를 사용하는 엔티티에서 관리하거나 보호하지 않는 API로 정의됩니다. API 가시성이 없으면 기업의 보안 범위를 벗어나 공격에 취약해집니다.
2022년 보고서에 따르면 악성 거래의 약 31%가 섀도 API를 표적으로 삼아 주목할만한 보안 위험이 되는 것으로 나타났습니다. 섀도 API를 겨냥한 API 공격은 사용자 정보나 독점 지식과 같은 민감한 데이터를 위험에 빠뜨릴 가능성이 있으므로 사이버 보안은 우수한 API 검색 기술을 사용해야 하는 큰 이유가 됩니다. 또한 보안 팀은 자신이 알지 못하는 API에 보안 패치를 제공할 수 없기 때문에 섀도 API에는 영리한 해커 외에는 누구에게나 알려지지 않은 취약점이 있을 수 있습니다. 이것은 공격 표면 또는 악의적인 행위자가 이용할 수 있는 Avenue를 확장할 수 있습니다.
섀도 API는 보안 정책의 모든 종류의 오류, 실수 및 조잡함으로 인해 발생합니다. 일부 개발자는 적절한 API 문서를 사용하는 것을 잊어버리거나 충분히 신경 쓰지 않을 수 있습니다. 이전 API는 여전히 존재하지만 문서에서 제거되는 경우가 있습니다. 회사 합병은 또한 많은 섀도 API를 생성하는 것으로 악명이 높습니다. 개발자가 테스트 목적이나 아주 작은 맞춤형 사용 사례를 위해 섀도 API를 만들면서 보안 팀에 그 존재를 알리지 않는 경우가 있습니다.
약간 다른 유형의 숨겨진 API는 좀비 API로, 잊어버렸지만 지워지지 않은 API입니다. 좀비 API는 한때는 제대로 보안이 적용되고 유지되었을 수 있지만, 이후 방치되어 지금은 심지어 이를 만든 애플리케이션 소유자조차 존재를 모를 수도 있습니다. 좀비 API는 일반적으로 업데이트나 패치가 이루어지지 않지만, 애플리케이션 시스템의 일부에 여전히 숨겨진 출입구 역할을 합니다.
불량 API에 대한 용어는 조직마다 다를 수 있습니다. 일부는 "섀도 API"와 "악성 API"를 같은 의미로 사용하는 반면, 다른 일부는 "악성 API"를 사용하여 의도적으로 악성적인 API를 지칭합니다.
성공적인 API 검색 관행은 일관되고 잘 문서화되어 있으며 표준화되어 있습니다. 이러한 원칙을 따르면 현재와 미래의 내부 및 외부 개발자가 API를 효율적이고 안전하게 사용하는 데 도움이 될 수 있습니다.
표준화: OAS(OpenAPI 사양), REST 및 GraphQL과 같은 표준 사양 및 프로토콜을 사용하면 API 검색 및 API 호환성을 개선하고 소비자가 API를 빠르게 이해하는 데 도움이 될 수 있습니다.
문서화: 강력하고 표준화된 문서가 있는 API는 검색이 더 쉬워 통합, 협업 및 관리에 큰 도움이 될 수 있습니다. 문서화가 잘 되어 있을수록 더 많은 API를 사용하고 개선할 수 있습니다.
일관성: API는 지속적으로 추가, 업데이트 및 사용 중지되므로 정기적으로 API 검색을 수행하는 것이 중요합니다. 이는 일회성 작업이 아닙니다. 자동화된 시스템을 사용하면 이를 더 쉽게 만들 수 있지만 정기적인 수동 검색도 효과적입니다.
수동 API 검색 툴부터 완전 자동화에 의존하는 툴에 이르기까지 다양한 API 검색 툴이 있습니다. 각각에는 강점과 약점이 있습니다.
많은 개발자가 어떤 형태로든 수동 API 검색에 참여하고 있습니다. 여기에는 소스 코드를 조사하거나 이상 징후를 찾기 위해 실시간 API 트래픽을 모니터링하는 것이 포함될 수 있습니다. 보안 팀이 찾고 있는 것이 무엇인지 정확히 알고 있다면 이러한 수동 방법은 자동화된 방법보다 더 빠르고 직접적일 수 있습니다. 그러나 일반적으로 수동 API 검색은 느리고 효율성이 떨어지며 더 미묘한 숨겨진 API를 놓치는 경향이 있으며 더 고급 노하우가 필요할 수 있습니다.
전문화되고 자동화된 API 검색 툴이 많이 있습니다. 예를 들어 API Gateway는 API 호출을 수신하고 전달하는 중앙 집중식 "중개자"입니다. 게이트웨이는 API를 카탈로그화하고 모니터링하는 데 도움이 되며 일반적으로 작업의 일부로 많은 API 검색 리프트를 수행합니다.
자동 API 검색을 제공하는 다른 특수 API 보호 서비스가 있습니다. 이러한 서비스를 찾을 때에는 강력한 보안 태세를 갖추고 있고, 잘 알려진 표준(OpenAPI 사양 등)을 준수하며, OWASP 상위 10대 API 보안 위험의 피해를 방지하고, 조직의 플랫폼과 쉽게 통합할 수 있는 제공업체를 찾는 것이 일반적입니다.
자동화를 통해 API의 라이프사이클을 개선하고 보안 API만 애플리케이션 및 관련 리소스에 액세스할 수 있도록 할 수 있습니다.
진화하는 비즈니스 요구 사항에 맞춰 조정되는 동적이고 확장 가능한 통합을 지원합니다. AI 기반의 API 주도 자동화를 만나보세요.
애플리케이션과 시스템을 연결하여 중요 데이터에 빠르고 안전하게 액세스할 수 있는 IBM 통합 솔루션을 활용해 비즈니스 잠재력을 실현하세요.
에이전틱 AI 시대에 하이브리드 클라우드의 가치를 최대한 활용하기