SecureString 매개 변수 - AWS 시스템 관리자

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

SecureString 매개 변수

SecureString 매개 변수는 저장해야 하는 민감한 데이터입니다. 안전한 방식으로 참조됩니다. 사용자가 변경하지 않도록 하는 데이터가 있는 경우 암호 또는 라이센스 키와 같은 일반 텍스트의 참조를 사용하여 이러한 매개 변수를 만듭니다. 사용 SecureString 데이터 유형.

중요

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

자세한 내용은 을 참조하십시오. 파라미터 유형 및 예제.

다음을 사용하는 것이 좋습니다. SecureString 다음에 대한 매개변수 시나리오.

  • 데이터/매개변수를 AWS 서비스를 제공할 수 있습니다. 명령, 함수, 에이전트 로그 또는 AWS CloudTrail 로그.

  • 민감한 데이터에 액세스할 수 있는 사람을 제어하고자 합니다.

  • 민감한 데이터에 액세스할 때 감사할 수 있어야 합니다. (AWS CloudTrail).

  • 민감한 데이터를 암호화하고 암호화 키를 사용하여 액세스를 관리합니다.

중요

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

AWS KMS 암호화 및 가격 책정

만약 SecureString 사용자가 파라미터, Parameter Store 은(는) AWS Key Management Service (KMS) 고객 마스터 키(CMK)를 매개 변수 값 을(를) 암호화합니다. KMS는 고객이 관리하는 CMK 또는 AWS-매개변수 값 을(를) 암호화할 때 관리되는 CMK.

에서 요금이 부과되지 않습니다. Parameter Store 을(를) 만들 수 있습니다. SecureString 매개 변수이지만, AWS Key Management Service 암호화가 적용됩니다. 자세한 내용은 를 참조하십시오. AWS Key Management Service 가격.

에 대한 자세한 정보 AWS CMK 관리 및 고객 관리, 참조 AWS Key Management Service 개념 에서 AWS Key Management Service Developer Guide. 에 대한 자세한 정보 Parameter Store 및 AWS KMS 암호화, 참조 방법 AWS 시스템 관리자 Parameter Store 사용 AWS KMS.

참고

CMK를 보려면 AWS KMS 키 작업 을 설명합니다. 이 AWS CLI 사용 예 설명키를 클릭하여 AWS-관리 CMK.

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

AWS 기본 키 사용에 대한 IAM 권한 및 고객 관리 키

Parameter Store SecureString 매개 변수를 암호화하고 AWS Key Management Service (AWS KMS) 키. 다음을 암호화하도록 선택할 수 있습니다. SecureString 사용자 마스터 키(CMK) 또는 제공된 기본 KMS 키를 사용하는 매개 변수 AWS 에 의해.

고객 관리 키를 사용할 때 사용자에게 파라미터 또는 파라미터 경로는 kms:Encrypt 키에 대한 사용 권한. 예를 들어, 다음 정책에서는 사용자가 업데이트 및 보기 SecureString 매개변수가 "prod-"로 시작되고 지정된 지역 및 계정.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:GetParameter", "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-2:111122223333:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE" ] } ] }

1kms:GenerateDataKey 암호화된 지정된 고객 관리 키 를 사용하는 고급 매개 변수.

반대로, 고객 계정 내의 모든 사용자는 기본 AWS에 액세스할 수 있습니다. 관리 키. 이 기본 키를 사용하여 SecureString 사용자가 작업하지 않도록 합니다. SecureString 파라미터, IAM 정책은 설명된 대로 기본 키에 대한 액세스를 명시적으로 거부해야 합니다. 를 참조하십시오.

참고

기본 키의 ARN을 AWS KMS 콘솔 AWS 관리 키 페이지를 참조하십시오. 기본 키는 aws/ssm 에서 을 별칭 열.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "kms:Decrypt", "kms:GenerateDataKey " ], "Resource": [ "default-key-ARN" ] } ] }

의 세부 액세스 제어가 필요한 경우 SecureString 고객 관리 CMK를 사용하여 이러한 매개 변수에 대한 액세스를 제한합니다. 또한 AWS CloudTrail 모니터링 SecureString 매개 변수 활동.

자세한 내용은 다음 항목을 참조하십시오.

을 사용하여 SecureString 매개 변수를 만듭니다. 기본 AWS 관리 키

만약 SecureString 매개 변수를 사용하여 AWS-관리 AWS KMS 여러분의 계정과 지역에서 하지 않음 해야 할 일 에 대한 값을 제공합니다. --key-id 파라미터.

다음 AWS CLI 예제는 새 SecureString 매개변수 Parameter Store 이(가) 없는 경우 --key-id 파라미터:

Linux
aws ssm put-parameter \ --name parameter-name \ --value "parameter-value" \ --type SecureString
Windows
aws ssm put-parameter ^ --name parameter-name ^ --value "parameter-value" ^ --type SecureString

을 사용하여 SecureString 매개 변수를 만듭니다. 고객 관리 CMK

고객 관리 CMK를 사용하려면 AWS-관리된 CMK가 를 사용하여 키를 지정해야 합니다. --key-id 파라미터. 더 파라미터는 다음 KMS 파라미터 형식을 지원합니다.

  • 주요 ARN 사례:

    arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

  • 별칭 ARN 예제:

    arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • 키 ID 예:

    12345678-1234-1234-1234-123456789012

  • 별칭 이름 예:

    alias/MyAliasName

다음을 사용하여 고객 관리 CMK를 만들 수 있습니다. AWS Management 콘솔 또는 AWS KMS API. 더 팔로잉 AWS CLI 명령은 현재 지역에서 고객 관리 키를 생성합니다. AWS 계정.

aws kms create-key

다음 형식의 명령을 사용하여 SecureString 매개 변수(이후 생성한 키 사용)

Linux
aws ssm put-parameter \ --name parameter-name \ --value "parameter-value" \ --type SecureString \ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
Windows
aws ssm put-parameter ^ --name parameter-name ^ --value "parameter-value" ^ --type SecureString ^ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
참고

암호화된 값을 사용하여 수동으로 매개 변수를 생성할 수 있습니다. 이 경우, 값이 이미 암호화되었기 때문에 SecureString 파라미터 유형. 만약 SecureString, 매개변수가 두 배가 됩니다. 암호화되었습니다.

기본적으로 SecureString 값은 암호 텍스트로 표시됩니다. 종료 암호 해독 a SecureString 사용자는 케이엠에스 복호화 API 작업. 대상 KMS 액세스 제어 구성에 대한 정보는 다음을 참조하십시오. 에 대한 인증 및 액세스 제어 AWS KMS 에서 AWS Key Management Service Developer Guide.

SecureString 매개 변수 사용 기타 AWS 서비스

또한 SecureString 파라미터와 기타 AWS 서비스. 다음 예에서 AWS Lambda 함수가 SecureString 매개 변수를 사용하여 파라미터 가져오기 API.

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

관련 주제

을 만들고 사용하는 방법에 대한 예제는 SecureString 매개변수, 참조 시찰: 생성 SecureString 매개 변수를 사용하고 인스턴스를 도메인(PowerShell)에 연결. 추가 정보 사용 관련 정보 시스템 관리자 파라미터와 기타 AWS 서비스, 참조 블로그 게시물을 팔로우합니다.