요즘 거의 모든 크로스 서비스 애플리케이션에서이 단어를 봅니다.
API 키는 정확히 무엇이며 용도는 무엇입니까?
또한 공개 및 비공개 API 키의 차이점은 무엇입니까?
요즘 거의 모든 크로스 서비스 애플리케이션에서이 단어를 봅니다.
API 키는 정확히 무엇이며 용도는 무엇입니까?
또한 공개 및 비공개 API 키의 차이점은 무엇입니까?
답변:
API 키가 "정확하게"사용되는 것은 누가 발급하고 어떤 서비스에 사용되는지에 따라 크게 달라집니다. 그러나 대체로 API 키는 요청의 출처를 식별하기 위해 웹 서비스 (또는 유사한) 요청과 함께 제출되는 특정 형태의 비밀 토큰에 부여 된 이름입니다. 출처를 추가로 확인하고 값의 변조를 방지하기 위해 요청 콘텐츠의 일부 다이제스트에 키가 포함될 수 있습니다.
일반적으로 요청의 소스를 긍정적으로 식별 할 수 있으면 인증의 한 형태로 작동하여 액세스 제어로 이어질 수 있습니다. 예를 들어 요청을 수행하는 사람에 따라 특정 API 작업에 대한 액세스를 제한 할 수 있습니다. 이러한 서비스를 판매하여 돈을 버는 회사의 경우 청구 목적으로 누가 사용하는지 추적하는 방법이기도합니다. 또한 키를 차단하면 요청 량이 너무 많은 경우 부분적으로 남용을 방지 할 수 있습니다.
일반적으로 공개 및 비공개 API 키가 모두있는 경우 키 자체가 어떤 형태의 비대칭 암호화 또는 관련 디지털 서명에 사용되는 기존 공개 / 개인 키 쌍임을 제안합니다 . 이는 요청의 소스를 확실하게 식별하고, 추가적으로 스누핑으로부터 요청의 콘텐츠를 보호하기위한보다 안전한 기술입니다.
매우 일반적으로 말하면 :
API 키는 단순히 사용자를 식별합니다.
공개 / 개인 구분이있는 경우 공개 키는 다른 사용자에게 배포하여 API에서 사용자에 대한 일부 정보를 얻을 수 있도록 허용하는 키입니다. 개인 키는 사용자 전용이며 모든 데이터에 대한 액세스를 제공합니다.
많은 사람들이 API 키를 보안 솔루션으로 사용하는 것 같습니다. 결론은 : API 키를 비밀 이 아닌 것으로 취급하지 마십시오 . https 여부에 관계없이 요청을 읽을 수있는 사람은 API 키를 볼 수 있고 원하는대로 호출 할 수 있습니다. API 키는 SSL과 함께 사용되는 경우에도 완전한 보안 솔루션이 아니므로 '사용자'식별자와 같아야합니다.
더 나은 설명은 Eugene Osovetsky 링크에 있습니다. 대부분의 API로 작업 할 때 두 가지 유형의 인증, 즉 키와 비밀이 필요한 이유는 무엇입니까? 또는 http://nordicapis.com/why-api-keys-are-not-enough/ 확인
API 키는 서비스 사용자로 수락 될 때이 서비스 사용자에게 할당되는 고유 한 값입니다.
이 서비스는 발급 된 모든 키를 유지하고 각 요청시 확인합니다.
요청시 제공된 키를 살펴봄으로써 서비스는 사용자에게 액세스 권한을 부여할지 여부를 결정하기 위해 유효한 키인지 여부를 확인합니다.
이렇게 생각하면 "공개 API 키"는 데이터베이스가 확인 서버에 대한 로그인으로 사용하는 사용자 이름과 유사합니다. 그러면 "Private API Key"는 비밀번호와 유사합니다. 이 방법을 사용하는 사이트 / 데이터베이스는 귀하의 사이트 / 데이터베이스의 게시 또는 편집 요청을 인증하기 위해 제 3 자 / 검증 서버에서 보안을 유지합니다.
API 문자열은 사이트 / 데이터베이스가 확인 서버에 연결하기위한 로그인 URL입니다.