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를 통해 외부 서비스와 민감한 데이터를 교환합니다. 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 공급자는 API 키를 사용하여 API 액세스를 엄격하게 규제합니다. 일부 공급자는 API에 시간 또는 요청 제한을 적용합니다. 이러한 경우 클라이언트 애플리케이션은 지정된 기간 동안만 또는 하루에 최대 한도까지만 API를 사용할 수 있습니다. 한도를 초과하면 서버는 관련 API 키의 모든 요청을 거부합니다.
API 키와 API 토큰의 차이점은 무엇인가요?
API 키는 주로 API 클라이언트의 애플리케이션 트래픽을 식별하기 위한 고유 식별자 문자열입니다. API 키는 일반적으로 호출 애플리케이션이 배포되는 특정 서버와 연결됩니다. 애플리케이션이 API 요청을 하면 서버는 API 키로 호출 애플리케이션을 식별합니다.
반대로 API 토큰은 특정 사용자를 식별하는 포괄적인 데이터를 포함하는 일련의 코드입니다. API 토큰에는 특정 사용자에게 부여된 액세스 범위도 포함됩니다. 이를 통해 서버는 호출 사용자의 요청을 인증하고 API 사용 범위를 검증할 수 있습니다. 예를 들어, 사용자는 싱글 사인온 토큰을 사용하여 API 그룹에 액세스할 수 있습니다.
API 키는 사용자 권한 부여에서 역할이 제한적이므로 생성하기가 더 간단합니다. 반대로, API 토큰에는 식별 및 인증 데이터가 들어 있기 때문에 API 토큰을 부여하면 더 많은 제한과 절차가 적용됩니다.
Amazon Web Services(AWS)에서는 API 토큰을 인증 토큰 또는 보안 토큰이라고도 합니다. 개발자는 IAM 권한, Lambda 권한 부여자 또는 Amazon Cognito 사용자 풀을 사용하여 API 토큰을 생성하고 API에 대한 액세스를 관리합니다.
API 키 모범 사례는 무엇인가요?
API 키를 사용할 때 염두에 두어야 할 몇 가지 모범 사례가 있습니다.
사용자 인증에 API 키를 사용하지 마세요. API 키는 사용자 액세스를 규제하기 위한 것이 아닙니다. 마찬가지로 전송 중에 표시될 수 있으므로 기밀 정보를 API 키에 포함하지 마세요.
API 키를 소스 코드나 리포지토리에 직접 임베드하지 마세요. 삭제하지 않으면 애플리케이션을 게시할 때 일반에 노출될 수 있습니다.
API 키를 더 이상 사용하지 않을 때는 삭제하세요. 보다 강력한 API 보안을 위해 키에 만료 시간을 추가하는 것을 고려해 보세요.
AWS가 API 키 관리에 어떤 도움을 줄 수 있나요?
Amazon Web Services(AWS)는 API 키 관리 요구 사항에 적합한 Amazon API Gateway를 제공합니다.
API Gateway를 사용하여 모든 규모의 REST, HTTP 및 WebSocket API를 생성, 게시, 유지 관리, 모니터링 및 보호할 수 있습니다. API 개발자는 AWS 또는 기타 웹 서비스와 AWS 클라우드에 저장된 데이터에 액세스하는 API를 만들 수 있습니다.
API를 생성, 테스트, 배포한 후에는 API Gateway 사용 요금제를 사용하여 API를 고객에게 제품 서비스로 제공할 수 있습니다. 고객이 선택한 API에 액세스할 수 있도록 사용량 계획 및 API 키를 구성할 수 있습니다. 또한 정의된 한도 및 할당량에 따라 해당 API에 대한 요청 제한을 시작할 수 있습니다.
지금 바로 계정을 만들어 AWS에서 API 키 관리를 시작하세요.