저장된 데이터 암호화 - Amazon Inspector

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

저장된 데이터 암호화

기본적으로 Amazon Inspector는 AWS 암호화 솔루션을 사용하여 저장 데이터를 저장합니다. Amazon Inspector에서는 다음과 같은 데이터를 암호화합니다.

  • 로 수집된 리소스 인벤토리입니다 AWS Systems Manager.

  • Amazon Elastic Container Registry 이미지에서 구문 분석된 리소스 인벤토리

  • 의 AWS 소유 암호화 키를 사용하여 보안 조사 결과 생성 AWS Key Management Service

AWS 소유 키는 관리, 사용 또는 볼 수 없습니다. 그러나 데이터 암호화 키를 보호하기 위해 사용자가 별도의 조치를 취하거나 프로그램을 변경할 필요도 없습니다. 자세한 내용은 AWS 소유 키를 참조하세요.

Amazon Inspector를 비활성화하면 수집된 인벤토리 및 보안 조사 결과와 같이 저장 또는 유지 관리되는 모든 리소스가 영구적으로 삭제됩니다.

결과 코드에 대한 저장 중 암호화

Amazon Inspector Lambda 코드 스캔의 경우 Amazon Inspector는 Amazon Q와 협력하여 코드에 취약성이 있는지 스캔합니다. 취약성이 감지되면 Amazon Q는 취약성이 포함된 코드 조각을 추출하고 Amazon Inspector가 액세스를 요청할 때까지 해당 코드를 저장합니다. 기본적으로 Amazon Q는 AWS 소유 키를 사용하여 추출된 코드를 암호화합니다. 그러나 암호화에 자체 고객 관리형 AWS KMS 키를 사용하도록 Amazon Inspector를 구성할 수 있습니다.

다음 워크플로에서는 Amazon Inspector가 사용자가 구성한 키를 사용하여 코드를 암호화하는 방법을 설명합니다.

  1. Amazon Inspector UpdateEncryptionKey API를 사용하여 Amazon Inspector에 AWS KMS 키를 제공합니다.

  2. Amazon Inspector는 AWS KMS 키에 대한 정보를 Amazon Q에 전달하고 Amazon Q는 나중에 사용할 수 있도록 정보를 저장합니다.

  3. Amazon Q는 키 정책을 통해 Amazon Inspector에서 구성한 KMS 키를 사용합니다.

  4. Amazon Q는 키에서 암호화된 데이터 AWS KMS 키를 생성하고 저장합니다. 이 데이터 키는 Amazon Q에 저장된 코드 데이터를 암호화하는 데 사용됩니다.

  5. Amazon Inspector가 코드 스캔에서 데이터를 요청하면 Amazon Q는 KMS 키를 사용하여 데이터 키를 복호화합니다. Lambda 코드 스캔을 비활성화하면 Amazon Q가 연결된 데이터 키를 삭제합니다.

고객 관리형 키를 사용한 코드 암호화에 대한 권한

암호화의 경우 Amazon Inspector 및 Amazon Q가 다음 작업을 수행할 수 있도록 허용하는 문이 포함된 정책을 사용하여 KMS 키를 생성해야 합니다.

  • kms:Decrypt

  • kms:DescribeKey

  • kms:Encrypt

  • kms:GenerateDataKey

  • kms:GenerateDataKeyWithoutPlainText

정책 문

KMS 키를 생성할 때 다음 정책 설명을 사용할 수 있습니다.

참고

를 12자리 AWS 계정 IDaccount-id로 바꿉니다. 를 Amazon Inspector 및 Lambda 코드 스캔을 활성화 AWS 리전 한 Region로 바꿉니다. role-ARN를 IAM 역할의 Amazon 리소스 이름으로 바꿉니다.

{ "Effect": "Allow", "Principal": { "Service": "q.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:qdeveloper:lambda-codescan-scope": "account-id" }, "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:qdeveloper:Region:account-id:scans/*" } } }, { "Effect": "Allow", "Principal": { "Service": "q.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:qdeveloper:Region:account-id:scans/*" } } }, { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey" ], "Principal": { "AWS": "role-ARN" }, "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "inspector2.Region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:qdeveloper:lambda-codescan-scope": "account-id" } } }, { "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Principal": { "AWS": "role-ARN" }, "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "inspector2.Region.amazonaws.com" } } }

정책 설명의 형식은 JSON입니다. 문을 포함시킨 후 정책을 검토하여 구문이 유효한지 확인합니다. 문이 정책의 마지막 문인 경우 이전 문에 대한 닫는 중괄호 뒤에 쉼표를 배치합니다. 문이 첫 번째 문이거나 정책의 두 기존 문 사이에 있는 경우 문에 대한 닫는 중괄호 뒤에 쉼표를 배치합니다.

참고

Amazon Inspector는 패키지에서 추출한 코드 조각을 암호화하기 위한 권한 부여를 더 이상 지원하지 않습니다. 권한 부여 기반 정책을 사용하는 경우에도 결과에 액세스할 수 있습니다. 그러나 KMS 키를 업데이트 또는 재설정하거나 Lambda 코드 스캔을 비활성화하는 경우이 섹션에 설명된 KMS 키 정책을 사용해야 합니다.

계정의 암호화 키를 설정, 업데이트 또는 재설정하는 경우 AWS 관리형 정책과 같은 Amazon Inspector 관리자 정책을 사용해야 합니다AmazonInspector2FullAccess.

고객 관리형 키를 사용하여 암호화 구성

고객 관리형 키를 사용하여 계정 암호화를 구성하려면 고객 관리형 키를 사용한 코드 암호화에 대한 권한에 설명된 권한을 가진 Amazon Inspector 관리자여야 합니다. 또한 조사 결과와 동일한 AWS 리전에 있는 AWS KMS 키 또는 다중 리전 키가 필요합니다. 계정의 기존 대칭 키를 사용하거나 AWS 관리 콘솔 또는 AWS KMS APIs. 자세한 내용은 AWS KMS 사용 설명서의 대칭 암호화 AWS KMS 키 생성을 참조하세요.

참고

2025년 6월 13일부터 코드 조각 암호화/복호화 중에 CloudTrail에 기록된 AWS KMS 요청의 서비스 보안 주체가 "codeguru-reviewer"에서 "q"로 변경됩니다.

Amazon Inspector API를 사용하여 암호화 구성

암호화 키를 설정하려면 Amazon Inspector 관리자로 로그인한 상태에서 Amazon Inspector API의 UpdateEncryptionKey 작업을 수행합니다. API 요청에서 kmsKeyId 필드를 사용하여 사용하려는 AWS KMS 키의 ARN을 지정합니다. scanTypeCODE를 입력하고 resourceTypeAWS_LAMBDA_FUNCTION을 입력합니다.

UpdateEncryptionKey API를 사용하여 Amazon Inspector가 암호화에 사용하는 AWS KMS 키를 확인할 수 있습니다.

참고

고객 관리형 키를 설정하지 않은 GetEncryptionKey 상태에서를 사용하려고 하면 작업은 암호화에 AWS 소유 키가 사용되고 있음을 의미하는 ResourceNotFoundException 오류를 반환합니다.

키를 삭제하거나 Amazon Inspector 또는 Amazon Q에 대한 액세스를 거부하는 정책을 변경하면 코드 취약성 결과에 액세스할 수 없으며 계정에 대한 Lambda 코드 스캔이 실패합니다.

ResetEncryptionKey를 사용하여 AWS 소유 키를 사용하여 Amazon Inspector 조사 결과의 일부로 추출된 코드를 암호화할 수 있습니다.