기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS DevOps 에이전트의 저장 데이터 암호화
AWS DevOps Agent는 저장된 모든 고객 데이터를 암호화합니다. 기본적으로 AWS DevOps Agent는 AWS 소유 키를 사용하여 추가 비용 없이 데이터를 자동으로 암호화합니다. AWS 소유 키의 사용을 보거나 관리하거나 감사할 수 없습니다. 그러나 이러한 키를 보호하기 위해 조치를 취할 필요는 없습니다. 데이터는 자동으로 보호됩니다.
AWS Key Management Service(AWS KMS)에서 생성, 소유 및 관리하는 대칭 고객 관리형 키를 사용하여 데이터를 암호화하도록 선택할 수 있습니다. 이 암호화 계층을 완전히 제어할 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.
키 정책 수립 및 유지
키 정책 활성화 및 비활성화
키 암호화 자료 교체
태그 추가
키 별칭 만들기
삭제를 위한 스케줄 키
자세한 내용은 Key Management Service 개발자 안내서의 고객 관리형 키를 참조하세요. AWS
참고
AWS DevOps Agent는 AWS 소유 키를 사용하여 저장 데이터 암호화를 자동으로 활성화하여 고객 데이터를 무료로 보호합니다. 고객 관리형 키를 사용하는 경우 표준 AWS KMS 요금이 적용됩니다. 요금에 대한 자세한 내용은 AWS Key Management Service 요금을
고객 관리형 키
고객 관리형 키는 사용자가 생성, 소유 및 관리하는 AWS 계정의 KMS 키입니다. 키 정책 설정 및 유지 관리를 포함하여 이러한 KMS 키를 완전히 제어할 수 있습니다.
고객 관리형 키를 구성할 때 AWS DevOps Agent는 이를 사용하여 민감한 리소스 데이터를 보호합니다. AWS DevOps Agent는 AWS Encryption SDK 계층적 키링을 사용한 봉투 암호화를 사용합니다. KMS 키는 브랜치 키를 생성하는 데 사용되며, 브랜치 키는 데이터를 보호합니다.
다음 리소스를 생성할 때 고객 관리형 키를 지정할 수 있습니다.
에이전트 스페이스 - 조사, 기술 및 채팅과 관련하여 DevOps 에이전트 웹 앱에서 생성된 에이전트 스페이스 세부 정보 및 콘텐츠를 암호화합니다.
서비스 - 저장된 타사 서비스 자격 증명을 암호화합니다.
AWS DevOps Agent에서 고객 관리형 키를 구성하려면 다음 단계를 따릅니다.
1단계: 고객 관리형 키 만들기
KMS 콘솔 또는 AWS AWS KMS API를 사용하여 대칭 고객 관리형 키를 생성할 수 있습니다. 키는 다음 요구 사항을 충족해야 합니다.
| 속성 | 요구 사항 |
|---|---|
| 키 유형 | 대칭 |
| 키 사양 | SYMMETRIC_DEFAULT |
| 키 사용 | ENCRYPT_DECRYPT |
참고
AWS DevOps Agent는 키 사양 및 ENCRYPT_DECRYPT 키 사용량이 있는 대칭 암호화 KMS SYMMETRIC_DEFAULT 키만 지원합니다. 다중 리전 키와 비대칭 키는 현재 지원되지 않습니다.
자세한 내용은 AWS Key Management Service 개발자 안내서의 대칭 고객 관리형 키 생성을 참조하세요.
2단계: 키 정책 설정
키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다.
키 정책은 호출 보안 주체(IAM 자격 증명)와 AWS DevOps 에이전트 서비스 모두에 권한을 부여해야 합니다. AWS DevOps 에이전트는 두 가지 자격 증명 세트를 사용하여 키에 액세스합니다.
호출자 자격 증명 - 키 검증, 리소스 생성 시 암호화, 호출자에게 직접 응답을 반환하는 API 호출 등 모든 동기 작업에 사용됩니다.
AWS DevOps Agent 서비스 보안 주체 - 운영 조사, 인시던트 분석, 이벤트 상관관계 및 근본 원인 분석 생성과 같이 백그라운드에서 실행되는 비동기 작업에 사용됩니다.
다음 표에는 필요한 KMS 작업이 나열되어 있습니다.
| KMS 작업 | 설명 |
|---|---|
kms:DescribeKey |
리소스 생성 시 키 구성 검증 |
kms:GenerateDataKey |
봉투 암호화를 위한 데이터 암호화 키 생성 |
kms:Decrypt |
데이터 해독 |
kms:Encrypt |
Encrypt data |
kms:ReEncrypt |
동일하거나 다른 키로 데이터 재암호화 |
AWS DevOps Agent는 구성 시 모의 실행 작업을 사용하여 이러한 모든 권한을 검증합니다. 권한이 누락된 경우 예외와 함께 요청이 실패합니다.
다음은 예제 키 정책입니다. 자리 표시자 값을 자신의 값으로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccessViaService", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/DevOpsAgentUserRole" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey*", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aidevops.us-east-1.amazonaws.com" } } }, { "Sid": "AllowDevOpsAgentServiceDescribeKeyAccess", "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "AllowDevOpsAgentAccessForAgentSpace", "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:us-east-1:111122223333:agentspace/*" }, "StringLike": { "kms:EncryptionContext:aws-crypto-ec:aws:aidevops:arn": "arn:aws:aidevops:us-east-1:111122223333:agentspace/*" } } }, { "Sid": "AllowDevOpsAgentAccessForService", "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:us-east-1:111122223333:service/*" }, "StringLike": { "kms:EncryptionContext:aws-crypto-ec:aws:aidevops:arn": "arn:aws:aidevops:us-east-1:111122223333:service/*" } } } ] }
정책에는 다음 문이 포함되어 있습니다.
AllowKeyAdministration - 계정 루트에 키에 대한 전체 관리 액세스 권한을 부여합니다. 를 AWS 계정 ID
111122223333로 바꿉니다.AllowCallerAccessViaService - IAM 보안 주체에게 모든 synchronous AWS DevOps 에이전트 작업에 필요한 KMS 권한을 부여합니다. 여기에는 리소스 생성 시점의 키 검증과 호출자에게 직접 응답을 반환하는 모든 API 호출에 대한 암호화 및 복호화 작업이 포함됩니다.
kms:ViaService조건은 AWS DevOps 에이전트 서비스를 통해서만 키를 사용할 수 있도록 합니다.111122223333를 AWS 계정 ID로 바꾸고를 AWS 리전us-east-1으로 바꿉니다.AllowDevOpsAgentServiceAccessForAgentSpace / AllowDevOpsAgentServiceAccessForService -
aidevops.amazonaws.com서비스 보안 주체에게 비동기 작업에 필요한 KMS 권한을 부여합니다. AWS DevOps Agent는 운영 조사, 인시던트 분석, 서비스 간 이벤트 상호 연결, 근본 원인 분석 생성과 같은 백그라운드 작업을 수행할 때이 서비스 보안 주체를 사용하여 데이터를 암호화하고 해독합니다. 이 액세스 권한이 없으면 AWS DevOps Agent는 사용자를 대신하여 조사를 수행하는 데 필요한 암호화된 데이터를 읽을 수 없습니다.aws:SourceArn조건은 your AWS DevOps 에이전트 리소스에서 시작된 요청에 대한 액세스를 제한하며,kms:EncryptionContext조건은 암호화 컨텍스트가 리소스 ARNs과 일치하도록 합니다.111122223333를 AWS 계정 ID로 바꾸고를 AWS 리전us-east-1으로 바꿉니다.
키 정책에 대한 자세한 내용은 Key Management Service 개발자 안내서의 AWS KMS의 키 정책을 참조하세요. AWS
3단계: 리소스를 생성할 때 키 지정
키를 생성하고 키 정책을 구성한 후 AWS DevOps 에이전트 리소스를 생성할 때 키를 지정할 수 있습니다.
콘솔
콘솔에서 에이전트 스페이스를 생성할 때 고객 관리형 키를 구성하려면:
AWS DevOps 에이전트 콘솔을 엽니다.
에이전트 스페이스 생성 또는 서비스 등록을 선택합니다.
에이전트 공간 세부 정보(이름, 설명 및 IAM 역할)를 입력합니다.
고급 구성 섹션을 확장합니다.
암호화 키 유형에서 고객 관리형 키를 선택합니다.
드롭다운 목록에서 KMS 키를 선택하거나 KMS 키 ARN을 입력합니다.
키 정책 확장 가능 섹션에 표시된 키 정책을 검토합니다. 이 정책을 KMS 키에 연결했는지 확인합니다. 복사 버튼을 사용하여 정책을 복사할 수 있습니다.
나머지 구성을 완료하고 생성을 선택합니다.
참고
드롭다운 목록에 KMS 키가 표시되지 않으면 키가 1단계의 요구 사항을 충족하고 및 kms:ListKeys kms:DescribeKey 권한이 있는지 확인합니다.
API
고객 관리형 키를 사용하여 에이전트 공간 생성
에이전트 공간을 생성할 때 kmsKeyArn 파라미터를 지정합니다. 값은 전체 KMS 키 ARN이어야 합니다.
{ "name": "my-agent-space", "description": "An encrypted agent space", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }
고객 관리형 키를 사용하여 서비스 등록
서비스를 등록할 때 kmsKeyArn 파라미터를 지정합니다. 값은 전체 KMS 키 ARN이어야 합니다. 이 파라미터는 Dynatrace, ServiceNow, PagerDuty, GitLab, GitHub 및 MCP 서버를 포함한 모든 서비스 유형에서 지원됩니다.
{ "service": "dynatrace", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "serviceDetails": { ... } }
참고
리소스 생성 시 고객 관리형 키를 지정해야 합니다. 기존 리소스에 대한 고객 관리형 키는 추가하거나 변경할 수 없습니다.
AWS DevOps 에이전트 암호화 컨텍스트
암호화 컨텍스트는 데이터에 대한 추가 컨텍스트 정보가 포함된 비밀이 아닌 키-값 페어 세트입니다. AWS KMS는 암호화 컨텍스트를 추가 인증된 데이터로 사용하여 인증된 암호화를 지원합니다. 데이터 암호화 요청에 암호화 컨텍스트를 포함하면 AWS KMS는 암호화 컨텍스트를 암호화된 데이터에 바인딩합니다. 데이터를 복호화하려면 요청에 동일한 암호화 컨텍스트를 포함해야 합니다.
AWS DevOps Agent는 모든 암호화 작업에 다음 암호화 컨텍스트를 사용합니다.
{ "aws-crypto-ec:aws:aidevops:arn": "arn:aws:aidevops:{region}:{accountId}:{resourceType}/{resourceId}" }
암호화 컨텍스트 값은 암호화되는 AWS DevOps 에이전트 리소스의 ARN입니다. 키 정책 조건 및 in AWS CloudTrail 로그에서이 암호화 컨텍스트를 사용하여 키가 사용되는 방식을 감사할 수 있습니다.
키 관리
KMS 키 삭제를 비활성화하거나 예약하면 AWS DevOps Agent가 데이터를 해독할 수 없습니다. 이로 인해 암호화된 데이터를 읽는 작업에 AccessDeniedException 오류가 발생합니다.
중요
고객 관리형 키를 사용하기로 선택한 경우 키와 해당 권한을 관리할 책임은 사용자에게 있습니다. 키가 비활성화되거나 삭제되거나 AWS DevOps Agent가 키 사용 권한을 상실하면 암호화된 데이터에 대한 액세스 권한이 상실됩니다.
다음 표에서는 일반적인 장애 시나리오를 설명합니다.
| 작업 | 영향 |
|---|---|
| 키 정책 권한이 취소됨 | AccessDeniedException 암호화 및 복호화 작업 |
| KMS 키가 비활성화됨 | DisabledException 암호화 및 복호화 작업 |
| KMS 키 삭제 예정 | KMSInvalidStateException 암호화 및 복호화 작업 |
| KMS 키가 삭제됨 | 영구 데이터 손실 - 암호화된 데이터는 복구할 수 없습니다. |
키를 비활성화하거나 삭제하기 전에:
키에 의존하는 active AWS DevOps 에이전트 리소스가 없는지 확인합니다.
삭제를 예약하기 전에 먼저 키를 비활성화하여 영향을 테스트하는 것이 좋습니다.
AWS KMS는 키 삭제 전에 최소 대기 기간을 적용하므로 필요한 경우 취소할 수 있습니다.
암호화 키 모니터링
AWS DevOps 에이전트와 함께 고객 관리형 키를 사용하는 경우 AWS CloudTrail을 사용하여 AWS DevOps 에이전트가 AWS KMS로 보내는 요청을 추적할 수 있습니다.
다음을 기준으로 CloudTrail 이벤트를 필터링할 수 있습니다.
이벤트 소스 -
kms.amazonaws.com암호화 컨텍스트 키 -
aws-crypto-ec:aws:aidevops:arn키 ARN - 요청 파라미터의 고객 관리형 키 ARN
자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS CloudTrail을 사용하여 AWS KMS API 호출 로깅을 참조하세요.