AWS Systems Manager Parameter Store - AWS Systems Manager

AWS Systems Manager Parameter Store

AWS Systems Manager의 기능인 Parameter Store는 구성 데이터 관리 및 암호 관리를 위한 안전한 계층적 스토리지를 제공합니다. 암호, 데이터베이스 문자열, Amazon Machine Image(AMI) ID, 라이선스 코드와 같은 데이터를 파라미터 값으로 저장할 수 있습니다. 값을 일반 텍스트 또는 암호화된 데이터로 저장할 수 있습니다. 파라미터를 생성할 때 지정한 고유 이름을 사용하여 스크립트, 명령, SSM 문서, 구성 및 자동화 워크플로에서 Systems Manager 파라미터를 참조할 수 있습니다. Parameter Store를 시작하려면 Systems Manager 콘솔을 엽니다. 탐색 창에서 Parameter Store를 선택합니다.

Parameter Store는 Secrets Manager와도 통합되어 있습니다. 이미 Parameter Store 파라미터 참조를 지원하는 다른 AWS 서비스을(를) 사용할 때 Secrets Manager 암호를 검색할 수 있습니다. 자세한 정보는 Parameter Store 파라미터에서 AWS Secrets Manager 암호 참조을 참조하십시오.

참고

암호 교체 수명 주기를 구현하려면 AWS Secrets Manager를 사용합니다. Secrets Manager를 사용하면 수명 주기 동안 데이터베이스 자격 증명, API 키 및 기타 보안 암호를 손쉽게 교체, 관리 및 검색할 수 있습니다. 자세한 내용은 AWS Secrets Manager 사용 설명서AWS Secrets Manager(이)란 무엇입니까? 섹션을 참조하세요.

Parameter Store가 조직에 주는 이점은 무엇인가요?

Parameter Store에서 제공하는 이점은 다음과 같습니다.

  • 안전하고 확장 가능한 호스팅 방식 암호 관리 서비스를 사용합니다(관리할 서버가 없음).

  • 데이터를 코드와 격리하여 보안 태세를 개선합니다.

  • 구성 데이터 및 암호화된 문자열을 계층으로 저장하고 버전을 추적합니다.

  • 세분화된 수준에서 액세스를 제어하고 감사합니다.

  • Parameter Store는 AWS 리전의 여러 가용 영역에서 호스팅되기 때문에 파라미터를 안정적으로 저장합니다.

Parameter Store는 누가 사용해야 하나요?

  • 구성 데이터를 중앙 집중식으로 관리하려는 모든 AWS 고객.

  • 다양한 로그인 및 참조 스트림을 저장하려는 소프트웨어 개발자.

  • 자신의 보안 암호와 암호가 변경되거나 변경되지 않을 때 알림을 받으려는 관리자.

Parameter Store에는 어떤 기능이 있나요?

  • 변경 알림

    파라미터 및 파라미터 정책 모두에 대해 변경 알림을 구성하고 자동화된 작업을 호출할 수 있습니다. 자세한 정보는 Parameter Store 이벤트 기반 알림 설정 또는 작업 트리거을 참조하십시오.

  • 파라미터 구성

    파라미터에 태그를 지정하면 파라미터에 지정한 태그를 토대로 하나 이상의 파라미터를 개별적으로 식별할 수 있습니다. 예를 들어, 특정 환경이나 부서에 대한 파라미터에 태그를 지정할 수 있습니다. 자세한 정보는 Systems Manager 파라미터에 태그 지정을 참조하십시오.

  • 레이블 버전

    레이블을 생성하여 파라미터 버전에 대한 별칭을 연결할 수 있습니다. 레이블이 있으면 파라미터 버전이 여러 개일 때 버전의 용도를 기억하기 쉽습니다.

  • 데이터 유효성 검사

    Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 가리키는 파라미터를 생성할 수 있으며 Parameter Store는 이러한 파라미터를 검증하여 예상 리소스 유형을 참조하는지, 리소스가 존재하는지, 고객에게 리소스 사용 권한이 있는지 확인합니다. 예를 들어 aws:ec2:image 데이터 형식의 값으로 Amazon Machine Image(AMI) ID가 있는 파라미터를 생성할 수 있습니다. Parameter Store은 파라미터 값이 AMI ID에 대한 형식 지정 요구 사항을 충족하고 지정된 AMI가 AWS 계정에서 사용 가능한지 확인하기 위해 비동기 검증 작업을 수행합니다.

  • 참조 암호

    이미 Parameter Store 파라미터 참조를 지원하는 다른 AWS 서비스을(를) 사용할 때 Secrets Manager 암호를 검색할 수 있도록 Parameter Store을(를) AWS Secrets Manager와(과) 통합했습니다.

  • 다른 AWS 서비스에서 액세스 가능

    Parameter Store 파라미터와 기타 Systems Manager 기능 및 AWS 서비스을(를) 사용하여 중앙 스토어에서 암호와 구성 데이터를 검색할 수 있습니다. 파라미터는 Run Command, Automation, State Manager, AWS Systems Manager의 기능과 같은 Systems Manager 기능과 함께 사용할 수 있습니다. 또한 다음을 비롯한 다양한 다른 AWS 서비스에서도 파라미터를 참조할 수 있습니다.

    • Amazon Elastic Compute Cloud(Amazon EC2)

    • Amazon Elastic Container Service(Amazon ECS)

    • AWS Secrets Manager

    • AWS Lambda

    • AWS CloudFormation

    • AWS CodeBuild

    • AWS CodePipeline

    • AWS CodeDeploy

  • 다른 AWS 서비스와(과)의 통합

    암호화, 알림, 모니터링 및 감사 기능을 위해 다음 AWS 서비스와(과)의 통합을 구성합니다.

파라미터란 무엇인가요?

Parameter Store 파라미터는 텍스트 블록, 이름 목록, 암호, AMI ID, 라이선스 키 등과 같이 Parameter Store에 저장되는 모든 데이터입니다. 스크립트, 명령 및 SSM 문서에서 이 데이터를 중앙에서 안전하게 참조할 수 있습니다.

파라미터를 참조할 때 다음 규칙을 사용하여 파라미터 이름을 지정합니다.

{{ssm:parameter-name}}

참고

파라미터는 다른 파라미터의 값에 참조되거나 중첩될 수 없습니다. 파라미터 값에 {{}} 또는 {{ssm:parameter-name}}을 포함할 수 없습니다.

Parameter Store는 String, StringList, SecureString 등 세 가지 유형의 파라미터를 지원합니다.

단, 파라미터를 생성하거나 업데이트할 때 파라미터 값을 일반 텍스트로 입력해야 하며 Parameter Store는 입력한 텍스트에 대해 검증을 수행하지 않습니다. 그러나 String 파라미터의 경우 데이터 형식을 aws:ec2:image로 지정할 수 있으며 Parameter Store는 입력한 값이 Amazon EC2 AMI에 적합한 형식인지 검증합니다(예: ami-12345abcdeEXAMPLE).

문자열

기본적으로 String 파라미터는 입력한 텍스트 블록으로 구성됩니다. 예:

  • abc123

  • Example Corp

  • <img src="images/bannerImage1.png"/>

StringList

StringList 파라미터에는 다음 예제와 같이 쉼표로 구분된 값 목록이 포함되어 있습니다.

Monday,Wednesday,Friday

CSV,TSV,CLF,ELF,JSON

SecureString

SecureString 파라미터는 안전한 방식으로 저장되고 참조되어야 하는 모든 민감한 데이터를 뜻합니다. 암호나 라이선스 키처럼 사용자가 일반 텍스트로 수정하거나 참조해서는 안 되는 데이터가 있는 경우 SecureString 데이터 형식을 사용하여 이 파라미터를 생성합니다.

중요

String 또는 StringList 파라미터에 중요한 데이터를 저장하지 않습니다. 암호화된 상태로 유지해야 하는 모든 중요한 데이터의 경우 SecureString 파라미터 유형만 사용하십시오.

자세한 정보는 SecureString 파라미터 생성(AWS CLI)을 참조하십시오.

다음 시나리오에 SecureString 파라미터를 사용하는 것이 좋습니다.

  • 명령, 함수, 에이전트 로그 또는 CloudTrail 로그에 일반 텍스트로 값을 노출하지 않고 AWS 서비스 전반에 걸쳐 데이터/파라미터를 사용하고 싶은 경우.

  • 민감한 데이터에 액세스하는 대상을 제어하고 싶은 경우.

  • 민감한 데이터에 액세스하는 시점을 감사하고 싶은 경우(CloudTrail).

  • 민감한 데이터를 암호화하고 싶은 경우와 자체 암호화 키로 액세스를 관리하고 싶은 경우.

중요

SecureString 파라미터의 만 암호화됩니다. 파라미터 이름, 설명 및 기타 속성은 암호화되지 않습니다.

암호, 애플리케이션 암호, 기밀 구성 데이터 또는 보호가 필요한 기타 유형의 데이터와 같이 암호화하려는 텍스트 데이터에 SecureString 파라미터 유형을 사용할 수 있습니다. SecureString 데이터는 AWS KMS 키를 사용하여 암호화되고 복호화합니다. AWS에서 제공하는 기본 KMS 키를 사용하거나 자체 AWS KMS key를 생성하여 사용할 수 있습니다. (SecureString 파라미터에 대한 사용자 액세스를 제한하려면 고유의 AWS KMS key를 사용합니다. 자세한 내용은 AWS 기본 키 및 고객 관리형 키 사용에 대한 IAM 권한 섹션을 참조하세요.)

다른 AWS 서비스와(과) 함께 SecureString 파라미터를 사용할 수도 있습니다. 다음 예에서는 Lambda 함수가 GetParameters API를 사용하여 SecureString 파라미터를 검색합니다.

from __future__ import print_function import json import boto3 ssm = boto3.client('ssm', 'us-east-2') def get_parameters(): response = ssm.get_parameters( Names=['LambdaSecureString'],WithDecryption=True ) for parameter in response['Parameters']: return parameter['Value'] def lambda_handler(event, context): value = get_parameters() print("value1 = " + value) return value # Echo back the first key value

AWS KMS 암호화 및 요금

파라미터를 생성할 때 SecureString 파라미터 형식을 선택하면 Systems Manager가 AWS KMS를 사용하여 파라미터 값을 암호화합니다.

중요

Parameter Store는 대칭 암호화 KMS 키만 지원합니다. 비대칭 암호화 KMS 키를 사용하여 파라미터를 암호화할 수 없습니다. KMS 키가 대칭인지 비대칭인지 확인하는 것과 관련된 도움말은 AWS Key Management Service Developer GuideIdentifying symmetric and asymmetric KMS keys를 참조하세요.

SecureString 파라미터 생성 시 Parameter Store에서 비용이 부과되지 않지만 AWS KMS 암호화 사용에 대한 요금이 적용됩니다. 자세한 내용은 AWS Key Management Service 요금을 참조하십시오.

AWS 관리형 키 및 고객 관리형 키에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드AWS Key Management Service 개념을 참조하세요. Parameter Store 및 AWS KMS 암호화에 대한 자세한 내용은 AWS Systems ManagerParameter Store의 AWS KMS 사용 방법을 참조하세요.

참고

AWS 관리형 키를 보려면 AWS KMS DescribeKey 작업을 사용합니다. 이 AWS Command Line Interface(AWS CLI) 예에서는 DescribeKey를 사용하여 AWS 관리형 키를 봅니다.

aws kms describe-key --key-id alias/aws/ssm