2016-09-21 6 views
18

그래서 내가하고있는 첫 번째 프로젝트에서 Google지도 API를 사용하고 있습니다. 그렇기 때문에 나는 새롭고 기본적이거나 분명한 경우 미안하지만 그렇지 않습니다. 분명한 대답이나 방향을 찾을 수있었습니다. 다음은 Google에서 API 키를 사용하여 안전하게 찾은 문서입니다. 안전하게 보안을 유지하기 위해 조심, API 키 안전하게 Google API 키를 사용하는 방법

하면 응용 프로그램에서 API 키를 사용

을 사용


모범 사례. 공개적으로 자격 증명을 공개하면 계정이 해킹되어 계정에서 예상치 못한 비용이 발생할 수 있습니다.

코드에 직접 코드 키를 포함하지 마십시오 : 코드에 포함 된 API 키가 실수로 공개 될 수 있습니다. 예를 들어 키를 삭제하지 않은 경우와 같이 실수로 공개 될 수 있습니다. 당신이 공유하는 코드에서. 응용 프로그램에 API 키를 임베드하는 대신 환경 변수 또는 응용 프로그램의 소스 트리 외부에 파일을 저장하십시오. API 키를 응용 프로그램의 소스 트리 안의 파일에 저장하지 마십시오. 파일에 API 키를 저장하는 경우 소스 키 제어 시스템에 키가 저장되지 않도록 응용 프로그램의 소스 트리 외부에 파일을 보관하십시오. 이것은 GitHub와 같은 공개 소스 코드 관리 시스템을 사용하는 경우 특히 중요합니다. API 키가 필요한 IP 주소, 리퍼러 URL 및 모바일 앱에서만 사용하도록 제한 : 각 키를 사용할 수있는 IP 주소, 리퍼러 URL 및 모바일 앱을 제한하면 손상된 서버의 영향을 줄일 수 있습니다. API 키. 자격 증명 페이지를 연 다음 원하는 설정으로 새 API 키를 만들거나 API 키의 설정을 편집하여 콘솔에서 각 키를 사용할 수있는 호스트 및 앱을 지정할 수 있습니다. 불필요한 API 키 삭제 : 공격에 대한 노출을 최소화하려면 더 이상 필요없는 API 키를 삭제하십시오. 주기적으로 API 키 재생성 : 각 키의 키 재생성을 클릭하면 Cloud Platform 콘솔 자격증 명 페이지에서 API 키를 재생성 할 수 있습니다. 그런 다음 새로 생성 된 키를 사용하도록 응용 프로그램을 업데이트하십시오. 대체 키를 생성 한 후 이전 키는 24 시간 동안 계속 작동합니다. 코드를 공개하기 전에 검토하십시오. 공개적으로 코드를 사용하기 전에 코드에 API 키 또는 기타 개인 정보가 들어 있지 않은지 확인하십시오.


이제 내 문제는 코드에 직접 입력하지 않고 Google지도를 내 웹 사이트에 통합하는 방법을 알 수 없다는 것입니다.

<script async defer 
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"> 
</script> 

그러나 다시 내가 길을 잘못이라고 생각하는 세계가 볼 수 있도록 내 코드에서 직접입니다 : 지금 내 API는 다음과 같이 내 index.html을입니다.

+0

[Google Maps API 키를 보호하기 위해 어떤 단계를 밟아야합니까?] (http://stackoverflow.com/questions/1364858/what-steps-should-i) 보호 - 내 - google-maps-api-key) – Burgi

답변

22

Google지도 Javascript API v3의 경우 키는이어야하며 공개해야합니다. 적용 가능한 텍스트는 다음과 같습니다

당신의 API 키 제한은 만 IP 주소에 의해 리퍼러 URL을, 그리고 그들에게 구글에

이동을 필요로 모바일 애플 리케이션 를 사용하는 API 콘솔을 열고 키를 생성하여 할당량 "도용"을 방지하기 위해 소유하고 있거나 (지도를 넣고 싶은) URL로 제한하십시오.

+0

대단히 감사합니다! 나는 그저 눈이 멀었다. 방금 URL을 추가 했으므로 이제 갈 수 있습니다! –

9

API key best practices article은 API 키 사용에 대한 일반적인 지침 만 제공하며, Google Maps JavaScript API와 같은 특정 최종 사용자 용 API의 경우 API 키가 일반 사용자에게 노출되는 것을 피할 수 없습니다.

공개지도 JavaScript API 앱에서는 프로덕션 시스템에서 사용되는 키, 특히 공개 키와 같은 키에 리퍼러 제한을 추가하고 도메인, 호스트 또는 앱의 전체 파일 URL 만 인증하도록 강력히 권장합니다 .

Google API Console에 키를 만들고지도 JavaScript API에 대한 설정 자격 증명을 선택하면 마법사가 키 보안 방법을 알려주고 권한을 부여 할 URL을 묻습니다.

+0

감사합니다. 거기에 좋은 정보가 –

+0

거기에 아무것도 HTTP Referer 요청 헤더를 스푸핑 및 수동으로 API 키를 사용하여 유효한 요청 톤을 해고에서 막을 수 있습니까 귀하의 자바 스크립트에서 잡아 수 있습니까? –

0

이 문제도 발생했습니다. 내가 한 것은 서버에서 키를로드 한 다음 키가 검색된 후이 라이브러리를 사용하여 Google API를로드하는 것입니다. https://www.npmjs.com/package/google-maps. 그런 다음 http 리퍼러를 잠글 수 있습니다.

관련 문제