본문 바로가기
CLOUD/AWS

AWS Parameter Store 와 AWS Secrets Manager 공통점과 차이점

by Rainbound-IT 2022. 7. 22.
반응형

목차

    공통점

    Managed Key/Value Store Services

     이 두 서비스 사이에는 많은 유사점이 있습니다. 이 두 서비스 모두 이름이나 키 아래에 값을 저장하는 솔루션을 제공합니다. 두 서비스 모두 최대 4096자의 값을 저장할 수 있으며 키에 접두사를 사용할 수 있습니다. S3와 마찬가지로 SSM Parameter Store와 AWS Secrets Manager 모두 파라미터 이름에 접두사를 붙일 수 있습니다. 예를 들어 매개변수 또는 비밀은 다음 접두사 스키마 application/environment/parametername 또는 응용 프로그램의 요구 사항을 충족하는 다른 접두사 조합에 넣을 수 있습니다. 이는 애플리케이션 배포가 배포 대상 환경에 따라 다른 매개변수/비밀을 참조할 수 있기 때문에 유용합니다.

    Similar Encryption Options

    두 서비스 모두 AWS KMS를 활용하여 값을 암호화할 수 있습니다. KMS를 사용하면 IAM 사용자와 역할에 값을 해독할 권한이 있는 권한을 제어하도록 IAM 정책을 구성할 수 있습니다. IAM을 통해 값에 대한 액세스를 제한할 수 있지만 암호화는 추가 보안 계층을 제공하며 규정 준수에 필요한 경우가 있습니다.
    SSM 매개변수는 값을 일반 텍스트로 저장하거나 KMS 키로 암호화하는 옵션을 제공합니다. AWS Secrets Manager는 암호화된 데이터만 저장합니다(그렇지 않으면 값이 일반 텍스트로 저장된 경우 암호가 아니며 보안되지 않은 파라미터가 됨).

    Both Referenceable in CloudFormation

    SSM Parameter Store 및 AWS Secrets Manager가 CloudFormation과 상호 작용하는 방식에 대한 작성은 완전히 별도의 문서가 될 수 있습니다. 그러나 요약하면 두 서비스의 값을 CloudFormation 템플릿에서 참조할 수 있으므로 암호나 기타 동적 값을 하드 코딩할 수 없습니다. 예를 들어, CloudFormation을 통해 RDS 인스턴스를 생성할 때 CloudFormation 스크립트에서 마스터 암호를 하드 코딩하는 것은 좋지 않습니다. 대신 할 수 있는 것은 마스터의 사용자 이름과 비밀번호를 비밀에 저장할 수 있고 CloudFormation이 RDS 리소스를 프로비저닝하는 동안 해당 비밀을 참조할 수 있다는 것입니다. 이렇게 하면 CloudFormation 스크립트는 암호를 일반 텍스트로 포함하는 대신 암호가 있는 위치에 대한 포인터만 갖습니다.
    마찬가지로 다른 매개변수(비밀번호뿐만 아니라)도 동일한 방식으로 참조하여 보다 동적인 CloudFormation 스크립트를 제공할 수 있습니다.

     

     

     

     

    차이점

    Password Generation

    서비스는 비슷하지만 서비스 간에도 많은 차이점이 있습니다. 첫 번째 차이점은 AWS Secrets Manager가 AWS CLI 또는 SDK를 통해 임의의 암호를 생성할 수 있다는 것입니다. 예를 들어 CloudFormation 템플릿을 통해 새 RDS 인스턴스를 생성할 때 마스터 사용자 이름과 암호가 필요하므로 무작위로 생성된 암호를 생성하고 RDS 구성에서 참조할 수도 있습니다. CloudFormation은 데이터베이스 관리자만 액세스할 수 있는 AWS Secrets Manager 암호에 사용자 이름과 암호를 저장할 수 있습니다.
    비밀번호 생성은 CloudFormation 템플릿에서 유용할 뿐만 아니라 애플리케이션(SDK를 통해)에서도 이 기능을 활용할 수 있습니다. 임의의 문자열을 생성하는 기능은 AWS Secrets Manager에서만 사용할 수 있으며 SSM Parameter Store에서는 사용할 수 없습니다.

    Secrets Rotation

    AWS Secrets Manger 고유의 또 다른 기능은 암호 값을 교체하는 기능입니다. 기본적으로 AWS Secrets Manager는 RDS와 전체 키 교체 통합을 제공합니다. 즉, AWS Secrets Manager가 키를 교체하고 실제로 RDS에서 새 키/암호를 적용할 수 있습니다. RDS 이외의 서비스의 경우 AWS에서는 AWS Lambda 함수를 사용하여 사용자 지정 키 교체 로직을 작성할 수 있습니다.

    Cost

    SSM Parameter Store 사용에 대한 추가 비용은 없습니다. 그러나 계정당 매개변수는 10,000개로 제한됩니다. 반면 AWS Secrets Manager에는 추가 비용이 발생합니다. 이 글을 쓰는 시점에서 저장된 비밀당 $0.40의 비용이 들며 10,000개의 API 호출에 대해 추가 $0.05의 비용이 듭니다.

    Cross Account Access

    AWS Secrets Manager가 SSM 매개변수 저장소와 상당히 다른 또 다른 방법은 암호를 계정 간에 공유할 수 있다는 것입니다. 예를 들어, 한 개발 또는 프로덕션 AWS 계정의 IAM 사용자 및 애플리케이션 리소스는 다른 AWS 계정(예: 보안 AWS 계정)에 저장된 비밀에 액세스할 수 있습니다. 이러한 기능은 고객이 특정 비밀을 파트너와 공유해야 하는 사용 사례에도 유용합니다.

    Use Cases

    이론적으로 두 서비스 모두 키/값 저장소 요구 사항을 충족할 수 있지만 한 서비스를 다른 서비스보다 사용하는 경우의 사용 사례에 차이가 있다고 생각합니다. AWS는 Parameter Store에서 비밀 관리가 가능하다는 것을 알고 있었지만 기능이 부족했습니다. 따라서 AWS Secrets Manager가 암호를 저장하기 위해 생성된 것은 놀라운 일이 아닙니다. 키 교체, 교차 계정 액세스 및 AWS 서비스와의 긴밀한 통합과 같은 추가 기능을 통해 AWS Secrets Manager는 다른 타사 솔루션과 통합할 필요 없이 비밀을 저장할 수 있는 훌륭한 솔루션을 제공합니다.
    AWS Secrets Manager는 SSM Parameter Store 기능을 대체하지 않습니다. Parameter Store는 환경 구성 데이터 또는 기타 필요한 매개변수를 저장하여 애플리케이션 배포를 쉽게 최적화하고 간소화하는 기능을 계속 제공합니다. 그리고 그것은 무료입니다!
     

    Reference

    AWS Parameter Store vs. AWS Secrets Manager - 1Strategy

     

    AWS Parameter Store vs. AWS Secrets Manager - 1Strategy

    Security is an important aspect of any infrastructure especially for infrastructures in the Cloud. However, best security practices regarding parameters and secrets often are overlooked during fast and iterative application […]

    www.1strategy.com

     

    반응형

    댓글