API 키 보안 개선[체크리스트 포함]

2551 단어 securityapichecklist
Improve the Security of API Keys

사진 제공 Kristina Flour

API 키 및 기타 자격 증명과 같은 비밀을 저장하고 관리하는 것은 어려울 수 있습니다. 귀하의 API 키는 귀중한 정보이며 실수로 유출되면 원치 않는 호출, 앱 차단 또는 더 나쁜 결과를 초래할 수 있습니다. API 키를 공개적으로 노출하면 계정에 예기치 않은 비용이 발생할 수 있습니다.

개발자로서 API 키는 일반적으로 작업 중인 프로젝트를 식별하고 적절한 API 사용에 대한 속도 및 액세스 제한을 적용하기 위해 발급됩니다. 이러한 API 키는 일반적으로 앱이나 웹 페이지에 저장된 정적 비밀이며 훔치기는 매우 쉽지만 교체하기는 어렵습니다. 넌 더 잘할 수있어.

API 키 관리



[x] 각 앱, 환경 및 서비스에 별도의 API 키를 사용합니다.

이렇게 하면 각 키의 범위가 제한됩니다. API 키가 손상된 경우 다른 API 키를 업데이트할 필요 없이 영향을 받는 키를 삭제하거나 재생성할 수 있습니다.

[x] API 사용 모니터링

승인되지 않은 사용을 감지하기 위해 API 사용을 모니터링하는 것이 좋습니다.

[x] API 키 제한 적용

제한을 추가하면 손상된 API 키가 애플리케이션에 미치는 영향을 줄일 수 있습니다. API 공급자에 따라 API 키를 특정 앱, 환경 또는 서비스로 제한할 수 있습니다.

예를 들어,
  • API 키를 특정 앱, 환경 또는 서비스로 제한할 수 있습니다.
  • API 키를 특정 지역으로 제한할 수도 있습니다.
  • API 키를 특정 IP 주소로 제한할 수도 있습니다.
  • API 키를 특정 사용자로 제한할 수도 있습니다.
  • ...

  • [x] API 액세스 권한 제한

    API에 대한 최소 권한 범위에 기본값을 추가합니다. 각 API에 적합한 범위를 선택하십시오.

    [x] 불필요한 API 키를 삭제하여 공격에 대한 노출을 최소화합니다.

    [x] 손상이 의심되는 경우 새 키 생성

    비밀을 안전하게 저장



    [x] API 키를 코드에 직접 저장하지 마십시오.

    코드에서 API 키 또는 비밀을 노출하지 마십시오. 대신 라이브러리를 사용하여 API 키를 관리하세요. 예를 들어 Node.js’s dotenv 을 사용하여 프로젝트의 루트에 있는 .env라는 파일에 API 키와 암호를 저장할 수 있습니다. 이 파일은 Git에서 무시되므로 이 파일에 API 키와 비밀을 저장하는 것이 안전합니다.

    [x] 가능한 경우 로컬 환경 변수 사용

    로컬 환경에서 작업하는 경우 로컬 환경 변수를 사용하여 API 키와 시크릿을 저장할 수 있습니다. 이는 API 키와 시크릿이 코드에 노출될 위험을 줄이기 때문에 좋은 생각입니다. 로컬 환경 변수의 예:

    export API_KEY=<your-api-key>
    export API_SECRET=<your-api-secret>
    


    [x] API 암호 관리 서비스 사용 고려

    비밀 관리 서비스는 API 키와 비밀을 관리하는 좋은 방법입니다. API 키와 비밀을 관리하는 좋은 방법입니다. 편리함과 마음의 평화를 위한 한 가지 솔루션은 AWS Secret Manager과 같은 비밀 관리 서비스를 사용하는 것입니다.

    좋은 웹페이지 즐겨찾기