SEC02-BP02 임시 보안 인증 정보 사용 - AWS Well-Architected Framework

SEC02-BP02 임시 보안 인증 정보 사용

모든 유형의 인증을 수행할 때 보안 인증 정보가 의도치 않게 공개, 공유 또는 도난 당하는 위험을 줄이거나 제거하기 위해 장기 보안 인증 정보 대신 임시 보안 인증 정보를 사용하는 것이 가장 좋습니다.

원하는 결과: 장기 보안 인증 정보의 위험을 줄이려면 가능한 한 인적 자격 증명과 시스템 자격 증명 모두에 대해 임시 보안 인증 정보를 사용합니다. 장기 보안 인증 정보는 많은 위험을 초래합니다. 예를 들어 퍼블릭 GitHub 리포지토리에 코드를 업로드할 수 있습니다. 임시 보안 인증 정보를 사용하면 보안 인증 정보가 손상될 가능성이 크게 줄어듭니다.

일반적인 안티 패턴:

  • 개발자가 페더레이션을 사용하여 CLI에서 임시 보안 인증 정보를 획득하는 대신 IAM users의 장기 액세스 키를 사용합니다.

  • 개발자가 장기 액세스 키를 코드에 포함하고 해당 코드를 퍼블릭 Git 리포지토리에 업로드합니다.

  • 개발자가 앱 스토어에서 사용할 수 있도록 장기 액세스 키를 모바일 앱에 포함합니다.

  • 사용자가 다른 사용자와 장기 액세스 키를 공유하거나 직원이 장기 액세스 키를 소유한 상태로 퇴사합니다.

  • 임시 보안 인증 정보를 사용할 수 있는 경우에도 시스템 자격 증명에 장기 액세스 키를 사용합니다.

이 모범 사례를 따르지 않을 경우 노출 위험도: 높음

구현 가이드

모든 AWS API 및 CLI 요청에 대해 장기 보안 인증 정보 대신 임시 보안 인증 정보를 사용합니다. AWS 서비스에 대한 API 및 CLI 요청은 거의 모든 경우에 AWS 액세스 키를 사용하여 서명해야 합니다. 이러한 요청은 임시 또는 장기 보안 인증 정보로 서명할 수 있습니다. 장기 액세스 키라고도 하는 장기 보안 인증 정보를 사용해야 하는 유일한 경우는 IAM 사용자 또는 AWS 계정 루트 사용자를 사용하는 경우입니다. 다른 방법을 통해 AWS에 페더레이션하거나 IAM 역할을 수임할 때 임시 보안 인증 정보가 생성됩니다. 로그인 보안 인증 정보를 사용하여 AWS Management Console에 액세스하는 경우에도 AWS 서비스를 호출할 수 있도록 임시 보안 인증 정보가 생성됩니다. 장기 보안 인증 정보가 필요한 경우는 거의 없으며 임시 보안 인증 정보를 사용하여 대부분의 작업을 수행할 수 있습니다.

임시 보안 인증 정보를 선호하여 장기 보안 인증 정보 사용을 피하는 것은 페더레이션 및 IAM 역할을 선호하여 IAM 사용자의 사용을 줄이는 전략과 함께 수행해야 합니다. 과거에는 IAM 사용자가 인적 자격 증명과 시스템 자격 증명 모두에 사용되었지만 이제는 장기 액세스 키 사용의 위험을 피하기 위해 사용하지 않는 것이 좋습니다.

구현 단계

직원, 관리자, 개발자, 운영자 및 고객과 같은 인적 자격 증명의 경우:

시스템 자격 증명의 경우 장기 보안 인증 정보를 사용해야 할 수 있습니다. 이러한 경우 워크로드에서 AWS에 액세스하려면 IAM 역할과 함께 임시 보안 인증 정보를 사용해야 합니다.

  • AWS Lambda를 사용하면 임시 보안 인증 정보를 사용하여 AWS 작업을 수행할 수 있는 서비스 권한을 부여하도록 Lambda 실행 역할을 구성할 수 있습니다. IAM 역할을 사용하여 임시 보안 인증 정보를 부여하는 AWS 서비스에 대한 다른 유사한 모델이 많이 있습니다.

  • IoT 디바이스의 경우 AWS IoT Core 보안 인증 정보 공급자를 사용하여 임시 보안 인증 정보를 요청할 수 있습니다.

  • 온프레미스 시스템 또는 AWS 리소스에 액세스해야 하는 AWS 외부에서 실행되는 시스템의 경우 IAM Roles Anywhere를 사용할 수 있습니다.

임시 보안 인증 정보를 사용할 수 없고 장기 보안 인증 정보를 사용해야 하는 시나리오가 있습니다. 이러한 상황에서는 보안 인증 정보를 주기적으로 감사 및 교체하고 장기 보안 인증 정보가 필요한 사용 사례를 위해 정기적으로 액세스 키를 교체합니다. 장기 보안 인증 정보가 필요할 수 있는 몇 가지 예로는 WordPress 플러그인 및 타사 AWS 클라이언트가 있습니다. 장기 보안 인증 정보를 사용해야 하는 상황이나 데이터베이스 로그인과 같이 AWS 액세스 키 이외의 보안 인증 정보에 대해 AWS Secrets Manager와 같은 보안 암호 관리를 처리하도록 설계된 서비스를 사용할 수 있습니다. Secrets Manager를 사용하면 지원되는 서비스를 사용하여 암호화된 보안 암호를 간단하게 관리 및 교체하고 안전하게 저장할 수 있습니다. 장기 보안 인증 정보 교체에 대한 자세한 내용은 액세스 키 교체를 참조하세요.

리소스

관련 모범 사례:

관련 문서:

관련 동영상: