이 텍스트는 처음 maskinlarning.se에 게시되었습니다.
언젠가 AI 도구를 다른 것(양식, 스프레드시트 또는 자동화 워크플로우)과 연결하고 싶을 때, API 키라는 단어를 접하게 될 것입니다. 기술적으로 들릴 수 있지만, 그 개념은 매우 간단합니다.
먼저: API란 무엇인가요?
**API(Application Programming Interface)**는 두 서비스가 정해진 규칙에 따라 서로 대화할 수 있는 방법입니다. ChatGPT에서 채팅을 할 때는 사용자 본인이 서비스와 직접 소통하는 것입니다. 반면, Make나 Zapier 같은 도구가 사용자를 대신하여 작업을 수행해야 할 때는 API를 통해 이 대화가 이루어집니다.
그렇다면 API 키는 무엇인가요?
API 키는 도구가 서비스를 호출할 때 계정, 프로젝트 또는 앱을 식별하는 고유한 문자열입니다. 이를 연결 자체에 대한 기술적인 신분증이라고 생각하면 됩니다. 사람의 로그인 정보가 아닙니다.
서비스는 이 키를 사용하여 누가 호출했는지 알리고, 권한을 제어하며, 사용량을 측정하고, 할당량(quota)을 설정하며, 때로는 올바른 계정에 청구합니다. 따라서 많은 서비스에서 이 키는 사용자님의 청구서와 직접적으로 연결되어 있습니다.
일반 원칙: 누군가 당신의 API 키를 복사할 수 있다면, 그 키는 이미 유출되었다고 간주해야 합니다.
API 키, 비밀번호, 토큰 – 차이점은 무엇인가요?
- 비밀번호(Password) – 수동 로그인 시 사용자를 식별합니다.
- API 키(API Key) – 보통 API 호출 시 프로젝트, 앱 또는 계정을 식별합니다.
- 액세스 토큰(Access Token) – 특정 리소스에 대한 임시적인 접근 권한이며, 생존 기간이 짧은 경우가 많습니다.
각 공급업체는 다른 이름을 사용합니다. 중요한 것은 단어 자체가 아니라 그 키가 실제로 무엇을 할 수 있게 허용하는지입니다.
키가 없어야 하는 곳은 어디인가요?
대부분의 유출 사고는 고급 해킹 공격 때문이 아니라 일상적인 실수에서 비롯됩니다. 다음 사항들을 피하세요:
- 공개 GitHub 저장소 및 기타 공개 코드 저장소
- 방문자의 웹 브라우저로 전송되는 JavaScript
- 스크린샷, 비디오, 포럼 스레드 및 지원 티켓
- 접근 제어 장치가 없는 채팅 및 공유 문서
- 웹 주소 – 즉 URL의 물음표 뒤에 오는 값들 – 이들은 기록(history)과 로그에 쉽게 저장되기 때문에
대신 키를 도구의 보호된 연결 또는 환경 변수(코드 자체 밖에 비밀 값이 위치하는 설정)에 저장하고, URL 대신 헤더(header) – 호출에 포함되는 추가 정보 필드 – 로 전송하세요. 일반적인 형식은 다음과 같습니다:
Authorization: Bearer DIN_API_KEY
형식은 서비스마다 다르므로 항상 제공업체의 문서를 읽거나 완성된 연결을 사용해야 합니다.
가능한 한 적은 권한으로 키를 제공하세요
**최소 권한의 원칙(Principle of least privilege)**이란 키가 실제로 필요한 작업 흐름만 수행할 수 있도록 하는 것을 의미합니다. 도구가 데이터를 읽기만 해야 한다면, 키는 쓰거나 삭제할 수 없어야 합니다. 소규모 기업을 위한 실용적인 조언: 워크플로우별로 별도의 키를 생성하세요. 이렇게 하면 문제 해결이 더 쉬워지고 문제가 발생했을 때 단일 연결을 비활성화하기가 용이합니다.
안전한 첫 테스트
본 가이드에서는 OpenAI의 API 플랫폼과 no-code 도구 Make에서 테스트 과정을 안내합니다. 요약하자면 다음과 같습니다:
- platform.openai.com에서 테스트를 위한 별도의 프로젝트를 생성하세요.
- 최소 선결제부터 시작하고, 자동 충전을 끄고, 낮은 예산 경보를 설정하세요.
- 제한된 권한을 가진 프로젝트별 키를 만드세요.
- 키를 일반 텍스트 필드가 아닌 Make의 보호된 연결에 입력하세요.
- 프롬프트로
OK라는 단어만 응답해 주세요.를 사용하여 시나리오를 수동으로 한 번 실행하세요.
성공적인 테스트: 답변이 정확히 _OK_가 되며, 올바른 프로젝트에서 약간의 사용량이 확인됩니다. 그런 다음 시나리오를 비활성화하세요.
많은 사람이 혼란스러워하는 세부 사항: ChatGPT Plus에는 API 사용이 포함되어 있지 않습니다. API는 별도로 청구됩니다.
키가 맞지만 여전히 작동하지 않을 때
유효한 키는 rate limits(특정 시간 동안 수행할 수 있는 호출 횟수에 대한 제한) 또는 할당량 및 예산 제한에 의해 중단될 수 있습니다. 오류 코드 429 Too Many Requests는 보통 바로 이러한 상황을 의미하며, 키가 잘못되었다는 것을 뜻하지 않습니다. 반면, 401은 잘못 복사되었거나 취소된 키를 더 자주 가리키며, 403은 권한 부족(missing authorization)을 나타냅니다.
키 유출 시
즉시 해당 키를 취소하고, 새 키를 생성하며, 모든 연결을 업데이트하고, 사용량과 비용을 확인해야 합니다. 기다려 보지 마십시오.
이 가이드에는 단계별 표(step table), 체크리스트, 그리고 문제 해결표(troubleshooting table)도 포함되어 있습니다.
전체 가이드: https://maskinlarning.se/api-nyckel/