API 키 사용

이 가이드에서는 GCP 애플리케이션을 위해 API 키를 만들고 API 키 제한사항을 설정하는 방법을 보여줍니다. GCP API 인증을 자세히 알아보려면 인증 개요를 참조하세요. Google 지도용 API 키 설정에 관한 자세한 내용은 Google 지도 문서를 참조하세요.

API 키는 비공개 사용자 데이터에 액세스할 필요가 없는 특정 API를 호출할 때 사용할 수 있는 간단한 암호화된 문자열입니다. API 키는 백엔드 서버가 없는 브라우저 및 모바일 애플리케이션과 같은 클라이언트에서 유용합니다. API 키는 할당량 및 청구를 위해 프로젝트와 연관된 API 요청을 추적하기 위해 사용됩니다.

API 키에는 다음과 같은 중요한 제한사항이 있습니다.

따라서 대신 표준 인증 흐름을 사용하는 것이 좋습니다. 하지만 API 키가 더 적합한 경우도 있습니다. 예를 들어 Google Cloud Translation API를 사용해야 하지만 백엔드 서버는 필요하지 않은 모바일 애플리케이션을 개발하는 중이라면 API 키를 사용하는 것이 이 API에 인증하는 가장 간단한 방법입니다. 대부분의 경우 애플리케이션이 Google Cloud Platform 서비스에 대한 인증 및 호출을 처리하는 백엔드 서버와 통신하도록 하는 것이 좋습니다.

API 키 만들기

API 키를 만들려면 계정에 현재 프로젝트의 기본 편집자 역할(roles/editor)이 부여되어야 합니다. 자세한 내용은 기본 역할을 참조하세요.

API 키를 만들려면 다음 안내를 따르세요.

  1. GCP Console에서 API 및 서비스 → 사용자 인증 정보 패널로 이동합니다.

  2. 사용자 인증 정보 만들기를 선택한 후 드롭다운 메뉴에서 API 키를 선택합니다.

  3. 만들기 버튼을 클릭합니다. API 키 생성 대화상자에 새로 생성된 키가 표시됩니다.

필요한 경우 키를 복사하여 안전하게 보관할 수 있습니다. 테스트 키를 사용 중이고 나중에 이를 삭제하려는 경우가 아니면 애플리케이션 및 API 키 제한사항을 추가하세요.

API 키 사용

다음 형식에 따라 API 키를 REST API 호출에 쿼리 매개변수로 전달합니다. API_KEY를 내 API 키로 바꿉니다.

key=API_KEY

예를 들어, documents.analyzeEntities에 대한 Cloud Natural Language API 요청에 API 키를 전달하려면 다음 명령어를 입력합니다.

POST https://language.googleapis.com/v1/documents:analyzeEntities?key=API_KEY

API 키 보호

애플리케이션에서 API 키를 사용할 때는 안전하게 보호해야 합니다. 사용자 인증 정보를 공개적으로 노출하면 계정이 유출되어 계정에 예상치 못한 비용이 부과될 수 있습니다. API 키를 안전하게 보호하기 위해서는 다음 권장사항을 따르세요.

  • 코드에 직접 API 키를 삽입하지 않습니다. 코드에 삽입된 API 키는 실수로 일반에 노출될 수 있습니다. 예를 들어 공유 코드에서 키를 삭제하는 것을 깜빡하는 경우가 있습니다. 애플리케이션에 API 키를 삽입하는 대신 환경 변수에 저장하거나 애플리케이션의 소스 트리 외부에 있는 파일에 저장하세요.

  • 애플리케이션의 소스 트리 내에 있는 파일에 API 키를 저장하지 않습니다. API 키를 파일에 저장할 경우, 키가 소스 코드 제어 시스템에 포함되지 않도록 애플리케이션의 소스 트리 외부에 파일을 보관하세요. 이는 GitHub와 같은 공개 소스 코드 관리 시스템을 사용하는 경우에 특히 중요합니다.

  • 애플리케이션 및 API 키 제한사항을 설정합니다. 제한사항을 추가하면 API 키 유출로 인한 피해를 줄일 수 있습니다.

  • 공격에 노출되는 것을 최소화하기 위해 불필요한 API 키는 삭제합니다.

  • API 키를 주기적으로 다시 생성합니다. 사용자 인증 정보 페이지에서 키마다 키 다시 생성을 클릭하여 API 키를 다시 생성할 수 있습니다. 그런 후 새로 생성된 키를 사용하도록 애플리케이션을 업데이트하세요. 이전 키는 교체용 키를 생성한 후에도 24시간 동안 계속 작동합니다.

  • 코드를 공개적으로 릴리스하기 전에 검토합니다. 코드를 일반에 공개하기 전에 코드에 API 키 또는 다른 비공개 정보가 포함되지 않았는지 확인하세요.

API 키에 제한사항 추가

API 키는 기본적으로 제한이 없습니다. 제한이 없는 키는 브라우저에서 공개적으로 보거나 키가 있는 기기에서 액세스할 수 있기 때문에 안전하지 않습니다.

프로덕션 애플리케이션의 경우 애플리케이션과 API 제한사항을 모두 설정하세요.

API 키 제한사항을 추가하려면 다음 안내를 따르세요.

  1. GCP Console에서 API 및 서비스 → 사용자 인증 정보 패널로 이동합니다.

  2. 기존 API 키의 이름을 선택합니다. 페이지 하단에 제한사항 섹션이 표시됩니다.

    API 키 추가

애플리케이션 제한사항

애플리케이션 제한사항은 API 키를 사용할 수 있는 웹사이트, IP 주소 또는 앱을 지정합니다. 애플리케이션 유형을 기준으로 애플리케이션 제한사항을 추가합니다. API 키별로 제한사항 유형을 하나만 설정할 수 있습니다.

  1. 키 제한사항 섹션에서 애플리케이션 제한사항 탭을 선택합니다.

  2. 애플리케이션 요건에 따라 제한사항 유형을 선택합니다. 제한사항에 값을 2개 이상 추가하려면 첫 번째 값을 입력한 후 Enter 키를 누릅니다. 반복해서 값을 추가합니다.

    • 없음은 테스트 목적으로만 사용합니다.

    • 지정된 페이지만 API를 호출할 수 있도록 웹브라우저에서 실행되는 API 클라이언트에는 HTTP 리퍼러를 사용합니다. 이러한 유형의 애플리케이션은 API 키를 공개적으로 노출하므로, 대신 서비스 계정을 사용하는 것이 좋습니다. HTTP 제한사항 추가에서 예제를 참조하세요.

    • API 키 액세스를 특정 IP 주소로 제한하려면 IP 주소를 사용합니다.

    • Android 애플리케이션의 경우에는 Android 앱을 사용합니다. 이 옵션을 사용하려면 패키지 이름과 SHA-1 서명 인증서 디지털 지문을 추가해야 합니다.

    • iOS 애플리케이션의 경우, iOS 앱을 사용합니다. 이 옵션을 사용하려면 API 호출을 특정 iOS 번들로 제한하도록 iOS 번들 식별자를 최소한 하나 이상 추가해야 합니다.

  3. 저장 버튼을 선택합니다.

HTTP 제한사항 추가

HTTP 제한사항을 추가하려면 다음 안내를 따르세요.

  • 양식 필드에 최소한 하나 이상의 제한사항을 입력합니다.

  • 도메인에서 HTTP와 HTTPS가 모두 지원되는 경우 두 가지 제한사항을 모두 개별적으로 추가해야 합니다.

  • 값을 두 개 이상 추가하려면 첫 번째 값을 입력한 후 Enter 키를 누릅니다. 반복해서 값을 추가합니다.

    HTTP 리퍼러 제한사항

  • 하위 도메인 또는 경로에 대해서는 와일드 카드 문자(*)를 사용할 수 있습니다.

다음 표에서는 제한 수준이 가장 높은 것부터 가장 낮은 것까지 예제 시나리오와 제한사항을 보여줍니다. 사용 사례에 적합한 가장 제한적인 예를 사용하는 것이 좋습니다.

시나리오 제한사항
특정 URL을 허용합니다.

정확한 경로를 사용해서 단일 제한사항을 추가합니다. 예를 들면 다음과 같습니다.

  • https://www.example.com/path
  • http://www.example.com/path/path
단일 하위 도메인 또는 네이키드 도메인의 모든 URL을 허용합니다.

전체 도메인을 허용하려면 최소 2개 이상의 제한사항을 설정해야 합니다.

  1. 끝에 슬래시를 입력하지 않고 도메인의 제한사항을 설정합니다. 예를 들면 다음과 같습니다.
    • https://www.example.com
    • http://sub.example.com
    • http://example.com
  2. 경로에 대한 와일드 카드가 포함된 도메인의 두 번째 제한사항을 설정합니다. 예를 들면 다음과 같습니다.
    • https://www.example.com/*
    • http://sub.example.com/*
    • http://example.com/*
  3. 도메인에서 HTTP와 HTTPS가 모두 허용될 경우, 추가 제한사항을 개별적으로 추가해야 합니다.
단일 도메인에서 모든 하위 도메인 URL을 허용합니다.

최소한 2개 이상의 제한사항을 설정해야 합니다.

  1. 하위 도메인에 와일드 카드를 사용하고, 끝에는 슬래시를 입력하지 않고 도메인의 제한사항을 설정합니다. 예를 들면 다음과 같습니다.
    • https://*.example.com
  2. 경로에 대한 와일드 카드가 포함된 도메인의 두 번째 제한사항을 설정합니다. 예를 들면 다음과 같습니다.
    • https://*.example.com/*
  3. 도메인에서 HTTP와 HTTPS가 모두 허용될 경우, 추가 제한사항을 개별적으로 추가해야 합니다.

API 제한사항

API 제한사항은 API 키를 사용해서 호출할 수 있는 API를 지정합니다. 프로덕션 애플리케이션에서 사용되는 모든 API 키는 API 제한사항을 사용해야 합니다.

API 제한사항을 설정하려면 다음 안내를 따르세요.

  1. 키 제한사항 섹션에서 API 제한사항 탭을 선택합니다.

  2. 드롭다운에서 API 이름을 선택합니다.

  3. API 키가 호출해야 하는 API마다 앞 단계를 반복합니다.

  4. 저장 버튼을 선택합니다.

기존 API 키 보기

GCP Console을 사용하여 기존 API 키를 볼 수 있습니다. GCP Console에서 API 및 서비스 → 사용자 인증 정보 패널로 이동하면 기존 API 키가 API 키 헤더 아래에 표시됩니다

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...