Systems Manager 파라미터 스토어를 사용하여 민감한 데이터 지정 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Systems Manager 파라미터 스토어를 사용하여 민감한 데이터 지정

를 사용하면 민감한 데이터를 AWS Systems Manager Parameter Store 파라미터에 저장한 다음 컨테이너 정의에서 참조하여 민감한 데이터를 컨테이너에 삽입할 수 있습니다. AWS Batch

Systems Manager 파라미터 스토어를 사용하여 민감한 데이터 지정 시 고려할 사항

Systems Manager 파라미터 스토어 파라미터를 사용하여 컨테이너에 민감한 데이터를 지정할 때 다음 사항을 고려해야 합니다.

  • 이 기능을 사용하려면 컨테이너 인스턴스에 컨테이너 에이전트 버전 1.23.0 이상이 있어야 합니다. 그러나 최신 버전의 컨테이너 에이전트를 사용하는 것이 좋습니다. 에이전트 버전을 확인하고 최신 버전으로 업데이트하는 방법에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서Amazon ECS 컨테이너 에이전트 업데이트를 참조하십시오.

  • 컨테이너가 처음 시작될 때 작업의 해당 컨테이너에 민감한 데이터가 주입됩니다. 암호 또는 파라미터 스토어 파라미터가 이후에 업데이트되거나 교체되면 컨테이너가 업데이트된 값을 자동으로 받지 않습니다. 업데이트된 암호로 새 작업을 강제로 시작하려면 새 작업을 시작해야 합니다.

시크릿에 필요한 IAM 권한 AWS Batch

이 기능을 사용하려면 실행 역할이 있어야 하며 작업 정의에서 해당 역할을 참조해야 합니다. 이를 통해 Amazon ECS 컨테이너 에이전트는 필요한 AWS Systems Manager 리소스를 가져올 수 있습니다. 자세한 설명은 AWS Batch 실행 역할 IAM 섹션을 참조하세요.

생성한 AWS Systems Manager 파라미터 스토어 파라미터에 대한 액세스를 제공하려면 실행 역할에 다음 권한을 인라인 정책으로 수동으로 추가하십시오. 자세한 내용은 IAM 사용 설명서IAM 정책 추가 및 제거를 참조하세요.

  • ssm:GetParameters ― 태스크 정의에서 Systems Manager 파라미터 스토어 파라미터를 참조하는 경우에 필요합니다.

  • secretsmanager:GetSecretValue ― Secrets Manager 암호를 직접 참조하는 경우 또는 Systems Manager 파라미터 스토어 파라미터가 태스크 정의에서 Secrets Manager 암호를 참조하는 경우에 필요합니다.

  • kms:Decrypt ― 암호가 사용자 지정 KMS 키를 사용하고 기본 키를 사용하지 않는 경우에 필요합니다. 사용자 지정 키의 ARN을 리소스로 추가해야 합니다.

다음 예제에서는 인라인 정책이 필수 권한을 추가합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters", "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter_name>", "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key_id>" ] } ] }

민감한 데이터를 환경 변수로 삽입

컨테이너 정의 내에서 컨테이너에 설정할 환경 변수의 이름으로 secrets(을)를 지정하여 컨테이너에 제공할 민감한 데이터가 들어있는 Systems Manager 파라미터 스토어 파라미터의 전체 ARN을 지정합니다.

다음은 Systems Manager 파라미터 스토어 파라미터를 참조할 때 형식을 나타내는 태스크 정의의 조각입니다. Systems Manager 파라미터 스토어 파라미터가 현재 실행 중인 태스크와 동일한 리전에 있는 경우, 파라미터의 전체 ARN 또는 이름을 사용할 수 있습니다. 파라미터가 다른 리전에 있다면 전체 ARN을 지정해야 합니다.

{ "containerProperties": [{ "secrets": [{ "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }

로그 구성에 민감한 데이터 삽입

컨테이너 정의 내에서, logConfiguration을 정의할 때 컨테이너에 설정할 로그 드라이버 옵션의 이름과 컨테이너에 제공할 민감한 데이터가 들어있는 Systems Manager 파라미터 스토어 파라미터의 전체 ARN을 사용하여 secretOptions를 지정할 수 있습니다.

중요

Systems Manager 파라미터 스토어 파라미터가 현재 실행 중인 태스크와 동일한 리전에 있는 경우, 파라미터의 전체 ARN 또는 이름을 사용할 수 있습니다. 파라미터가 다른 리전에 있다면 전체 ARN을 지정해야 합니다.

다음은 Systems Manager 파라미터 스토어 파라미터를 참조할 때 형식을 나타내는 태스크 정의의 조각입니다.

{ "containerProperties": [{ "logConfiguration": [{ "logDriver": "fluentd", "options": { "tag": "fluentd demo" }, "secretOptions": [{ "name": "fluentd-address", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }] }

AWS Systems Manager 파라미터 스토어 파라미터 생성

AWS Systems Manager 콘솔을 사용하여 민감한 데이터에 대한 Systems Manager 매개변수 저장소 매개변수를 생성할 수 있습니다. 자세한 정보는 AWS Systems Manager 사용 설명서연습: 명령에 파라미터 생성 및 사용(콘솔)을 참조하세요.

파라미터 스토어 파라미터를 생성하려면
  1. https://console.aws.amazon.com/systems-manager/ 에서 AWS Systems Manager 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 스토어(Parameter Store), 파라미터 생성(Create parameter)을 차례대로 선택합니다.

  3. 이름(Name)에서 계층 구조와 파라미터 이름을 입력합니다. 예를 들어 test/database_password를 입력합니다.

  4. 설명(Description)에 선택적 설명을 입력합니다.

  5. 유형에서 문자열 StringList, 또는 를 선택합니다 SecureString.

    참고
    • 선택하면 SecureStringKMS 키 ID 필드가 나타납니다. KMS 키 ID, KMS 키 ARN, 별칭 이름 또는 별칭 ARN을 제공하지 않으면 시스템에서 alias/aws/ssm을 사용합니다. Systems Manager의 기본 KMS 키입니다. 이 키의 사용을 방지하려면 사용자 지정 키를 선택합니다. 자세한 정보는 AWS Systems Manager 사용 설명서보안 문자열 파라미터 사용을 참조하세요.

    • 사용자 지정 KMS 키 별칭 이름 또는 별칭 ARN과 함께 key-id 파라미터를 사용하여 콘솔에 보안 문자열 파라미터를 생성할 때에는 별칭 앞에 접두사 alias/를 지정해야 합니다. ARN 예제는 다음과 같습니다.

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

      별칭 이름 예제는 다음과 같습니다.

      alias/MyAliasName
  6. 값(Value)에 값을 입력합니다. 예를 들어 MyFirstParameter입니다. 선택한 SecureString경우 값은 입력한 대로 정확히 마스킹됩니다.

  7. 파라미터 생성(Create parameter)을 선택합니다.