메인 콘텐츠로 건너뛰기

API 키 모범 사례: 키를 안전하고 보안되게 유지하기

오늘 업데이트함

API 키는 Claude API에 대한 액세스를 활성화하지만, 제대로 처리하지 않으면 상당한 보안 위험을 초래할 수 있습니다. API 키는 계정에 대한 디지털 키입니다. 신용카드 번호와 마찬가지로, 누군가 API 키를 획득하여 사용하면 귀하의 비용으로 요금이 청구됩니다. 이 문서는 API 키를 안전하게 유지하고 Claude Console 계정에 대한 무단 액세스 및 요금 청구를 방지하기 위한 API 키 관리 모범 사례를 설명합니다.

일반적인 위험 및 취약점

API 키 유출의 가장 빈번한 원인 중 하나는 공개 코드 저장소 또는 타사 도구에서의 실수로 인한 노출입니다. 개발자는 종종 실수로 평문 API 키를 공개 GitHub 저장소에 커밋하거나 타사 도구에 입력하여 무단 액세스 및 관련 계정의 잠재적 악용으로 이어질 수 있습니다.

API 키 보안 모범 사례

1. API 키를 절대 공유하지 마세요

  • 기밀로 유지하세요: 개인 비밀번호를 공유하지 않는 것처럼 API 키도 공유하지 마세요. 누군가 Claude API에 액세스해야 하는 경우 자신의 키를 획득해야 합니다.

  • 공개 포럼에서 키를 공유하지 마세요: 공개 토론, 이메일 또는 지원 티켓(귀사와 Anthropic 간의 경우에도)에 API 키를 포함하지 마세요.

  • 타사 도구에 주의하세요: API 키를 타사 도구 또는 플랫폼(예: 웹 기반 IDE, 클라우드 제공자 또는 CI/CD 플랫폼)에 업로드할 때 해당 도구의 개발자에게 Claude Console 계정에 대한 액세스 권한을 부여하고 있다는 점을 고려하세요. 해당 평판을 신뢰하지 않으면 API 키를 신뢰하지 마세요.

    • 타사 제공자를 사용할 때는 항상 API 키를 암호화된 비밀로 추가하세요. 코드나 구성 파일에 직접 포함하지 마세요.

2. 사용량 및 로그를 면밀히 모니터링하세요

Console 내에서 API 키에 대한 로그사용량 패턴을 정기적으로 검토할 것을 권장합니다.

  • 사용자 정의 속도 제한 API 조직의 경우: 계정 설정에서 사용량 및 지출 제한을 구현하세요.

    • 이러한 제한은 유출된 키 또는 잘못된 스크립트로 인한 예상치 못한 사용량에 대한 보호 장치 역할을 합니다.

  • 표준 속도 제한 API 조직의 경우: 계정에서 자동 재로드 설정을 활성화하고 구성하세요.

    • 이 기능을 사용하면 계정이 파일에 저장된 카드에 자동으로 요금을 청구하여 사용 크레딧을 보충할 임계값을 설정할 수 있습니다.

      • 자동 재로드 제한을 신중하게 고려하세요. 지속적인 서비스를 보장하는 동시에 유출된 키 또는 코드의 실수로 인한 예상치 못한 높은 사용량에 대한 보호 장치 역할을 합니다.

3. 환경 변수 및 비밀을 사용하여 API 키를 안전하게 처리

API 키를 안전하게 처리하기 위한 모범 사례는 환경 변수를 사용하여 환경 변수를 안전하게 주입하고 공유하는 것입니다. 애플리케이션을 클라우드 환경에 배포할 때 해당 환경의 비밀 관리 솔루션을 사용하여 API 키를 실수로 공유하지 않고 환경 변수를 통해 애플리케이션에 안전하게 전달할 수 있습니다.

dotenv를 사용하여 로컬에 비밀을 저장하는 경우 .env 파일을 소스 제어 무시 파일(예: git의 경우 .gitignore)에 추가하여 민감한 정보를 실수로 공개적으로 배포하는 것을 방지해야 합니다. 클라우드 환경에서는 dotenv 파일 대신 암호화된 비밀 저장소를 선호하세요.

Python 예제:

1. 프로젝트 디렉토리에 .env 파일을 만드세요.

2. .env 파일에 API 키를 추가하세요:

ANTHROPIC_API_KEY=your-api-key-here

3. python-dotenv 패키지를 설치하세요:

pip install python-dotenv

4. Python 스크립트에서 API 키를 로드하세요:

from dotenv import load_dotenv

import os

load_dotenv()
my_api_key = os.getenv("ANTHROPIC_API_KEY")

5. 애플리케이션을 클라우드 호스팅 환경에 배포하는 경우 Claude API 키를 추가하고 애플리케이션과 공유하는 방법에 대한 클라우드 제공자의 설명서를 참조하세요(AWS, GCP, Azure, Vercel, Heroku). 일부 제공자는 환경 변수를 앱에 안전하게 주입하는 여러 방법을 제공합니다.

4. API 키를 정기적으로 회전하세요

새로운 키를 만들고 이전 키를 비활성화하여 일관된 일정(예: 90일마다)에 따라 API 키를 정기적으로 회전하세요. 이 루틴은 키가 손상될 경우 잠재적 위험을 최소화하는 데 도움이 됩니다.

5. 다양한 목적으로 별도의 키를 사용하세요

가능하면 개발, 테스트 및 프로덕션 환경에 다양한 API 키를 사용하세요. 이렇게 하면 사용량을 다양한 내부 사용 사례와 연관시킬 수 있습니다. API 키가 손상된 경우 해당 사용 사례만 빠르게 비활성화하고 잠재적 손상을 제한할 수 있습니다.

6. 저장소에서 비밀을 스캔하세요

실수로 커밋된 비밀에 대해 소스 제어 저장소를 정기적으로 확인하세요.

개발 워크플로우에 정기적인 비밀 스캔을 통합함으로써 코드 저장소에서 API 키 및 기타 민감한 정보의 실수로 인한 노출을 포착하고 방지할 수 있습니다.

7. 보안 키 관리 시스템(KMS) 사용

조직이 확장되고 API 키 및 기타 비밀의 수가 증가함에 따라 이러한 민감한 자격 증명을 안전하게 관리하는 것이 더 어려워집니다. 이것이 키 관리 시스템(KMS)이 작동하는 곳입니다. KMS는 API 키를 포함한 비밀 키를 저장, 액세스 및 관리하기 위한 중앙 집중식 솔루션을 제공합니다.

KMS 사용의 이점

  1. 중앙 집중식 보안: 모든 비밀을 하나의 안전하고 암호화된 위치에 저장하세요.

  2. 액세스 제어: 세분화된 액세스 제어를 구현하여 특정 키를 보거나 사용할 수 있는 사람을 결정하세요.

  3. 감사 추적: 규정 준수 및 보안 목적으로 비밀에 대한 모든 액세스 및 변경을 추적하세요.

  4. 키 회전: 보안을 강화하기 위해 정기적으로 키를 쉽게 회전하세요.

  5. 통합: 많은 KMS 솔루션이 인기 있는 클라우드 플랫폼 및 개발 도구와 통합됩니다.

API 키 보호를 위한 Anthropic의 GitHub 파트너십

Anthropic은 GitHub의 비밀 스캔 파트너 프로그램을 통해 사용자에게 추가 보호 계층을 제공하기 위해 GitHub과 직접 파트너십을 맺었습니다. 이 파트너십은 실수로 노출된 API 키의 오용을 방지하기 위한 사전 보안 조치를 제공합니다:

  • GitHub은 공개 저장소에서 노출된 Claude API 키를 적극적으로 스캔합니다.

  • Claude API 키가 공개 GitHub 저장소에서 감지되면 GitHub은 즉시 Anthropic에 알립니다.

  • 잠재적 악용을 방지하기 위해 Anthropic은 노출된 API 키를 자동으로 비활성화합니다.

  • 영향을 받은 사용자는 Anthropic으로부터 사건에 대한 상세한 이메일 알림을 받습니다.

API 키가 손상되었다고 의심되면 어떻게 해야 하나요?

API 키가 손상되었을 수 있다고 의심되면 즉시 키를 취소할 것을 권장합니다. Claude Console 계정에 로그인하고 프로필에서 API 키 페이지로 이동한 후 해당 키 옆의 미트볼 메뉴(즉, 세 개의 가로 점)를 클릭하고 'Delete API Key'를 선택하여 이를 수행할 수 있습니다.

자세한 내용은 이 문서를 참조하세요: API 키가 손상되었다고 의심되면 어떻게 해야 하나요?

API 키 보안은 보안 조치에 대한 정기적인 검토와 주의가 필요한 지속적인 프로세스입니다. 이러한 모범 사례를 따르면 API 키 유출 및 무단 액세스의 위험을 크게 줄일 수 있습니다.

답변이 도움되었나요?