보안

API 키(API Key)

API 키는 외부 서비스가 요청을 보낸 앱이나 프로젝트와 접근 권한을 확인하는 데 사용하는 문자열입니다.

쉬운 설명

API 키는 서비스에서 발급받는 긴 문자열이에요. 앱이 외부 AI에 요약을 부탁할 때처럼 다른 서비스의 기능을 요청하면, 서비스는 이 키로 요청을 구분하고 허용된 기능인지 확인할 수 있어요. API는 Application Programming Interface의 줄임말로, 프로그램끼리 기능이나 데이터를 요청하고 주고받는 방식을 뜻해요. 키 중에는 공개용도 있지만, 서버에서만 써야 하는 비밀 키도 있으니 발급 화면의 안내를 먼저 확인하세요.

이런 상황에서 만나요

AI와 회의록 요약 앱을 만들다가 “요약 기능을 연결하려면 API 키를 설정해 주세요”라는 안내를 받았어요. 이 예시에서는 AI 서비스에서 비밀 키를 발급받고, 내 앱의 서버가 읽을 수 있는 설정에 넣습니다.

발급받은 키를 서버 설정에 넣어요

설명용 화면 · 비밀 키를 쓰는 예시
1AI 서비스에서 발급한 키
demo_only_a8F2k9M4q7R1x6B3n5C0v8D2 비밀 키 · 실제 키가 아닙니다
2내 앱의 서버 환경변수
이름
AI_API_KEY
값
demo_only_a8F2k9M4q7R1x6B3n5C0v8D2
  1. 1발급받은 키는 이런 긴 문자열입니다. 화면의 값은 사용할 수 없는 가짜 키입니다.
  2. 2비밀 키는 내 앱의 서버가 읽는 설정에 넣습니다. AI_API_KEY라는 이름은 프로젝트 코드와 맞춰야 합니다.
키 발급과 서버 설정 과정을 재구성한 설명용 화면입니다. 비밀 키가 필요한 요청은 서버가 처리하고, 앱 화면에는 요약 결과를 보내도록 구성합니다.

설정한 뒤에는 짧은 회의록으로 요약 기능을 실행해 보세요. 인증 오류가 나면 키를 발급한 서비스가 맞는지, 키가 폐기되지는 않았는지, 앱의 서버가 설정값을 읽고 있는지 확인합니다. AI에게 오류를 물어볼 때는 오류 문구와 설정한 변수 이름을 알려 주면 됩니다. 키 원문은 보내지 않아도 됩니다.

헷갈리기 쉬운 점

API 키를 앱 화면이나 코드에 넣어도 되나요?

서비스가 브라우저에서 사용하도록 발급한 공개용 키라면 가능합니다. 비밀 키는 사용자가 받는 화면 코드에 넣으면 안 됩니다. 서버가 비밀 키를 읽어 외부 서비스에 요청하고, 화면에는 필요한 결과를 보내도록 구성합니다. .env 파일이나 환경변수에 넣어도 브라우저 코드에 포함되는 설정이면 값이 드러날 수 있습니다.

비밀 키가 스터디 게시글이나 GitHub에 올라갔다면, 게시글만 지우는 것으로 끝내지 마세요. 발급한 서비스에서 노출된 키를 폐기하고 새 키로 서버 설정을 바꿉니다. 그동안 예상하지 못한 사용량이 발생했는지도 확인합니다.

왜 알아야 할까요?

연결할 서비스의 키와 설정 위치를 알면, AI가 만든 코드에서 어디까지 준비됐고 무엇이 빠졌는지 확인할 수 있습니다. 키에 연결된 프로젝트의 사용량도 살펴볼 수 있어, 테스트 중 외부 서비스 비용이 얼마나 발생하는지 확인하기 좋습니다.

조금 더 자세히

API 키는 앱을 사용하는 사람의 로그인 비밀번호와 역할이 다릅니다. 요약 앱의 이용자가 여러 명이어도 서버가 같은 프로젝트의 API 키로 요청할 수 있습니다. 키가 누구의 계정이나 어느 프로젝트에 연결되는지, 사용량이 어디에 기록되는지는 발급한 서비스에서 확인합니다.

공개용 키와 비밀 키는 서로 대신 쓸 수 없습니다. 예를 들어 Stripe는 브라우저에서 쓰는 publishable key와 서버에서 보호해야 하는 키를 구분합니다. 필요한 기능에만 접근하도록 권한을 제한할 수 있는 서비스도 있습니다.

환경변수는 코드에 값을 직접 적지 않고 프로그램에 설정을 전달하는 방법입니다. 그림의 AI_API_KEY는 설명을 위해 정한 이름이며, 실제 프로젝트에서는 코드가 읽는 이름과 맞춰야 합니다. 내 컴퓨터와 배포 서버의 설정이 별개일 수 있으므로, 배포한 앱이 실패하면 그 서버에도 키가 설정되어 있는지 확인합니다.

직접 사용할 때 확인해 보세요

  • 키를 발급한 서비스와 연결할 프로젝트가 맞는지 확인한다
  • 공개용 키인지 서버에서만 쓸 비밀 키인지 확인한다
  • 짧은 입력으로 기능을 실행하고 해당 프로젝트의 사용량을 확인한다

관계 지도

API 키(API Key) 중심으로 관련 개념의 정의와 관계를 한눈에 정리했습니다.
API 키(API Key)의 정의와 관련 개념 간 관계를 설명한 계층형 그래프