매일 업데이트
2023-07-06 11:54 13 min

당신이 알아야 할 모든 것 [2023]

AWS Secrets Manager는 모든 종류의 중요한 자격 증명, 데이터, 암호 및 기타 비밀 정보를 안전하게 보관할 수 있는 핵심 도구입니다.

전 세계적으로 사이버 공격이 급증하고 있으며, 이러한 공격은 기밀 정보와 금전을 탈취하고 조직을 파괴하는 것을 목표로 합니다.

데이터 보안을 위해 Secrets Manager와 같은 강력한 서비스의 사용이 필수적입니다.

이 글에서는 AWS Secrets Manager의 기능과 이점이 무엇인지 자세히 살펴보겠습니다.

시작해 볼까요!

AWS Secrets Manager란?

AWS Secrets Manager는 암호, API 키, 데이터베이스 자격 증명 및 애플리케이션 자격 증명과 같은 중요한 정보의 수명 주기를 관리하고, 교체하며, 안전하게 검색하는 데 필요한 기능을 제공하는 도구입니다.

여기서 비밀 정보는 조직이 안전하게 관리해야 하는 중요한 기밀 데이터를 의미하며, 사용자 이름, 암호, OAuth 토큰, AWS 자격 증명, SSH 키, 암호화 키, 인증서 및 개인 키 등을 포함합니다.

AWS Secrets Manager의 주요 목표는 IT 자원, 서비스, 애플리케이션 및 시스템에 접근하는 데 필요한 데이터들을 보호하고 효율적으로 관리하는 것입니다. 비밀 정보와 데이터를 중앙에서 저장하고 관리하여, 인증된 사용자들이 복잡한 코드 작성 없이도 정보에 쉽게 접근할 수 있도록 합니다.

AWS Secrets Manager를 이용하면 Redshift, RDS, DocumentDB와 같은 다양한 AWS 서비스의 보안 정보를 간편하게 교체할 수 있습니다. 이를 통해 해당 서비스에서 모든 키와 데이터베이스 자격 증명을 최신 상태로 유지할 수 있습니다. 또한, 내장 콘솔, AWS SDK, 또는 AWS CLI를 사용하여 필요에 따라 또는 정해진 일정에 따라 암호를 교체할 수 있습니다.

또한, AWS Secrets Manager는 향상된 데이터 제어 및 강력한 암호화 기능을 제공하여 데이터 보호 수준을 높입니다. 다양한 통합 기능을 통해 보호된 정보를 실시간으로 모니터링하고 감사할 수 있습니다.

주로 대기업 및 소프트웨어 회사와 같은 기술 기반 기업에서 널리 사용됩니다.

AWS Secrets Manager의 주요 기능

#1. 비밀 정보 저장 및 관리

Secrets Manager는 단순한 저장 기능을 넘어 비밀 정보를 쉽게 관리할 수 있게 해줍니다. 플랫폼 내에서 데이터를 관리하기 위한 다양한 작업들을 수행할 수 있습니다.

  • 비밀 정보 및 데이터베이스 생성
  • 비밀 정보 수정
  • 비밀 정보 검색
  • 더 이상 필요하지 않은 비밀 정보 삭제
  • 분실 또는 삭제된 비밀 정보 복원
  • 다른 AWS 리전에 비밀 정보 복제
  • AWS Secrets Manager 내에서 복제된 비밀 정보를 독립적인 비밀 정보로 승격

Amazon Aurora, Amazon RDS, Amazon DocumentDB 또는 Amazon Redshift 계정을 생성한 후, 플랫폼에 자격 증명을 저장할 수 있습니다. Secrets Manager 콘솔, AWS SDK, 또는 AWS CLI를 사용하여 간편하게 관리할 수 있습니다.

#2. 강력한 보안

AWS Secrets Manager는 강력한 암호화를 사용하여 허가받지 않은 접근으로부터 모든 비밀 정보를 안전하게 보호합니다. AWS Key Management Service(KMS) 키를 사용하여 비밀 정보를 암호화합니다.

Secrets Manager는 AWS Identity and Access Management(IAM)와 연동하여 사용자가 자신의 비밀 정보에 안전하게 접근할 수 있도록 합니다. 이는 고급 접근 제어 및 인증 기능을 제공합니다.

  • 인증은 요청하는 사용자의 신원을 확인하는 데 사용됩니다. 멀티 팩터 인증(MFA) 토큰, 접근 키 및 암호를 요구하는 로그인 프로세스를 통해 사용자를 식별합니다.
  • 접근 제어는 허가된 사용자만이 비밀 정보에 대한 특정 작업만 수행할 수 있도록 제한하는 데 사용됩니다.

또한 Secrets Manager는 어떤 사용자가 어떤 리소스에 접근할 수 있는지, 그리고 해당 비밀 정보나 리소스에 대해 어떤 작업을 수행할 수 있는지를 정의하는 정책을 사용합니다. AWS IAM Roles Anywhere를 사용하여 서버, 애플리케이션, 컨테이너 및 AWS에서 실행되는 다른 워크로드에 대한 보안 강화를 위해 임시 자격 증명을 얻을 수 있습니다.

AWS 및 온프레미스 장치(예: 애플리케이션 서버)의 리소스에 접근하기 위해 AWS 앱용으로 생성한 워크로드에 동일한 IAM 역할 및 정책을 적용할 수 있습니다.

#3. 비밀 정보 교체

AWS Secrets Manager를 사용하면 활성 애플리케이션을 중단시키거나 재배포하지 않고도 정해진 일정에 따라 또는 필요에 따라 비밀 정보를 교체할 수 있습니다.

비밀 정보 교체는 조직의 비밀 정보를 주기적으로 업데이트하는 프로세스를 의미합니다. 비밀 정보를 교체할 때는 비밀 정보의 데이터나 자격 증명뿐만 아니라 서비스나 데이터베이스도 업데이트해야 합니다. 콘솔과 AWS CLI를 통해 암호 교체를 설정하고 자동화하여 시간을 절약할 수 있습니다.

비밀 정보를 업데이트하기 위해 AWS Secrets Manager는 AWS Lambda 함수를 활용하고 설정된 일정에 따라 호출합니다. 이를 위해 특정 기간(예: 90일 또는 30일) 후에 교체를 활성화하도록 특정 일정을 설정해야 합니다. cron 표현식을 사용하여 설정할 수도 있습니다.

Secrets Manager는 스테이징 레이블을 사용하여 교체 과정에서 비밀 정보 버전에 레이블을 지정할 수 있습니다. 다양한 매개변수를 제공하여 교체 과정 중에 함수를 여러 번 호출할 수 있습니다.

비밀 정보 교체 방법은 다음과 같습니다.

  • 비밀 정보의 새 버전을 생성합니다. 새 사용자 이름과 암호를 포함한 새로운 비밀 정보를 추가할 수 있습니다.
  • 서비스 또는 데이터베이스에서 기존 자격 증명을 변경합니다. 이렇게 하면 새 비밀 정보 버전의 새 자격 증명이 일치하게 됩니다. 구현 중인 교체 전략에 따라 기존 사용자와 동일한 접근 권한을 가진 새 사용자를 생성합니다.
  • 서비스 또는 데이터베이스에 대한 접근을 허용하여 새로 생성된 비밀 정보 버전을 테스트합니다. 이는 애플리케이션에 필요한 접근 유형에 따라 결정됩니다. 읽기 및 쓰기 접근을 포함할 수 있습니다.
  • 새 버전으로 이전 버전을 이동하여 교체를 수행합니다. 이전 버전을 유지하여 비밀 정보를 완전히 손실하지 않도록 합니다.

#4. 비밀 정보 감시

위반 및 비효율성은 언제든 발생할 수 있으므로 비밀 정보를 주시하고 문제가 발생했을 때 적절한 조치를 취하는 것이 중요합니다. AWS Secrets Manager는 모니터링 도구를 사용하여 데이터를 감시하고 문제가 발생하면 즉시 보고할 수 있도록 합니다.

로그를 사용하여 예상치 못한 변경 사항이나 사용 내역을 조사할 수 있습니다. 문제가 발견되면 원치 않는 변경 사항을 롤백하고 이전 버전을 검색할 수도 있습니다. 비밀 정보 삭제 또는 부적절한 사용 시도를 감지하기 위해 자동 검사를 구성할 수 있습니다.

비밀 정보 모니터링을 통해 얻을 수 있는 이점은 다음과 같습니다.

  • AWS CloudTrail을 사용하여 이벤트 기록: AWS CloudTrail은 보안 비밀 정보 교체 및 삭제를 위한 API 호출을 콘솔의 이벤트로 기록할 수 있습니다. 지난 90일 동안 기록된 이벤트가 표시됩니다. 여러 AWS 리전 및 계정에서 Amazon S3 버킷으로 로그 파일을 직접 전송하도록 CloudTrail을 설정할 수도 있습니다.
  • CloudWatch를 사용하여 모니터링: CloudWatch를 사용하면 원시 데이터를 수집하고 실시간으로 읽을 수 있는 지표로 처리하여 비밀 정보를 쉽게 모니터링할 수 있습니다. 데이터는 서비스 또는 앱의 성능을 측정하기 위해 15개월 동안 저장됩니다.
  • EventBridge를 사용하여 이벤트 일치: EventsBridge를 사용하면 AWS CloudTrail 로그 파일의 이벤트를 일치시킬 수 있습니다. 해당 이벤트를 찾는 규칙을 구성하고 새로운 이벤트가 감지되면 대상에 조치를 취하도록 설정할 수 있습니다.
  • 삭제 예약된 비밀 정보 모니터링: Amazon CloudWatch Logs, Simple Notification Service(SNS), CloudTrail을 결합하여 비밀 정보를 무단으로 삭제하려는 시도가 있을 경우 알림을 보내도록 경보를 설정할 수 있습니다.

알람이 발생하면 실제로 삭제할 것인지 또는 삭제를 중지할 것인지 결정할 시간을 가질 수 있습니다. 또는 사용자가 새로운 비밀 정보를 사용하도록 허용하고 접근 권한을 부여할 수 있습니다.

#5. 통합

AWS Secrets Manager는 여러 Amazon 및 AWS 도구와 통합됩니다. 통합되는 도구로는 Alexa for Business, AWS App2Container, App Runner, Amazon AppFlow, AWS AppConfig, Amazon Athena, Amazon DocumentDB, AWS DataSync, AWS CodeBuild, Amazon ElasticCache, Amazon EMR, AWS Elemental Live, Amazon QuickSight, Amazon Redshift, AWS Migration Hub, Amazon RDS 등이 있습니다.

AWS Secrets Manager를 사용하는 이유

보안 태세 강화

Secrets Manager를 사용하면 애플리케이션의 소스 코드에 하드 코딩된 자격 증명을 사용할 필요가 없어 조직의 보안 태세를 크게 강화할 수 있습니다. Secrets Manager에 자격 증명을 안전하게 저장함으로써, 앱 또는 구성 요소에 접근할 수 있는 사람으로 인해 발생할 수 있는 보안 사고를 예방할 수 있습니다.

재해 복구

사이버 침해와 같은 재해는 언제든지 발생할 수 있으며, 중요한 정보, 암호, 기타 자격 증명 및 데이터의 손실을 초래할 수 있습니다. 또는 실수로 데이터를 삭제하여 손실이 발생할 수도 있습니다.

Secrets Manager를 사용하면 하드 코딩된 자격 증명을 실행 시간 중에 AWS Secrets Manager에 대한 호출로 대체하여 필요할 때마다 동적으로 자격 증명을 검색할 수 있습니다.

위험 감소

Secrets Manager를 사용하면 암호가 자동으로 교체되도록 교체 일정을 구성할 수 있습니다. 장기 비밀 정보를 단기 비밀 정보로 대체하여 보안 침해의 위험을 줄일 수 있습니다.

또한 자격 증명을 교체하면 애플리케이션과 함께 자격 증명을 저장하지 않으므로 애플리케이션 업데이트나 클라이언트 수정이 필요하지 않습니다.

규정 준수 요구 사항 충족

보안 및 개인 정보 보호 위험이 증가함에 따라 GDPR 및 HIPAA와 같은 규제 기관은 조직이 고객 및 비즈니스 데이터를 안전하게 처리할 수 있도록 규정 준수 표준을 준수할 것을 요구합니다. 따라서 안전하고 해당 규정을 준수하는 애플리케이션 또는 서비스만 사용해야 합니다.

AWS Secrets Manager를 사용하면 비밀 정보를 지속적으로 모니터링하여 데이터 손실을 초래할 수 있는 보안 취약점이나 위험을 감지하고 사전 예방 조치를 취할 수 있습니다. 이는 규정 준수를 유지하는 데 매우 중요한 비즈니스 및 고객 정보를 보호하는 데 핵심적인 역할을 합니다. 또한 모든 보안 활동을 기록하여 감사에 더 잘 대비할 수 있도록 도와줍니다.

AWS Config를 활용하여 비밀 정보를 평가하고 조직의 내부 정책, 규정 및 산업 지침을 준수하는 방법을 평가할 수도 있습니다. 이를 통해 비밀 정보에 대한 규정 준수 요구 사항 및 내부 통제를 정의하고 규정을 준수하지 않는 비밀 정보를 식별할 수 있습니다.

향상된 제어

세분화된 정책 및 접근 제어를 통해 비밀 정보, 시스템, 기타 데이터를 더 효율적으로 제어할 수 있습니다. AWS IAM은 적절한 사용자가 적절한 리소스에 대한 적절한 수준의 접근 권한을 갖도록 보장합니다. 관리자는 계정을 생성 및 삭제하고, 사용자 접근을 허용 및 제한하며, 구성원을 추가 및 제거하는 등 필요에 따라 다양한 작업을 수행할 수 있습니다.

AWS Secrets Manager: 설정 및 사용 방법

AWS Secrets Manager를 설정하고 사용하는 방법은 다음과 같습니다.

  • 필수 세부 정보를 입력하여 AWS 계정을 설정합니다.
  • AWS 계정에 로그인합니다.
  • AWS Secrets Manager 콘솔로 이동합니다.
  • "새로운 비밀 정보 저장" 옵션을 찾아 클릭하여 비밀 정보를 생성하고 저장합니다.

새로운 비밀 정보를 생성하고 저장하는 방법

Secrets Manager에서 비밀 정보를 생성하려면 SecretsManagerReadWrite 관리형 정책의 권한이 필요합니다. 비밀 정보가 생성되면 Secret Manager는 CloudTrail 로그 항목을 생성합니다.

다음 단계를 따라 접근 토큰, API 키 및 자격 증명을 AWS Secrets Manager에 저장하십시오.

출처: 스택 오버플로

  • AWS Secrets Manager 콘솔을 엽니다.
  • "새로운 비밀 정보 저장"을 클릭합니다.
  • "비밀 정보 유형 선택" 페이지가 나타납니다. 다음 단계를 수행합니다.

    • 생성하려는 비밀 정보 유형에 대해 "다른 유형의 비밀 정보"를 선택합니다.
    • 키-값 쌍이 표시됩니다. JSON 형식의 키-값 쌍에 비밀 정보를 입력하거나 일반 텍스트 탭을 선택하여 원하는 형식으로 비밀 정보를 입력합니다. 최대 65,536바이트의 비밀 정보를 저장할 수 있습니다.
    • 비밀 정보 값을 암호화하기 위해 Secret Manager에서 사용할 AWS KMS 키를 선택합니다. 대부분 관리 키를 사용하기 위해 aws/secretsmanager로 이동할 수 있으며, 추가 비용이 발생하지 않습니다.
    • 다른 AWS 계정의 비밀 정보에 접근하거나, KMS 키를 사용하여 교체를 활성화하거나, 해당 키에 대한 정책을 구현하려면 "새로운 키 추가"를 선택하거나 제공된 목록에서 고객 관리 키를 선택합니다. 하지만 고객 관리 키는 유료입니다.
    • "다음"을 클릭합니다.

  • "비밀 정보 구성" 페이지에서,
    • 비밀 정보의 이름과 설명을 입력합니다. 이름은 1~512자의 유니코드 문자여야 합니다.
    • 태그 섹션에서 비밀 정보에 태그를 추가할 수 있습니다. "권한 편집"을 선택하여 리소스 정책을 포함할 수도 있습니다.
    • "비밀 정보 복제"를 선택하여 다른 AWS 리전에 비밀 정보를 복제할 수도 있습니다. 이 단계는 선택 사항입니다.
    • "다음"을 클릭합니다.
  • 원하는 경우 "교체 구성" 페이지에서 자동 교체를 활성화할 수 있습니다. 이 단계 역시 선택 사항입니다. "다음"을 클릭합니다.
  • "검토" 페이지에서 비밀 정보의 세부 정보를 확인하고 "저장"을 선택합니다. 그러면 설정이 완료됩니다. Secret Manager는 비밀 정보 목록으로 이동합니다. 새로 추가된 비밀 정보가 표시되어야 합니다. 그렇지 않으면 페이지를 새로 고쳐보세요.
  • 콘솔 외에도 AWS SDK 및 AWS CLI를 통해 비밀 정보를 추가할 수도 있습니다.

    AWS Secrets Manager와 AWS Parameter Store 비교

    AWS Parameter Store는 AWS Systems Manager(SSM)의 일부로, 사용자가 애플리케이션의 구성, 자격 증명, 제품 키 및 사용자 정의 환경 변수를 저장할 수 있는 키-값 매개변수를 생성할 수 있는 애플리케이션 관리 도구입니다.

    반면에 AWS Secrets Manager는 자격 증명, 키, API 토큰 등을 생성, 저장, 관리, 검색 및 교체할 수 있는 전문 서비스입니다.

    두 서비스 모두 비밀 정보 및 매개변수를 쉽게 관리할 수 있는 유사한 인터페이스를 제공하지만, 다음과 같은 차이점이 있습니다.

    AWS Secrets Manager AWS Parameter Store
    저장 크기 최대 10KB의 비밀 정보 크기를 저장합니다. 최대 4,096자 또는 항목당 4KB, 고급 매개변수의 경우 최대 8KB를 저장할 수 있습니다.
    한도 500,000개의 비밀 정보/리전/계정을 저장할 수 있습니다. 10,000개의 표준 매개변수/리전/계정을 저장할 수 있습니다.
    비용 월별 $0.40/비밀 정보 표준 매개변수는 무료, 고급 매개변수는 10,000 API 호출당 $0.05입니다. 표준 매개변수는 무료이며, 고급 매개변수는 API 호출당 비용이 청구됩니다.
    교체 언제든지 자동 교체를 제공하고 구성할 수 있습니다. 자격 증명을 업데이트하려면 함수를 직접 작성해야 합니다.
    교차 계정 접근 아니오
    교차 리전 복제 아니오
    자격 증명 유형 암호화가 필요한 기밀 데이터에 사용됩니다. 제품 키, URL 등과 같은 앱 구성 변수를 포함하여 더 다양한 유형의 자격 증명을 저장할 수 있습니다.

    결론

    소규모, 중규모 또는 대규모 기업이든 AWS Secrets Manager를 사용하여 비밀 정보를 생성하고 안전하게 저장할 수 있습니다. 향상된 보안, 개인 정보 보호, 접근 제어 및 무단 접근으로부터 비밀 정보를 보호하는 다양한 기능을 제공합니다.

    AWS 보안 스캐닝 및 구성 모니터링을 수행하는 방법도 함께 살펴보는 것이 좋습니다.

    저자
    Korea

    기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.