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

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

저장된 데이터 암호화

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

  • 를 사용하여 리소스 인벤토리를 수집했습니다. AWS Systems Manager

  • Amazon Elastic 컨테이너 레지스트리 이미지에서 파싱된 리소스 인벤토리

  • 에서 AWS 소유한 암호화 키를 사용하여 보안 결과를 생성했습니다. AWS Key Management Service

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

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

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

Amazon Inspector Lambda 코드 스캐닝의 경우, Amazon Inspector는 코드에 취약성이 있는지 검사하기 위해 협력합니다. CodeGuru 취약성이 감지되면 취약성이 포함된 코드 스니펫을 CodeGuru 추출하여 Amazon Inspector에서 액세스를 요청할 때까지 해당 코드를 저장합니다. 기본적으로 자체 키를 CodeGuru 사용하여 추출된 코드를 암호화하지만 암호화에 자체 고객 AWS KMS 관리 키를 사용하도록 Amazon Inspector를 구성할 수 있습니다. AWS

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

  1. 아마존 인스펙터 API를 사용하여 아마존 인스펙터에 AWS KMS 키를 제공합니다. UpdateEncryptionKey

  2. Amazon Inspector는 키에 대한 정보를 다음 주소로 전달합니다. AWS KMS CodeGuru CodeGuru 나중에 사용할 수 있도록 정보를 저장합니다.

  3. CodeGuru Amazon Inspector에서 구성한 AWS KMS 키에 대한 권한 부여를 요청합니다.

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

  5. Amazon Inspector는 코드 스캔에서 데이터를 요청할 때마다 권한 부여를 CodeGuru 사용하여 암호화된 데이터 키를 해독한 다음 해당 키를 사용하여 데이터를 복호화하여 검색할 수 있도록 합니다.

Lambda 코드 CodeGuru 스캔을 비활성화하면 권한 부여가 폐기되고 관련 데이터 키가 삭제됩니다.

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

암호화를 사용하려면 AWS KMS 작업에 대한 액세스를 허용하는 정책과 Amazon Inspector에 조건 키를 통해 해당 작업을 사용할 CodeGuru 권한을 부여하는 명령문이 있어야 합니다.

계정의 암호화 키를 설정, 업데이트 또는 재설정하는 경우 Amazon Inspector 관리자 정책(예: AWS 관리형 정책: AmazonInspector2FullAccess)을 사용해야 합니다. 또한 암호화를 위해 선택한 키에 대한 결과 또는 데이터에서 코드 스니펫을 검색해야 하는 읽기 전용 사용자에게 다음 권한을 부여해야 합니다.

KMS의 경우 정책에서 다음 작업을 수행할 수 있도록 허용해야 합니다.

  • kms:CreateGrant

  • kms:Decrypt

  • kms:DescribeKey

  • kms:GenerateDataKeyWithoutPlainText

  • kms:Encrypt

  • kms:RetireGrant

정책에 올바른 AWS KMS 권한이 있는지 확인한 후에는 Amazon Inspector에서 암호화에 키를 사용할 수 있도록 허용하는 설명을 첨부해야 합니다. CodeGuru 다음 정책 설명을 첨부합니다.

참고

지역을 Amazon Inspector Lambda 코드 스캔이 활성화된 AWS 지역으로 바꾸십시오.

{ "Sid": "allow CodeGuru Security to request a grant for a AWS KMS key", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "Encrypt", "Decrypt", "RetireGrant", "DescribeKey" ] }, "StringEquals": { "kms:ViaService": [ "codeguru-security.Region.amazonaws.com" ] } } }, { "Sid": "allow Amazon Inspector and CodeGuru Security to use your AWS KMS key", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:RetireGrant", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "inspector2.Region.amazonaws.com", "codeguru-security.Region.amazonaws.com" ] } } }
참고

명령문을 추가할 때 구문이 올바른지 확인합니다. 정책에는 JSON 형식이 사용됩니다. 즉, 정책에 명령문을 추가하는 위치에 따라 명령문 앞이나 뒤에 쉼표를 추가해야 합니다. 명령문을 마지막 명령문으로 추가하는 경우 위 명령문의 닫는 괄호 뒤에 쉼표를 추가합니다. 명령문을 첫 번째 명령문으로 추가하거나 기존 두 명령문 사이에 추가하는 경우 명령문의 닫는 괄호 뒤에 쉼표를 추가합니다.

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

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

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

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

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

참고

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

키를 삭제하거나 변경하면 Amazon CodeGuru Inspector에 대한 액세스를 거부하도록 정책이 설정되어 있습니다. 그렇지 않으면 코드 취약성 발견에 액세스할 수 없으며 계정에 대한 Lambda 코드 스캔이 실패합니다.

Amazon ResetEncryptionKey Inspector 검색 결과의 일부로 추출된 코드를 암호화하기 위해 AWS 소유 키를 다시 사용하는 데 사용할 수 있습니다.