API 키 보안 개선[체크리스트 포함]
사진 제공 Kristina Flour
API 키 및 기타 자격 증명과 같은 비밀을 저장하고 관리하는 것은 어려울 수 있습니다. 귀하의 API 키는 귀중한 정보이며 실수로 유출되면 원치 않는 호출, 앱 차단 또는 더 나쁜 결과를 초래할 수 있습니다. API 키를 공개적으로 노출하면 계정에 예기치 않은 비용이 발생할 수 있습니다.
개발자로서 API 키는 일반적으로 작업 중인 프로젝트를 식별하고 적절한 API 사용에 대한 속도 및 액세스 제한을 적용하기 위해 발급됩니다. 이러한 API 키는 일반적으로 앱이나 웹 페이지에 저장된 정적 비밀이며 훔치기는 매우 쉽지만 교체하기는 어렵습니다. 넌 더 잘할 수있어.
API 키 관리
[x] 각 앱, 환경 및 서비스에 별도의 API 키를 사용합니다.
이렇게 하면 각 키의 범위가 제한됩니다. API 키가 손상된 경우 다른 API 키를 업데이트할 필요 없이 영향을 받는 키를 삭제하거나 재생성할 수 있습니다.
[x] API 사용 모니터링
승인되지 않은 사용을 감지하기 위해 API 사용을 모니터링하는 것이 좋습니다.
[x] API 키 제한 적용
제한을 추가하면 손상된 API 키가 애플리케이션에 미치는 영향을 줄일 수 있습니다. API 공급자에 따라 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과 같은 비밀 관리 서비스를 사용하는 것입니다.
Reference
이 문제에 관하여(API 키 보안 개선[체크리스트 포함]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/binhbv/improve-the-security-of-api-keys-checklist-included-1a82텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)