

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

# S3용 GuardDuty 맬웨어 보호
<a name="gdu-malware-protection-s3"></a>

S3용 맬웨어 보호는 선택한 Amazon Simple Storage Service(Amazon S3) 버킷에 새로 업로드된 객체를 스캔하여 맬웨어의 잠재적 존재를 감지하는 데 도움이 됩니다. S3 객체 또는 기존 S3 객체의 새 버전이 선택한 버킷에 업로드되면 GuardDuty가 자동으로 멀웨어 검사를 시작합니다.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/uweeumMAif4/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/uweeumMAif4)


**S3에 대한 맬웨어 보호를 활성화하는 두 가지 접근 방식**  
가 GuardDuty 서비스를 AWS 계정 활성화하고 전체 GuardDuty 경험의 일부로 S3용 맬웨어 보호를 사용하거나 GuardDuty 서비스를 활성화하지 않고 S3용 맬웨어 보호 기능을 단독으로 사용하려는 경우 S3용 맬웨어 보호를 활성화할 수 있습니다. S3에 대한 맬웨어 방지를 자체적으로 활성화하면 GuardDuty 설명서에서는 S3맬웨어 방지를 독립적인 기능으로 사용하는 것으로 지칭합니다.  

**S3용 맬웨어 보호를 독립적으로 사용할 때 고려할 사항**
+ GuardDuty 보안 조사 결과 - Detector ID는 리전 내 계정과 연결된 고유 식별자입니다. 계정의 하나 이상의 리전에서 가드듀티를 활성화하면 가드듀티를 활성화한 각 리전에서 이 계정에 대한 디텍터 ID가 자동으로 생성됩니다. 자세한 내용은 [Amazon GuardDuty의 개념 및 주요 용어](guardduty_concepts.md) 문서에서 *탐지기*를 참조하세요.

  계정에서 독립적으로 S3에 대한 맬웨어 방지를 활성화하면 해당 계정에 연결된 탐지기 ID가 **없습니다**. 이는 어떤 GuardDuty 기능을 사용할 수 있는지에 영향을 미칩니다. 예를 들어 S3 맬웨어 스캔이 맬웨어의 존재를 감지하면 모든 GuardDuty 조사 결과가 감지기 ID와 연결 AWS 계정 되므로에서 GuardDuty 조사 결과가 생성되지 않습니다.
+ 스캔한 객체가 악성인지 확인 - 기본적으로 GuardDuty는 악성코드 스캔 결과를 기본 Amazon EventBridge 이벤트 버스와 Amazon CloudWatch 네임스페이스에 게시합니다. 버킷에 대해 S3용 맬웨어 보호를 활성화할 때 태그 지정 기능을 사용하면 스캔한 S3 객체에 스캔 결과를 언급하는 태그가 생성됩니다. 태그 지정에 대한 자세한 내용은 [스캔 결과를 기반으로 객체의 선택적 태그 지정](how-malware-protection-for-s3-gdu-works.md#enable-optional-tagging-malware-protection-s3) 섹션을 참조하세요.

**S3에 대한 맬웨어 보호 활성화를 위한 일반적인 고려 사항**  
S3용 맬웨어 방지를 독립적으로 사용하거나 GuardDuty 경험의 일부로 사용하는지 여부에 관계없이 다음과 같은 일반적인 고려 사항이 적용됩니다.  
+ 자체 계정에 속하는 Amazon S3 버킷에 대해 S3용 맬웨어 보호를 사용 설정할 수 있습니다. 위임된 GuardDuty 관리자 계정은 멤버 계정에 속한 Amazon S3 버킷에서 이 기능을 사용 설정할 수 없습니다.
+ 이 기능은 현재 GuardDuty 콘솔에서 선택한 리전과 동일한 리전에 속하는 S3 버킷에서 활성화할 수 있습니다. GuardDuty는 리전 간 S3 버킷에서 이 기능을 활성화하는 것을 지원하지 않습니다.
+ 위임된 GuardDuty 관리자 계정은 S3 버킷의 [보호된 버킷 상태 보기 및 이해](malware-protection-s3-bucket-status-gdu.md)에 이 기능에 대해 구성된 조직의 멤버 계정 중 하나가 변경될 때마다 Amazon EventBridge 알림을 받게 됩니다.

**Topics**
+ [S3용 맬웨어 보호의 가격 및 사용 비용](pricing-malware-protection-for-s3-guardduty.md)
+ [S3용 맬웨어 보호는 어떻게 작동하나요?](how-malware-protection-for-s3-gdu-works.md)
+ [S3에 대한 맬웨어 보호 기능](s3-malware-protection-capability.md)
+ [(선택 사항) GuardDuty 멀웨어 방지 for S3를 독립적으로 시작하기(콘솔만 해당)](malware-protection-s3-get-started-independent.md)
+ [버킷에 대한 S3용 맬웨어 보호 구성하기](configuring-malware-protection-for-s3-guardduty.md)
+ [S3에 대한 맬웨어 보호를 활성화한 후의 단계](malware-protection-s3-steps-after-enabling.md)
+ [GuardDuty의 온디맨드 S3 맬웨어 스캔](malware-protection-s3-on-demand.md)
+ [S3용 맬웨어 보호와 함께 태그 기반 액세스 제어(TBAC) 사용](tag-based-access-s3-malware-protection.md)
+ [보호된 버킷 상태 보기 및 이해](malware-protection-s3-bucket-status-gdu.md)
+ [S3용 멀웨어 방지에서 S3 객체 스캔 모니터링하기](monitoring-malware-protection-s3-scans-gdu.md)
+ [문제 해결](troubleshoot-s3-malware-protection.md)
+ [보호된 버킷에 대한 맬웨어 보호 플랜 편집하기](edit-malware-protection-protected-s3-bucket.md)
+ [보호된 버킷에 대한 S3에 대한 맬웨어 보호 비활성화](disable-malware-s3-protected-bucket.md)
+ [Amazon S3 기능의 지원 가능성](supported-s3-features-malware-protection-s3.md)
+ [S3용 맬웨어 보호의 할당량](malware-protection-s3-quotas-guardduty.md)

# S3용 맬웨어 보호의 가격 및 사용 비용
<a name="pricing-malware-protection-for-s3-guardduty"></a>

S3용 맬웨어 보호의 가격은 GuardDuty의 다른 보호 계획과 다르게 작동합니다. 대부분의 GuardDuty 보호 요금제는 30일 단기 무료 평가판을 따르지만, S3용 멀웨어 보호는 12개월 무료 티어 요금제 AWS를 따릅니다. GuardDuty 요금제에 대한 자세한 내용은 [GuardDuty 요금](guardduty-pricing.md)를 참조하세요.

다음 목록은 S3용 맬웨어 보호 사용과 관련된 요금 비용을 제공합니다.

**프리 티어 플랜(스캔 비용)**  
각는 각 리전에 대해 매월 특정 한도까지의 사용량을 포함하는 12개월 프리 티어를 AWS 계정 받습니다. 각는 최대 1,000개의 요청과 스캔된 1GB 데이터까지 월별 프리 티어 사용량을 AWS 계정 얻습니다. 사용량이 지정된 한도를 초과하면 초과된 한도에 대한 사용 비용이 발생하기 시작합니다. 전체 요금 세부 정보는 [GuardDuty 보호 플랜 요금](https://aws.amazon.com/guardduty/pricing/#GuardDuty_protection_plans)을 참조하세요.  
 온디맨드 스캔은 프리 티어에 포함되지 않습니다.
S3에 대한 맬웨어 방지를 활성화한 후의 사용 비용에 대한 자세한 내용은 [S3용 맬웨어 보호에 대한 사용 비용 검토사용 비용 검토](usage-cost-malware-protection-s3-gdu.md)을 참조하세요.

**S3 객체 태그 지정 사용 비용**  
S3용 멀웨어 보호를 사용 설정할 때 스캔한 S3 객체에 대한 태그 지정은 선택 사항입니다. S3 개체 태깅을 사용하도록 선택하면 관련 사용 비용이 발생합니다. 비용에 대한 자세한 내용은 *Amazon S3 요금 페이지*의 [관리 및 인사이트 탭](https://aws.amazon.com/s3/pricing/)을 참조하세요.  
S3 객체 태깅 사용 비용은 프리 티어 플랜에 **포함되지 않습니다**.

**Amazon S3 APIs - GET 및 PUT 사용 비용**  
GuardDuty가 IAM 역할에 따라 Amazon S3 API를 실행할 때 사용 비용이 발생합니다. 예를 들어 IAM 역할을 수임한 후 GuardDuty는 `PutObject` API를 실행하여 선택한 버킷에 테스트 객체를 추가합니다. 이를 통해 GuardDuty는 기능의 활성화 상태를 평가할 수 있습니다.  
의 S3 API 호출 요금에 대한 자세한 내용은 *Amazon S3 요금 페이지의* [스토리지 및 요청 탭에서 요청 및 데이터 검색을](https://aws.amazon.com/s3/pricing/#aws-element-86cbc19a-da4c-4c04-bb4f-5c4d1a2de09e) AWS 리전참조하세요.

# S3용 맬웨어 보호에 대한 사용 비용 검토
<a name="usage-cost-malware-protection-s3-gdu"></a>

프리 티어 플랜의 특정 한도를 초과하여 S3용 맬웨어 보호를 사용하거나 계정의 12개월 프리 티어 플랜이 종료되면 계정 사용 비용이 발생합니다. 프리 티어 계획에 대한 자세한 내용은 [S3용 맬웨어 보호의 가격 및 사용 비용](pricing-malware-protection-for-s3-guardduty.md)‭ 섹션을 참조하세요. 프리 티어 플랜은 S3용 맬웨어 보호 온디맨드 객체 스캔에는 적용되지 않습니다.

GuardDuty 콘솔은 S3 사용 비용에 대한 맬웨어 보호 검토를 지원하지 않습니다. 사용 비용을 보려면 [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/) 콘솔에서 **Cost Explorer**로 이동합니다. AWS 계정 결제에 대한 자세한 내용은 [AWS Billing 사용 설명서를](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html) 참조하세요.

GuardDuty의 예상 사용 비용에 대한 자세한 내용은 [사용량 모니터링 및 비용 추정](monitoring_costs.md)을 참조하세요.

# S3용 맬웨어 보호는 어떻게 작동하나요?
<a name="how-malware-protection-for-s3-gdu-works"></a>

이 섹션에서는 S3용 멀웨어 방지의 구성 요소, S3 버킷에 대해 활성화한 후 작동하는 방법, 맬웨어 검사 상태 및 결과를 검토하는 방법에 대해 설명합니다.

## 개요
<a name="overview-how-malware-protection-s3-works"></a>

자체 AWS 계정에 속하는 Amazon S3 버킷에 대해 S3용 멀웨어 방지을 사용 설정할 수 있습니다. GuardDuty는 전체 버킷에 대해 이 기능을 사용하도록 설정하거나 맬웨어 검사 범위를 특정 [객체 접두사](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)로 제한하여 선택한 접두사 중 하나로 시작하는 업로드된 각 객체를 검사할 수 있는 유연성을 제공합니다. 최대 5개의 접두사를 추가할 수 있습니다. S3 버킷에 이 기능을 활성화하면 해당 버킷을 **보호된 버킷**이라고 합니다.

## IAM 역할 권한
<a name="passrole-iam-permissions-malware-protection-s3"></a>

S3용 맬웨어 보호는 GuardDuty가 사용자를 대신하여 맬웨어 스캔 작업을 수행하도록 허용하는 IAM 역할을 사용합니다. 이러한 작업에는 선택한 버킷에 새로 업로드된 객체에 대한 알림 받기, 해당 객체 스캔하기, 스캔한 객체에 선택적으로 태그 추가하기 등이 포함됩니다. 이 기능으로 S3 버킷을 구성하기 위한 전제 조건입니다.

기존 IAM 역할을 업데이트하거나 이 목적을 위해 새 역할을 만들 수 있습니다. 둘 이상의 버킷에 대해 S3용 멀웨어 방지을 사용 설정하는 경우 필요에 따라 다른 버킷 이름을 포함하도록 기존 IAM 역할을 업데이트할 수 있습니다. 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md) 단원을 참조하십시오.

## 스캔 결과를 기반으로 객체의 선택적 태그 지정
<a name="enable-optional-tagging-malware-protection-s3"></a>

버킷에 대해 S3용 맬웨어 보호을 사용 설정할 때, 스캔한 S3 객체에 대해 태그 지정을 사용 설정하는 옵션 단계가 있습니다. IAM 역할에는 스캔 후 객체에 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다. 그러나 GuardDuty는 설정 시 이 옵션을 활성화한 경우에만 태그를 추가합니다.

객체를 업로드하려면 먼저 이 옵션을 활성화해야 합니다. 스캔이 끝나면 GuardDuty는 스캔한 S3 객체에 다음 키:값 쌍을 사용하여 미리 정의된 태그를 추가합니다.

`GuardDutyMalwareScanStatus`:`Potential scan result`

잠재적 스캔 결과 태그 값에는 `NO_THREATS_FOUND`, `THREATS_FOUND`, `UNSUPPORTED`, `ACCESS_DENIED` 및 `FAILED`가 포함됩니다. 이러한 값에 대한 자세한 내용은 [S3 객체 전위 스캔 상태 및 결과 상태](monitoring-malware-protection-s3-scans-gdu.md#s3-object-scan-result-value-malware-protection) 단원을 참조하세요.

태깅을 활성화하는 것은 S3 객체 스캔 결과를 알 수 있는 방법 중 하나입니다. 또한 이러한 태그를 사용하여 태그 기반 액세스 제어(TBAC) S3 리소스 정책을 추가하여 잠재적으로 악의적인 객체에 대해 조치를 취할 수 있습니다. 자세한 내용은 [S3 버킷 리소스에 TBAC 추가](tag-based-access-s3-malware-protection.md#apply-tbac-s3-malware-protection) 단원을 참조하십시오.

버킷에 대해 S3용 맬웨어 방지를 구성할 때 태그 지정을 활성화하는 것이 좋습니다. 객체가 업로드되고 잠재적으로 스캔이 시작된 후에 태그 지정을 활성화하면 GuardDuty는 스캔한 객체에 태그를 추가할 수 없습니다. 연결된 S3 객체 태깅 비용에 대한 자세한 내용은 [S3용 맬웨어 보호의 가격 및 사용 비용](pricing-malware-protection-for-s3-guardduty.md)을 참조하세요.

## 버킷에 대해 S3용 멀웨어 방지을 사용하도록 설정한 후 프로세스
<a name="after-enabling-malware-protection-s3"></a>

S3용 맬웨어 방지를 활성화하면 선택한 S3 버킷에 대해서만 **맬웨어 방지 계획 리소스**가 생성됩니다. 이 리소스는 보호되는 리소스의 고유 식별자인 맬웨어 방지 플랜 ID와 연결되어 있습니다. 그런 다음 GuardDuty는 IAM 권한 중 하나를 사용하여 `DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*`라는 이름으로 EventBridge 관리 규칙을 생성하고 관리합니다.

### GuardDuty가 데이터를 처리하는 방법 - 데이터 보호를 위한 가드레일
<a name="guardduty-data-protection-guardrails-malware-protection-s3"></a>

S3용 맬웨어 보호는 Amazon EventBridge 알림을 수신합니다. 선택한 버킷 또는 접두사 중 하나에 객체가 업로드되면 GuardDuty는 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html)를 사용하여 S3 버킷에서 해당 객체를 다운로드한 다음 동일한 리전 내 격리된 환경에서 읽고, 해독하고, 스캔합니다. 스캔 환경은 인터넷에 액세스할 수 없는 잠긴 가상 프라이빗 클라우드(VPC)에서 실행됩니다. VPC는가 AWS 소유한 허용 목록에 있는 도메인에 대해서만 통신을 허용하는 DNS 방화벽 규칙 그룹에 연결됩니다. 스캔 기간 동안 GuardDuty는 [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 키로 암호화된 스캔 환경 내에 다운로드한 S3 객체를 일시적으로 저장합니다.

**참고**  
기본적으로 *Amazon S3 사용 설명서*의 [객체 생성 이벤트 유형](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) 아래에 나열된 모든 Amazon S3 APIs는 S3용 맬웨어 방지 스캔을 시작합니다.  
이러한 *이벤트 유형*에는 [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [POST 객체](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html), [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 및 [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)가 포함됩니다.

GuardDuty 맬웨어 감지 방법론 및 사용하는 스캔 엔진에 대한 자세한 내용은 [GuardDuty 맬웨어 탐지 스캔 엔진](guardduty-malware-detection-scan-engine.md)을 참조하세요.

멀웨어 검사가 완료되면 GuardDuty는 검사 상태와 함께 검사 메타데이터를 처리한 다음 다운로드한 객체의 사본을 삭제합니다.

GuardDuty는 새 스캔이 시작되기 전에 매번 스캔 환경을 정리합니다. GuardDuty는 작업자가 스캔 환경에 액세스할 때 조건부 승인을 사용하며 모든 액세스 요청은 검토, 승인 및 감사를 거칩니다.

### S3 객체 스캔 상태 및 결과 검토
<a name="guardduty-publishing-s3-object-malware-scan-status"></a>

GuardDuty는 S3 객체 스캔 결과 이벤트를 Amazon EventBridge 기본 이벤트 버스에 게시합니다. GuardDuty는 또한 스캔한 객체 수 및 스캔한 바이트 수와 같은 스캔 메트릭을 Amazon CloudWatch로 전송합니다. 태그 지정을 활성화한 경우 GuardDuty는 사전 정의된 `GuardDutyMalwareScanStatus` 태그와 잠재적 스캔 결과를 태그 값으로 추가합니다.

**중요**  
GuardDuty는 at-least-once 전송을 사용하므로 동일한 객체에 대해 여러 스캔 결과를 받을 수 있습니다. 중복 결과를 처리하도록 애플리케이션을 설계하는 것이 좋습니다. 스캔한 각 객체에 요금은 한 번만 청구됩니다.

자세한 내용은 [S3용 멀웨어 방지에서 S3 객체 스캔 모니터링하기](monitoring-malware-protection-s3-scans-gdu.md) 단원을 참조하십시오.

### 생성된 조사 결과 검토
<a name="guardduty-malware-protection-s3-finding-detection"></a>

조사 결과 검토는 GuardDuty에서 S3용 맬웨어 방지를 사용하는지 여부에 따라 달라집니다. 다음 시나리오를 고려해 보세요.

**GuardDuty 서비스가 활성화된 경우 S3용 맬웨어 보호 사용(감지기 ID)**  
멀웨어 검사에서 S3 객체에서 잠재적으로 악성일 수 있는 파일을 탐지하면 GuardDuty가 관련 조사 결과를 생성합니다. 조사 결과를 자세히 보고 권장 단계를 사용하여 조사 결과를 잠재적으로 수정할 수 있습니다. [조사 결과 내보내기 빈도](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_exportfindings.html#guardduty_exportfindings-frequency)에 따라 생성된 조사 결과가 S3 버킷 및 EventBridge 이벤트 버스로 내보내집니다.  
생성될 조사 결과 유형에 대한 자세한 내용은 [S3용 맬웨어 보호 결과 유형](gdu-malware-protection-s3-finding-types.md)을 참조하세요.

**S3용 멀웨어 방지을 독립 기능으로 사용(감지기 ID 없음)**  
연결된 감지기의 ID가 없기 때문에 GuardDuty가 조사 결과를 생성할 수 없습니다. S3 객체 멀웨어 검사 상태를 확인하려면 GuardDuty가 기본 이벤트 버스에 자동으로 게시하는 검사 결과를 볼 수 있습니다. 또한 CloudWatch 메트릭을 확인하여 GuardDuty가 스캔을 시도한 객체 및 바이트 수를 평가할 수도 있습니다. 검사 결과에 대한 알림을 받도록 CloudWatch 알람을 설정할 수 있습니다. S3 객체 태깅을 활성화한 경우, S3 객체에서 `GuardDutyMalwareScanStatus` 태그 키와 검사 결과 태그 값을 확인하여 멀웨어 검사 상태를 볼 수도 있습니다.  
S3 객체 스캔 상태 및 결과에 대한 자세한 내용은 [S3용 멀웨어 방지에서 S3 객체 스캔 모니터링하기](monitoring-malware-protection-s3-scans-gdu.md)를 참조하세요.

# S3에 대한 맬웨어 보호 기능
<a name="s3-malware-protection-capability"></a>

다음 목록은 버킷에 S3용 맬웨어 보호를 사용 설정한 후 기대하거나 수행할 수 있는 작업에 대한 개요를 제공합니다.
+ **스캔할 항목 선택** - 선택한 S3 버킷과 연결된 모든 또는 특정 접두사(최대 5개)에 업로드되는 파일을 스캔합니다.
+ **업로드된 객체 자동 스캔** - 버킷에 대해 S3용 맬웨어 방지를 활성화하면 GuardDuty는 새로 업로드된 객체에서 잠재적 맬웨어를 감지하기 위한 스캔을 자동으로 시작합니다.
+ **온디맨드 스캔 -** 기존 객체에 대한 스캔을 시작하거나 이전에 스캔한 객체를 다시 스캔할 수 있습니다. 자세한 내용은 [GuardDuty의 온디맨드 S3 맬웨어 스캔](malware-protection-s3-on-demand.md) 단원을 참조하십시오.
+ **콘솔을 통해 활성화하거나 API/를 사용하거나AWS CLI CloudFormation**- 선호하는 방법을 선택하여 S3용 맬웨어 보호를 활성화합니다.

  *Terraform* 과 같은 인프라스트럭처를 코드(IaC) 플랫폼으로 사용하여 S3에 대한 맬웨어 보호를 활성화할 수 있습니다. 자세한 내용은 [리소스: `aws_guardduty_malware_protection_plan`](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/guardduty_malware_protection_plan)를 참조하세요.
+ **지원되는 파일 형식, S3용 맬웨어 보호 쿼터 및 Amazon S3 기능** - S3용 맬웨어 보호는 S3 버킷에 업로드할 수 있는 모든 파일 형식을 지원합니다. 업로드된 파일이 암호로 보호되고 GuardDuty가 업로드된 파일의 유형에 암호 보호가 있는지 감지할 수 있는 경우 GuardDuty는 공통 암호를 사용하여 원래 콘텐츠를 스캔하려고 시도합니다. 암호가 실패하면 스캔을 건너뜁니다. GuardDuty는 모든 파일 형식에서 암호 보호의 존재를 감지할 수 없습니다. GuardDuty가 암호 보호의 존재를 감지할 수 없는 경우에도 GuardDuty는 암호화된 콘텐츠를 계속 스캔합니다.

  객체 크기, 최대 아카이브 깊이 수준 및 기타 세부 정보와 관련된 할당량에 대한 자세한 내용은 [S3용 맬웨어 보호의 할당량](malware-protection-s3-quotas-guardduty.md)을 참조하세요.

  Amazon S3 기능 지원 여부에 대한 자세한 내용은 [Amazon S3 기능의 지원 가능성](supported-s3-features-malware-protection-s3.md)을 참조하세요.
+ **스캔한 S3 객체 태그 지정 지원** - [스캔 결과를 기반으로 객체의 선택적 태그 지정](how-malware-protection-for-s3-gdu-works.md#enable-optional-tagging-malware-protection-s3)를 활성화하면 각 맬웨어 스캔 후 GuardDuty가 스캔 상태를 나타내는 태그를 추가합니다. 이 태그를 사용하여 S3 객체에 대한 태그 기반 액세스 제어(TBAC)를 설정할 수 있습니다. 예를 들어 악성으로 표시되고 태그 값이 `THREATS_FOUND`인 S3 객체에 대한 액세스를 제한할 수 있습니다.
+ **Amazon EventBridge 알림** - GuardDuty는 맬웨어 방지 계획 리소스 상태가 변경되거나 S3 객체의 맬웨어 스캔이 완료되면 Amazon EventBridge로 이벤트를 전송합니다. 이러한 이벤트는 기본 이벤트 버스로 전송됩니다. 이벤트 브리지와 이러한 이벤트를 사용하여 이러한 이벤트가 발생하는 시점을 모니터링하는 등의 조치를 취하는 규칙을 작성할 수 있습니다. 자세한 내용은 [Amazon EventBridge로 S3 객체 스캔 모니터링하기](monitor-with-eventbridge-s3-malware-protection.md) 단원을 참조하십시오.
+ **CloudWatch 지표** - CloudWatch 지표를 보고 특정 맬웨어 스캔 상태에 대한 경보를 활성화합니다. 자세한 내용은 [CloudWatch의 S3 객체 스캔 상태 지표](monitor-cloudwatch-metrics-s3-malware-protection.md) 단원을 참조하십시오.

# (선택 사항) GuardDuty 멀웨어 방지 for S3를 독립적으로 시작하기(콘솔만 해당)
<a name="malware-protection-s3-get-started-independent"></a>

 AWS 계정의 GuardDuty 상태와 관계없이 S3용 맬웨어 보호 위협 탐지 옵션을 시작하려면 이 선택적 단계를 사용합니다.

GuardDuty에서 다른 전용 보호 요금제도 사용하려면 Amazon GuardDuty 서비스를 시작해야 합니다. GuardDuty 보호 계획에 대한 자세한 내용은 [GuardDuty의 기능](what-is-guardduty.md#features-of-guardduty)을 참조하세요. 계정에서 GuardDuty를 이미 활성화한 경우 이 단계를 건너뛰고 [버킷에 대한 S3용 맬웨어 보호 구성하기](configuring-malware-protection-for-s3-guardduty.md)를 계속할 수 있습니다.

**S3 전용 위협 탐지용 멀웨어 보호를 시작하는 단계**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) GuardDuty 콘솔을 엽니다.

1. **S3에 대해서만 GuardDuty 맬웨어 보호**를 선택합니다. 이를 통해 Amazon S3 버킷에 새로 업로드된 파일에 멀웨어가 포함되어 있는지 여부를 감지할 수 있습니다.  
![\[S3 전용 GuardDuty 맬웨어 보호 옵션을 선택한 다음 시작하기를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/images/select-malware-protection-for-s3-console.png)

1. **Get started**를 선택합니다. 이제 [버킷에 대한 S3용 맬웨어 보호 구성하기](configuring-malware-protection-for-s3-guardduty.md)의 단계를 계속할 수 있습니다.

# 버킷에 대한 S3용 맬웨어 보호 구성하기
<a name="configuring-malware-protection-for-s3-guardduty"></a>

S3용 맬웨어 방지가 S3 객체를 스캔하고 (선택 사항으로) 태그를 추가하려면 사용자를 대신하여 맬웨어 스캔 작업을 수행하는 데 필요한 권한이 있는 서비스 역할을 사용할 수 있습니다. 서비스 역할을 사용하여 S3에 대한 맬웨어 보호를 활성화하는 방법에 대한 자세한 내용은 [서비스 액세스 섹션](https://docs.aws.amazon.com//guardduty/latest/ug/enable-malware-protection-s3-bucket.html#service-access-s3-malware-protection)을 참조하세요. 이 역할은 [GuardDuty 맬웨어 보호 서비스 연결 역할](https://docs.aws.amazon.com//guardduty/latest/ug/using-service-linked-roles.html)과 다릅니다.

IAM 역할을 사용하려면 S3 객체를 스캔하고 (선택 사항) 태그를 추가하는 데 필요한 권한이 포함된 IAM 역할을 연결할 수 있습니다. 그러면 GuardDuty가 이 IAM 역할을 맡아 사용자를 대신하여 이러한 작업을 수행합니다. Amazon S3 버킷에 대해 이 보호 요금제를 사용하도록 설정할 때 이 IAM 역할 이름이 필요합니다.

IAM 역할을 사용하는 경우 Amazon S3 버킷을 보호할 때마다 이 섹션에 나열된 단계를 모두 수행해야 합니다.

S3용 맬웨어 보호를 사용 설정하려면 S3 버킷 이름, 특정 접두사에 대한 보호에 집중하려는 경우 객체 접두사, 필요한 권한이 있는 IAM 역할 이름 등의 세부 정보가 필요합니다.

S3용 맬웨어 보호를 독립적으로 시작하든 GuardDuty 서비스의 일부로 활성화하든 이 단계는 동일하게 유지됩니다.

**주제**

1. [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md)

1. [버킷에 S3용 맬웨어 방지 사용 설정하기](enable-malware-protection-s3-bucket.md) 

1. [IAM 역할 권한 오류 문제 해결](troubleshoot-malware-protection-s3-iam-role-permissions-error.md)

# 버킷에 S3용 맬웨어 방지 사용 설정하기
<a name="enable-malware-protection-s3-bucket"></a>

이 섹션에서는 내 계정의 버킷에 대해 S3용 맬웨어 방지를 사용 설정하는 방법에 대한 자세한 단계를 설명합니다. 진행하기 전에 다음 고려 사항을 검토하세요.
+ GuardDuty 콘솔을 사용하여 이 보호 플랜을 활성화하는 경우, 여기에는 **서비스 액세스** 섹션에서 새 역할을 생성하거나 기존 역할을 사용하는 단계가 포함됩니다.
+ GuardDuty API 또는 CLI를 사용하여 이 보호 플랜을 활성화하는 경우 계속 진행하기 전에 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md)을 충족해야 합니다.
+ 이 보호 플랜을 활성화하는 방법에 관계없이 필수 [새로운 맬웨어 보호 플랜 리소스를 생성할 수 있는 권한](#malware-protection-s3-permissions-prerequisite)을 충족해야 합니다.

**Amazon S3 버킷 스로틀링 고려**  
S3 스로틀링은 Amazon S3 버킷으로 또는 Amazon S3 버킷에서 데이터를 전송할 수 있는 속도를 제한할 수 있습니다. 이렇게 하면 새로 업로드된 객체의 맬웨어 스캔이 지연될 수 있습니다.  
S3 버킷에 대량의 `GET` 및 `PUT` 요청이 필요한 경우 스로틀링을 방지하기 위한 조치를 구현하는 것을 고려하세요. 이 작업을 수행하는 방법에 대한 자세한 내용은 *Amazon Athena 사용 설명서*의 [Amazon S3 제한 방지](https://docs.aws.amazon.com/athena/latest/ug/performance-tuning-s3-throttling.html)를 참조하세요.

**Topics**

## 새로운 맬웨어 보호 플랜 리소스를 생성할 수 있는 권한
<a name="malware-protection-s3-permissions-prerequisite"></a>

Amazon S3 버킷에 대해 S3용 맬웨어 보호를 활성화하면 GuardDuty는 버킷의 보호 플랜에 대한 식별자 역할을 하는 맬웨어 보호 플랜 리소스를 생성합니다. 아직 [AWS 관리형 정책: AmazonGuardDutyFullAccess\$1v2 (권장)](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGuardDutyFullAccess-v2)를 사용하지 않는 경우 다음 권한을 추가하여 이 리소스를 생성해야 합니다.
+ `guardDuty:CreateMalwareProtectionPlan`
+  `iam:PassRole` 

다음 사용자 지정 정책 예시를 사용하여 *자리 표시자 값*을 계정에 적합한 값으로 바꿉니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/role-name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "malware-protection-plan.guardduty.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "guardduty:CreateMalwareProtectionPlan"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## GuardDuty 콘솔을 사용하여 S3에 맬웨어 방지 사용 설정하기
<a name="enabling-malware-protection-s3-guardduty-console"></a>

다음 섹션에서는 GuardDuty 콘솔에서 경험할 수 있는 단계별 안내를 제공합니다.

**GuardDuty 콘솔을 사용하여 S3에 대한 맬웨어 보호를 활성화하려면**

### S3 버킷 세부 정보 입력
<a name="enter-s3-bucket-details-malware-protection"></a>

다음 단계를 사용하여 Amazon S3 버킷 세부 정보를 제공합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) GuardDuty 콘솔을 엽니다.

1. 페이지 오른쪽 상단의 AWS 리전 선택기를 사용하여 S3용 맬웨어 보호를 활성화하려는 리전을 선택합니다.

1. 탐색 창에서 **S3용 맬웨어 보호**를 선택합니다.

1. **보호된 버킷** 섹션에서 **사용**을 선택하여 자체 AWS 계정에 속하는 S3 버킷에 대해 S3용 맬웨어 보호를 사용 설정합니다.

1. **S3 버킷 세부 정보 입력**에서 **Amazon S3 버킷** 이름을 입력합니다. 또는 **S3 찾아보기**를 선택하여 S3 버킷을 선택합니다.

   S3 버킷 AWS 리전 의와 S3용 맬웨어 보호를 활성화 AWS 계정 하는는 동일해야 합니다. 예를 들어 계정이 `us-east-1` 리전에 속한 경우 Amazon S3 버킷 리전도 `us-east-1`여야 합니다.

1. **접두사** 에서 **S3 버킷의 모든 객체** 또는 **특정 접두사로 시작하는 객체**를 선택할 수 있습니다.
   + GuardDuty가 선택한 버킷에서 새로 업로드된 모든 객체를 스캔할 수 있도록 하려면 **S3 버킷의 모든 객체**를 선택합니다.
   + **특정 접두사에 속하는 새로 업로드된 객체**를 스캔하려면 특정 접두사로 시작하는 객체를 선택합니다. 이 옵션을 사용하면 맬웨어 검사 범위를 선택한 객체 접두사에만 집중할 수 있습니다. 접두사 사용에 대한 자세한 내용은 *Amazon S3 사용 설명서*의 [폴더를 사용하여 Amazon S3 콘솔에서 객체 구성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html)을 참조하세요.

     **접두사 추가**를 선택하고 접두사를 입력합니다. 최대 5개의 접두사를 추가할 수 있습니다.

### 스캔된 객체에 대한 태그 지정 활성화
<a name="tag-scanned-objects-s3-malware-protection"></a>

이 단계는 **선택** 사항입니다. 객체가 버킷에 업로드되기 전에 태그 지정 옵션을 활성화한 다음 스캔을 완료하면 GuardDuty는 키를 `GuardDutyMalwareScanStatus`로 하고 값을 스캔 결과로 포함하는 사전 정의된 태그를 추가합니다. S3용 멀웨어 보호를 최적으로 사용하려면 스캔이 종료된 후 S3 객체에 태그를 추가하는 옵션을 활성화하는 것이 좋습니다. 표준 S3 객체 태깅 비용이 적용됩니다. 자세한 내용은 [S3용 맬웨어 보호의 가격 및 사용 비용](pricing-malware-protection-for-s3-guardduty.md) 단원을 참조하십시오.

**태그 지정을 활성화해야 하는 이유는 무엇입니까?**  
+ 태그 지정을 활성화하는 것은 맬웨어 스캔 결과에 대해 알 수 있는 방법 중 하나입니다. S3 맬웨어 스캔 결과에 대한 자세한 내용은 [S3용 멀웨어 방지에서 S3 객체 스캔 모니터링하기](monitoring-malware-protection-s3-scans-gdu.md)을 참조하세요.
+ 잠재적으로 악성일 수 있는 객체가 포함된 S3 버킷에 태그 기반 액세스 제어(TBAC) 정책을 설정하세요. 고려 사항 및 태그 기반 액세스 제어(TBAC) 구현 방법에 대한 자세한 내용은 [S3용 맬웨어 보호와 함께 태그 기반 액세스 제어(TBAC) 사용](tag-based-access-s3-malware-protection.md)을 참조하세요.

**GuardDuty가 S3 객체에 태그를 추가하기 위한 고려 사항:**
+ 기본적으로 최대 10개의 태그를 객체에 연결할 수 있습니다. 자세한 내용은 *Amazon S3 사용 설명서*의 [태그를 사용하여 스토리지 분류](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)를 참조하세요.

  10개의 태그가 모두 이미 사용 중인 경우 GuardDuty는 미리 정의된 태그를 스캔한 객체에 추가할 수 없습니다. GuardDuty는 또한 스캔 결과를 기본 EventBridge 이벤트 버스에 게시합니다. 자세한 내용은 [Amazon EventBridge로 S3 객체 스캔 모니터링하기](monitor-with-eventbridge-s3-malware-protection.md) 단원을 참조하십시오.
+ 선택한 IAM 역할에 GuardDuty가 S3 객체에 태그를 지정할 수 있는 권한이 포함되지 않은 경우 보호 버킷에 대해 태그 지정이 활성화된 경우에도 GuardDuty는 스캔된 이 S3 객체에 태그를 추가할 수 없습니다. 태그 지정에 필요한 IAM 역할 권한에 대한 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md)을 참조하세요.

  GuardDuty는 또한 스캔 결과를 기본 EventBridge 이벤트 버스에 게시합니다. 자세한 내용은 [Amazon EventBridge로 S3 객체 스캔 모니터링하기](monitor-with-eventbridge-s3-malware-protection.md) 단원을 참조하십시오.

****스캔한 객체 태그**에서 옵션을 선택하려면**
+ GuardDuty가 스캔한 S3 객체에 태그를 **추가하도록**하려면 **객체 태그** 지정을 선택합니다.
+ GuardDuty가 스캔한 S3 객체에 태그를 추가**하지 않도록** 하려면 **객체에 태그 지정 안함**을 선택합니다.

### 서비스 액세스
<a name="service-access-s3-malware-protection"></a>

다음 단계에 따라 기존 서비스 역할을 선택하거나 사용자를 대신하여 맬웨어 검사 작업을 수행하는 데 필요한 권한이 있는 새 서비스 역할을 만들 수 있습니다. 이러한 작업에는 새로 업로드된 S3 객체를 스캔하고 (선택 사항으로) 해당 객체에 태그를 추가하는 작업이 포함될 수 있습니다. 이 역할이 갖는 권한에 대한 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md) 섹션을 참조하세요.

**서비스 액세스** 섹션에서 다음 중 하나를 수행할 수 있습니다.

1. **새 서비스 역할 생성 및 사용** - 맬웨어 스캔을 수행하는 데 필요한 권한이 있는 새 서비스 역할 생성을 사용할 수 있습니다.

   **역할 이름**에서 GuardDuty로 미리 채워진 이름을 사용하거나 선택한 의미 있는 이름을 입력하여 역할을 식별할 수 있습니다. 예: `GuardDutyS3MalwareScanRole`. 역할 이름은 1\$164자이어야 합니다. 유효한 문자는 a-z, A-Z, 0-9 및 '\$1=,.@-\$1'입니다.

1. **기존 서비스 역할 사용** - **서비스 역할 이름 목록**에서 기존 서비스 역할을 선택할 수 있습니다.

   1. **정책 템플릿**에서 S3 버킷에 대한 정책을 볼 수 있습니다. S3 버킷 세부 정보 입력 섹션에서 **S3 버킷을 입력**하거나 선택했는지 확인합니다.

   1. **서비스 역할 이름**에서 서비스 역할 목록에서 서비스 역할을 선택합니다.

요구 사항에 따라 정책을 변경할 수 있습니다. IAM 역할을 생성하거나 업데이트하는 방법에 대한 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](https://docs.aws.amazon.com//guardduty/latest/ug/malware-protection-s3-iam-policy-prerequisite.html)를 참조하세요.

IAM 역할 권한 관련 문제는 [IAM 역할 권한 오류 문제 해결](troubleshoot-malware-protection-s3-iam-role-permissions-error.md) 섹션을 참조하세요.

### (선택 사항) 맬웨어 보호 계획 ID 태그 지정
<a name="tag-malware-protection-policy-id-resource-gdu"></a>

이 단계는 S3 버킷 리소스에 대해 생성되는 멀웨어 방지 플랜 리소스에 태그를 추가하는 데 도움이 되는 선택적 단계입니다.

각 태그는 두 부분으로 구성됩니다. 태그 키와 선택적 태그 값입니다. 태그 지정 및 그 이점에 대한 자세한 내용은 [AWS 리소스 태그 지정을](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html) 참조하세요.

**맬웨어 차단 플랜 리소스에 태그를 추가하려면 다음과 같이 하세요.**

1. 태그에 **키**와 선택적 **값**을 입력합니다. 태그 키와 태그 값은 모두 대소문자를 구분합니다. 태그 키 및 태그 값의 이름에 대한 자세한 내용은 [태그 이름 지정 제한 및 요구 사항 섹션](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)을 참조하세요.

1. 맬웨어 보호 계획 리소스에 태그를 더 추가하려면 **새 태그 추가**를 선택하고 이전 단계를 반복합니다. 각 리소스에 최대 50개의 태그를 추가할 수 있습니다.

1. **활성화**를 선택합니다.

## API/CLI를 사용하여 S3에 대한 맬웨어 보호 활성화
<a name="enabling-malware-protection-s3-guardduty-api-cli"></a>

이 섹션에는 AWS 환경에서 프로그래밍 방식으로 S3용 맬웨어 보호를 활성화하려는 경우에 대한 단계가 포함되어 있습니다. 이렇게 하려면 이 단계 - [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md)에서 생성한 IAM 역할 Amazon 리소스 이름(ARN)이 필요합니다.

**API/CLI를 사용하여 프로그래밍 방식으로 S3에 대한 맬웨어 보호를 활성화하려면**
+ **API를 사용하여**

  [CreateMalwareProtectionPlan](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_CreateMalwareProtectionPlan.html)을 실행하여 자신의 계정에 속하는 버킷에 대해 S3용 멀웨어 방지을 사용 설정합니다.
+ **를 사용하여 AWS CLI**

  S3용 맬웨어 보호를 활성화하는 방법에 따라 다음 목록은 특정 사용 사례에 대한 AWS CLI 예제 명령을 제공합니다. 이러한 명령을 실행할 때 *빨간색으로 표시된 자리 표시자 예제*를 계정에 적합한 값으로 바꿉니다.

**AWS CLI 예제 명령**
  + 다음 AWS CLI 명령을 사용하여 스캔한 S3 객체에 태그를 지정하지 않은 버킷에 대해 S3용 맬웨어 보호를 활성화합니다.

    ```
    aws guardduty create-malware-protection-plan --role "arn:aws:iam::111122223333:role/role-name" --protected-resource "S3Bucket"={"BucketName"="amzn-s3-demo-bucket1"}
    ```
  + 다음 AWS CLI 명령을 사용하여 특정 객체 접두사가 있고 스캔한 S3 객체에 대한 태그 지정이 없는 버킷에 대해 S3용 맬웨어 보호를 활성화합니다.

    ```
    aws guardduty create-malware-protection-plan --role "arn:aws:iam::111122223333:role/role-name" --protected-resource '{"S3Bucket":{"BucketName":"amzn-s3-demo-bucket1", "ObjectPrefixes": ["Object1","Object1"]}}'
    ```
  + 다음 AWS CLI 명령을 사용하여 스캔한 S3 객체 태그 지정이 활성화된 버킷에 대해 S3용 맬웨어 보호를 활성화합니다.

    ```
    aws guardduty create-malware-protection-plan --role "arn:aws:iam::111122223333:role/role-name" --protected-resource "S3Bucket"={"BucketName"="amzn-s3-demo-bucket1"} --actions "Tagging"={"Status"="ENABLED"}
    ```

  이러한 명령을 성공적으로 실행하면 고유한 멀웨어 방지 요금제 ID가 생성됩니다. 버킷에 대한 보호 요금제를 업데이트하거나 비활성화하는 등의 작업을 수행하려면 이 멀웨어 방지 요금제 ID가 필요합니다.

IAM 역할 권한 관련 문제는 [IAM 역할 권한 오류 문제 해결](troubleshoot-malware-protection-s3-iam-role-permissions-error.md) 섹션을 참조하세요.

# IAM 역할 정책 생성 또는 업데이트
<a name="malware-protection-s3-iam-policy-prerequisite"></a>

S3용 맬웨어 방지가 S3 객체를 스캔하고 (선택 사항으로) 태그를 추가하려면 사용자를 대신하여 맬웨어 스캔 작업을 수행하는 데 필요한 권한이 있는 서비스 역할을 사용할 수 있습니다. 서비스 역할을 사용하여 S3에 대한 맬웨어 보호를 활성화하는 방법에 대한 자세한 내용은 [서비스 액세스 섹션](https://docs.aws.amazon.com//guardduty/latest/ug/enable-malware-protection-s3-bucket.html#service-access-s3-malware-protection)을 참조하세요. 이 역할은 [GuardDuty 맬웨어 보호 서비스 연결 역할](https://docs.aws.amazon.com//guardduty/latest/ug/using-service-linked-roles.html)과 다릅니다.

IAM 역할을 사용하려면 S3 객체를 스캔하고 (선택 사항) 태그를 추가하는 데 필요한 권한이 포함된 IAM 역할을 연결할 수 있습니다. 이러한 권한을 포함하려면 IAM 역할을 만들거나 기존 역할을 업데이트해야 합니다. 이러한 권한은 S3용 맬웨어 보호를 사용 설정하는 각 Amazon S3 버킷에 필요하므로 보호하려는 각 Amazon S3 버킷에 대해 이 단계를 수행해야 합니다.

다음 목록에서는 특정 권한이 GuardDuty가 사용자를 대신하여 멀웨어 검사를 수행하는 데 어떻게 도움이 되는지 설명합니다.
+ S3용 맬웨어 방지가 S3 객체 알림을 수신할 수 있도록 Amazon EventBridge 작업이 EventBridge 관리형 규칙을 생성하고 관리하도록 허용합니다.

  자세한 내용은 *Amazon EventBridge 사용 설명서*에서 [Amazon EventBridge 관리 규칙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html#eb-rules-managed)을 참조하세요.
+ 이 버킷의 모든 이벤트에 대해 Amazon S3 및 EventBridge 작업이 EventBridge로 알림을 보내도록 허용합니다.

  자세한 내용은 *Amazon S3 사용 설명서*에서 [Amazon EventBridge 활성화](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications-eventbridge.html)를 참조하세요.
+ Amazon S3 작업이 업로드된 S3 객체에 액세스하고 스캔된 S3 객체에 사전 정의된 태그인 `GuardDutyMalwareScanStatus`를 추가할 수 있도록 허용합니다. 객체 접두사를 사용하는 경우 대상 접두사에만 `s3:prefix` 조건을 추가합니다. 이렇게 하면 GuardDuty가 버킷의 모든 S3 객체에 액세스하지 못합니다.
+ 지원되는 DSSE-KMS 및 SSE-KMS 암호화를 사용하여 테스트 객체를 스캔하고 버킷에 넣기 전에 KMS 키 작업이 객체에 액세스할 수 있도록 허용합니다.

**참고**  
이 단계는 계정의 버킷에 대해 S3용 맬웨어 보호를 사용 설정할 때마다 필요합니다. 이미 기존 IAM 역할이 있는 경우 다른 Amazon S3 버킷 리소스의 세부 정보를 포함하도록 해당 정책을 업데이트할 수 있습니다. 이 [IAM 정책 권한 추가](#attach-iam-policy-s3-malware-protection) 주제에서는 이를 수행하는 방법에 대한 예를 제공합니다.

다음 정책을 사용하여 IAM 역할을 만들거나 업데이트하세요.

**Topics**
+ [IAM 정책 권한 추가](#attach-iam-policy-s3-malware-protection)
+ [신뢰 관계 정책 추가](#add-iam-trust-policy-s3-malware-protection)

## IAM 정책 권한 추가
<a name="attach-iam-policy-s3-malware-protection"></a>

기존 IAM 역할의 인라인 정책을 업데이트하거나 새 IAM 역할을 만들도록 선택할 수 있습니다. 단계에 대한 자세한 내용은 [IAM 역할 만들기](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) 또는 [IAM 사용 가이드](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy)에서 *역할 권한 정책 수정하기*를 참조하세요.

선호하는 IAM 역할에 다음 권한 템플릿을 추가합니다. 다음 자리 표시자 값을 계정과 관련된 적절한 값으로 바꿉니다.
+ *amzn-s3-demo-bucket*의 경우 Amazon S3 버킷 이름으로 바꿉니다.

  둘 이상의 S3 버킷 리소스에 대해 동일한 IAM 역할을 사용하려면 다음 예시와 같이 기존 정책을 업데이트하세요.

  ```
                      ...
                      ...
                      "Resource": [
                          "arn:aws:s3:::amzn-s3-demo-bucket/*",
                          "arn:aws:s3:::amzn-s3-demo-bucket2/*"
                      ],
                      ...
                      ...
  ```

  S3 버킷과 연결된 새 ARN을 추가하기 전에 쉼표(,)를 추가해야 합니다. 정책 템플릿에서 S3 버킷 `Resource`을 참조할 때마다 이 작업을 수행합니다.
+ *111122223333* 의 경우, AWS 계정 아이디로 대체합니다.
+ *us-east-1*의 경우 AWS 리전으로 바꿉니다.
+ *APKAEIBAERJR2EXAMPLE*의 경우 고객 관리형 키 ID로 바꾸세요. S3 버킷이 AWS KMS 키를 사용하여 암호화된 경우 버킷에 대한 맬웨어 보호를 구성할 때 [새 역할 생성](https://docs.aws.amazon.com//guardduty/latest/ug/enable-malware-protection-s3-bucket.html) 옵션을 선택하면 관련 권한이 추가됩니다.

  ```
  "Resource": "arn:aws:kms:us-east-1:111122223333:key/*"
  ```

**IAM 역할 정책 템플릿**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "AllowManagedRuleToSendS3EventsToGuardDuty",
            "Effect": "Allow",
            "Action": [
                "events:PutRule",
                "events:DeleteRule",
                "events:PutTargets",
                "events:RemoveTargets"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:111122223333:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*"
            ],
            "Condition": {
                "StringLike": {
                    "events:ManagedBy": "malware-protection-plan.guardduty.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AllowGuardDutyToMonitorEventBridgeManagedRule",
            "Effect": "Allow",
            "Action": [
                "events:DescribeRule",
                "events:ListTargetsByRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:111122223333:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*"
            ]
        },
        {
            "Sid": "AllowPostScanTag",
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectTagging",
                "s3:GetObjectTagging",
                "s3:PutObjectVersionTagging",
                "s3:GetObjectVersionTagging"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "AllowEnableS3EventBridgeEvents",
            "Effect": "Allow",
            "Action": [
                "s3:PutBucketNotification",
                "s3:GetBucketNotification"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "AllowPutValidationObject",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/malware-protection-resource-validation-object"
            ]
        },
        {
            "Sid": "AllowCheckBucketOwnership",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
           "Sid": "AllowMalwareScan",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "AllowDecryptForMalwareScan",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/APKAEIBAERJR2EXAMPLE",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": "s3.us-east-1.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## 신뢰 관계 정책 추가
<a name="add-iam-trust-policy-s3-malware-protection"></a>

다음 신뢰 정책을 IAM 역할에 첨부하세요. 단계에 대한 자세한 내용은 [역할 신뢰 정책 수정](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)을 참조하세요.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "malware-protection-plan.guardduty.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

# IAM 역할 권한 오류 문제 해결
<a name="troubleshoot-malware-protection-s3-iam-role-permissions-error"></a>

S3용 맬웨어 보호를 활성화할 때 GuardDuty는 IAM 서비스 역할에 Amazon S3 버킷 소유권을 검증하는 데 필요한 권한이 있는지 확인합니다. 이러한 권한이 누락되거나 잘못 구성된 경우 다음 메시지가 표시될 수 있습니다.

```
"message": "The request was rejected because provided IAM role does not have the required permissions to validate S3 bucket ownership."
"type": "InvalidInputException"
```

다음 시나리오는 이 오류를 해결하는 데 도움이 될 수 있습니다.

**IAM 역할 권한 누락**  
+ IAM 역할에는 S3용 맬웨어 보호를 허용하는 데 필요한 권한이 있어야 합니다.
+ GuardDuty는 `"s3:ListBucket"` 권한을 사용하여 버킷 소유권을 검증합니다. 이는 사용하는 IAM 역할에 있어야 합니다.
권한에 관한 사항은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md) 섹션을 참조하세요.

**IAM 역할 가용성**  
+ 새 IAM 역할을 생성할 때 S3용 맬웨어 보호를 활성화하기 전에 변경 사항이 최종 일관성에 도달할 때까지 몇 분 정도 기다립니다. 역할을 생성한 직후 보호 계획을 활성화하려고 하면 검증이 실패할 수 있습니다.
+ 코드형 인프라(IaC) 배포의 경우 GuardDuty는 IAM 역할이 최종 일관성에 도달하도록 리소스 종속성을 선언할 것을 권장합니다.

  이 작업을 수행하는 방법에 대한 샘플 템플릿은 [GuardDuty GitHub 리포지토리](https://github.com/aws-samples/guardduty-malware-protection/tree/main/cdk)를 참조하세요.

**교차 리전 활성화**  
Amazon S3 버킷이 GuardDuty에서 S3에 대한 맬웨어 보호를 활성화하는 리전과 동일한 리전에 있는지 확인합니다.

# S3에 대한 맬웨어 보호를 활성화한 후의 단계
<a name="malware-protection-s3-steps-after-enabling"></a>

이 섹션에서는 버킷에 대해 S3용 맬웨어 보호를 사용 설정한 후 수행할 수 있는 단계를 나열합니다. 다음 단계는 다음 단계를 탐색하는 데 도움이 되는 순서대로 나열되어 있습니다.

**버킷에 대해 S3에 대한 맬웨어 방지를 활성화한 후 따르려면**

1. **태그 기반 액세스 제어(TBAC) 리소스 정책 추가** - 태그 지정을 활성화하면 객체가 선택한 버킷에 업로드되기 전에 S3 버킷 리소스에 TBAC 정책을 추가해야 합니다. 자세한 내용은 [S3 버킷 리소스에 TBAC 추가](tag-based-access-s3-malware-protection.md#apply-tbac-s3-malware-protection) 단원을 참조하십시오.

1. **맬웨어 보호 계획 상태 모니터링** - 보호된 각 버킷의 **상태** 열을 모니터링합니다. 잠재적 상태 및 그 의미에 대한 자세한 내용은 [보호된 버킷 상태 보기 및 이해](malware-protection-s3-bucket-status-gdu.md)을 참조하세요.

1. 다음 옵션 중 하나를 선택하여 **스캔을 시작합니다**.
   + **객체 업로드**:

     1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

     1. 이 기능을 활성화한 S3 버킷 또는 객체 접두사에 파일을 업로드합니다. 파일을 업로드하는 단계는 *Amazon S3 사용 설명서*의 [버킷에 객체 업로드](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-an-object-bucket.html)를 참조하세요.
   + **온디맨드 스캔을 시작합니다**. [GuardDuty의 온디맨드 S3 맬웨어 스캔](malware-protection-s3-on-demand.md) 

1. **S3 객체 스캔 상태 및 스캔 결과 모니터링** - 이 단계에는 S3 객체의 맬웨어 스캔 상태를 확인하는 방법에 대한 정보가 포함되어 있습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/malware-protection-s3-steps-after-enabling.html)

# GuardDuty의 온디맨드 S3 맬웨어 스캔
<a name="malware-protection-s3-on-demand"></a>

S3용 GuardDuty 맬웨어 보호는 새로운 S3 업로드를 지속적으로 모니터링합니다. 보호를 활성화하기 전에 존재한 객체의 경우 또는 이전에 스캔한 객체를 다시 스캔하려면 버킷에 대해 GuardDuty 맬웨어 보호 계획을 활성화한 후 온디맨드 S3 맬웨어 스캔을 시작할 수 있습니다.

 온디맨드 맬웨어 스캔은 객체 액세스 및 구성 적용을 위해 맬웨어 보호 플랜의 IAM 역할을 사용합니다. 스캔은 버킷의 맬웨어 보호 계획에 구성된 모든 접두사를 재정의합니다.

**참고**  
S3용 맬웨어 보호 할당량은 온디맨드 맬웨어 스캔에 적용됩니다. 자세한 내용은 단원을 참조하십시오[S3용 맬웨어 보호의 할당량](malware-protection-s3-quotas-guardduty.md).  
요금에 대한 자세한 내용은 [S3용 맬웨어 보호의 가격 및 사용 비용](pricing-malware-protection-for-s3-guardduty.md) 단원을 참조하세요.

## 사전 조건
<a name="prerequisites-malware-protection-s3-on-demand"></a>

온디맨드 맬웨어 스캔을 시작하기 전에 계정이 다음 사전 조건을 충족해야 합니다.
+ 대상 버킷에서 S3용 맬웨어 보호가 활성화되어 있습니다. 자세한 정보는 [버킷에 대한 S3용 맬웨어 보호 구성하기](configuring-malware-protection-for-s3-guardduty.md)을 참조하세요.
+ [AWS 관리형 정책: AmazonGuardDutyFullAccess\$1v2 (권장)](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGuardDutyFullAccess-v2) 정책은 API를 호출하는 IAM 사용자 또는 IAM 역할에 연결됩니다.

## 온디맨드 맬웨어 스캔 시작
<a name="malware-protection-initiate-malware-protection-s3-on-demand"></a>

S3 객체 경로를 입력으로 요구하는 [SendObjectMalwareScan](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_SendObjectMalwareScan.html) API 작업을 사용합니다.

------
#### [ API/CLI ]

객체의 최신 버전을 스캔하거나 스캔할 특정 버전을 지정할 수 있습니다.

객체의 특정 버전을 스캔하려면:

```
aws guardduty send-object-malware-scan --s3-object '{"Bucket": "amzn-s3-demo-bucket", "Key": "APKAEIBAERJR2EXAMPLE", "VersionId": "d41d8cd98f00b204e9800998eEXAMPLE"}'
```

객체의 최신 버전을 스캔하려면:

```
aws guardduty send-object-malware-scan --s3-object '{"Bucket": "amzn-s3-demo-bucket", "Key": "APKAEIBAERJR2EXAMPLE"}'
```

------

**중요**  
API 호출이 성공하면 스캔 요청이 수락되었음을 확인합니다. 그러나 스캔 결과를 모니터링하여 성공적으로 완료되었는지 확인하고 객체 액세스 오류와 같은 문제를 식별하는 것이 중요합니다. 자세한 내용은 [S3용 멀웨어 방지에서 S3 객체 스캔 모니터링하기](monitoring-malware-protection-s3-scans-gdu.md) 단원을 참조하십시오.

# S3용 맬웨어 보호와 함께 태그 기반 액세스 제어(TBAC) 사용
<a name="tag-based-access-s3-malware-protection"></a>

버킷에 대해 S3용 맬웨어 보호를 사용하도록 설정할 때 선택적으로 태깅을 사용하도록 선택할 수 있습니다. 선택한 버킷에 새로 업로드된 S3 객체를 스캔한 후 GuardDuty는 스캔한 객체에 태그를 추가하여 멀웨어 스캔 상태를 제공합니다. 태그 지정을 활성화할 때 직접 사용 비용이 발생합니다. 자세한 내용은 [S3용 맬웨어 보호의 가격 및 사용 비용](pricing-malware-protection-for-s3-guardduty.md) 단원을 참조하십시오.

GuardDuty는 키를 `GuardDutyMalwareScanStatus`로 하고 값을 맬웨어 스캔 상태 중 하나로 하는 사전 정의된 태그를 사용합니다. 이러한 값에 대한 자세한 내용은 [S3 객체 전위 스캔 상태 및 결과 상태](monitoring-malware-protection-s3-scans-gdu.md#s3-object-scan-result-value-malware-protection) 단원을 참조하세요.

**GuardDuty가 S3 객체에 태그를 추가하기 위한 고려 사항:**
+ 기본적으로 최대 10개의 태그를 객체에 연결할 수 있습니다. 자세한 내용은 *Amazon S3 사용 설명서*의 [태그를 사용하여 스토리지 분류](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)를 참조하세요.

  10개의 태그가 모두 이미 사용 중인 경우 GuardDuty는 미리 정의된 태그를 스캔한 객체에 추가할 수 없습니다. GuardDuty는 또한 스캔 결과를 기본 EventBridge 이벤트 버스에 게시합니다. 자세한 내용은 [Amazon EventBridge로 S3 객체 스캔 모니터링하기](monitor-with-eventbridge-s3-malware-protection.md) 단원을 참조하십시오.
+ 선택한 IAM 역할에 GuardDuty가 S3 객체에 태그를 지정할 수 있는 권한이 포함되지 않은 경우 보호 버킷에 대해 태그 지정이 활성화된 경우에도 GuardDuty는 스캔된 이 S3 객체에 태그를 추가할 수 없습니다. 태그 지정에 필요한 IAM 역할 권한에 대한 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md)을 참조하세요.

  GuardDuty는 또한 스캔 결과를 기본 EventBridge 이벤트 버스에 게시합니다. 자세한 내용은 [Amazon EventBridge로 S3 객체 스캔 모니터링하기](monitor-with-eventbridge-s3-malware-protection.md) 단원을 참조하십시오.

## S3 버킷 리소스에 TBAC 추가
<a name="apply-tbac-s3-malware-protection"></a>

S3 버킷 리소스 정책을 사용하여 S3 객체에 대한 태그 기반 액세스 제어(TBAC)를 관리할 수 있습니다. 특정 사용자에게 S3 객체에 액세스하고 읽을 수 있는 액세스 권한을 제공할 수 있습니다. 를 사용하여 생성된 조직이 있는 경우 AWS Organizations GuardDuty에서 추가한 태그를 아무도 수정할 수 없도록 해야 합니다. 자세한 내용은 *AWS Organizations 사용 설명서*의 [승인된 보안 주체를 제외한 태그 수정 방지](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_tagging.html#example-require-restrict-tag-mods-to-admin)를 참조하세요. 연결된 주제에 사용된 예제에서는 `ec2`를 언급합니다. 이 예제를 사용하면 *ec2*를 `s3`로 바꿉니다.

다음 목록에서는 TBAC를 사용하여 수행할 수 있는 작업에 대해 설명합니다.
+ S3용 맬웨어 보호 서비스 보안 주체를 제외한 모든 사용자가 다음 태그 키-값 페어로 아직 태그가 지정되지 않은 S3 객체를 읽지 못하도록 합니다.

  `GuardDutyMalwareScanStatus`:`Potential key value`
+ GuardDuty만 스캔 결과로 값이 `GuardDutyMalwareScanStatus`인 태그 키를 스캔된 S3 객체에 추가하도록 허용합니다. 다음 정책 템플릿을 사용하면 액세스 권한이 있는 특정 사용자가 태그 키-값 쌍을 잠재적으로 재정의할 수 있습니다.

**S3 버킷 리소스 정책 예시:**

예시 정책에서 다음과 같이 다음 자리 표시자 값을 바꿉니다.
+ *IAM-role-name* - 버킷에서 S3용 맬웨어 방지를 구성하는 데 사용한 IAM 역할을 제공합니다.
+ *555555555555* - 보호된 버킷과 AWS 계정 연결된를 제공합니다.
+ *amzn-s3-demo-bucket* - 보호된 버킷 이름을 제공합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "NoReadUnlessClean",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": [
                "arn:aws:sts::555555555555:assumed-role/IAM-role-name/GuardDutyMalwareProtection",
                "arn:aws:iam::555555555555:role/IAM-role-name"
                ]
            },
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:ExistingObjectTag/GuardDutyMalwareScanStatus": "NO_THREATS_FOUND"
                }
            }
        },
        {
            "Sid": "OnlyGuardDutyCanTagScanStatus",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": [
                    "arn:aws:sts::555555555555:assumed-role/IAM-role-name/GuardDutyMalwareProtection",
                    "arn:aws:iam::555555555555:role/IAM-role-name"
                ]
            },
            "Action": "s3:PutObjectTagging",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "s3:RequestObjectTagKeys": "GuardDutyMalwareScanStatus"
                }
            }
        }
    ]
}
```

------

S3 리소스 태그 지정, [태그 지정 및 액세스 제어 정책](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging-and-policies.html)에 대한 자세한 내용은 섹션을 참조하세요.

# 보호된 버킷 상태 보기 및 이해
<a name="malware-protection-s3-bucket-status-gdu"></a>

버킷에 대해 S3용 맬웨어 보호를 활성화한 후 상태는 기능이 예상대로 구성되고 작동하는지 여부를 나타냅니다. 이 상태는 고유한 맬웨어 보호 계획 식별자(ID)와 연결됩니다. GuardDuty는 기능을 활성화할 때 이 ID를 생성합니다.

다음 절차에 따라 보호된 버킷의 상태를 확인합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) GuardDuty 콘솔을 엽니다.

1. 탐색 창에서 **S3용 맬웨어 보호**를 선택합니다.

1. **보호된 버킷** 테이블에서 **S3 버킷**에 해당하는 **상태** 열을 확인합니다.

다음 표에서는 맬웨어 보호 플랜 리소스와 연결된 상태 값을 나열하고 설명합니다. 보호된 버킷에서 이러한 상태가 의미하는 바를 이해하면 객체가 업로드될 때 GuardDuty가 자동 맬웨어 스캔을 시작하도록 할 수 있습니다.


| Status | 설명 | 
| --- | --- | 
|  활성  |  S3 버킷이 S3용 맬웨어 보호로 성공적으로 구성되었습니다. 상태가 *활성*이면 IAM 역할 변경(삭제 또는 권한 수정)으로 인해 상태가 *경고* 또는 *오류*로 업데이트되지 않습니다. [S3 객체 스캔 모니터링](monitoring-malware-protection-s3-scans-gdu.md)에 설명된 방법 중 하나를 사용하여 스캔 상태를 지속적으로 모니터링하는 것이 좋습니다.  | 
|  경고**[*](#fix-protection-status-s3-malware)**  |  S3용 멀웨어 보호는 경고가 표시되어도 영향을 받지 않도록 설계되었습니다. GuardDuty가 새 S3 객체를 발견하면 맬웨어 스캔을 시작합니다. 스캔을 성공적으로 시작한 후 **상태** 열 값을 **활성화**로 변경하는 데 몇 분 정도 걸릴 수 있습니다. **상태** 열 값이 업데이트되면 EventBridge 알림을 받게 됩니다.  | 
|  오류**[*](#fix-protection-status-s3-malware)**  |  버킷은 보호되지 않습니다. 이 S3 버킷과 연결된 맬웨어 스캔은 완료되지 않습니다. 하나 이상의 잠재적 근본 원인이 있을 수 있습니다.  | 

**\$1**잠재적 문제와 이를 해결하기 위한 해당 단계에 대한 자세한 내용은 [맬웨어 방지 계획 상태 문제 해결](troubleshoot-s3-malware-protection-status-errors.md)을 참조하세요.

# S3용 멀웨어 방지에서 S3 객체 스캔 모니터링하기
<a name="monitoring-malware-protection-s3-scans-gdu"></a>

GuardDuty 탐지기 ID로 S3용 맬웨어 방지를 사용하는 경우 Amazon S3 객체가 잠재적으로 악성일 경우 GuardDuty가 [S3용 맬웨어 보호 결과 유형](gdu-malware-protection-s3-finding-types.md)를 생성합니다. GuardDuty 콘솔 및 API를 사용하여 생성된 조사 결과를 확인할 수 있습니다. 이 결과 유형을 이해하는 방법에 대한 자세한 내용은 [결과 세부 정보](guardduty_findings-summary.md)을 참조하세요.

GuardDuty를 사용하도록 설정하지 않고 S3용 멀웨어 방지을 사용하는 경우(탐지 ID 없음), 스캔한 Amazon S3 객체가 잠재적으로 악성일지라도 GuardDuty는 어떠한 조사 결과도 생성할 수 없습니다.

**Topics**
+ [S3 객체 전위 스캔 상태 및 결과 상태](#s3-object-scan-result-value-malware-protection)
+ [Amazon EventBridge로 S3 객체 스캔 모니터링하기](monitor-with-eventbridge-s3-malware-protection.md)
+ [GuardDuty 관리 태그를 사용한 S3 객체 스캔 모니터링](monitor-enable-s3-object-tagging-malware-protection.md)
+ [CloudWatch의 S3 객체 스캔 상태 지표](monitor-cloudwatch-metrics-s3-malware-protection.md)

## S3 객체 전위 스캔 상태 및 결과 상태
<a name="s3-object-scan-result-value-malware-protection"></a>

이 섹션에서는 잠재적인 S3 객체 스캔 상태 값과 스캔 결과 값에 대해 설명합니다.

S3 객체 검사 상태는 완료, 건너뛰기 또는 실패와 같은 멀웨어 검사 상태를 나타냅니다.

S3 객체 멀웨어 검사 결과 상태는 검사 상태 값에 따라 검사 결과를 나타냅니다. 각 멀웨어 검사 결과 상태 값은 검사 상태에 매핑됩니다.

다음 목록은 잠재적인 S3 객체 스캔 결과 값을 제공합니다. 태그 지정을 활성화한 경우 [S3 객체 태그 사용](monitor-enable-s3-object-tagging-malware-protection.md)를 사용하여 스캔 결과를 모니터링할 수 있습니다. 스캔 후 태그 값은 다음 스캔 결과 값 중 하나를 갖습니다.

**S3 객체 잠재적 멀웨어 검사 결과 상태 값**
+ `NO_THREATS_FOUND` – GuardDuty가 스캔한 객체와 관련된 잠재적 위협을 감지하지 못했습니다.
+ `THREATS_FOUND` – GuardDuty가 스캔한 객체와 관련된 잠재적 위협을 감지했습니다.
+ `UNSUPPORTED` - S3용 맬웨어 방지가 스캔을 건너뛰는 몇 가지 이유가 있습니다. 잠재적인 이유로는 암호로 보호되는 파일, 압축률이 매우 높은 아카이브, [S3 할당량에 대한 맬웨어 보호](malware-protection-s3-quotas-guardduty.md) 및 특정 Amazon S3 기능에 대한 지원을 사용하지 못할 수 있습니다. 자세한 내용은 [S3에 대한 맬웨어 보호 기능](s3-malware-protection-capability.md) 단원을 참조하십시오.
+ `ACCESS_DENIED` - GuardDuty는 스캔을 위해 이 객체에 액세스할 수 없습니다. 이 버킷과 연결된 IAM 역할 권한을 확인하세요. 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md) 단원을 참조하십시오.

  스캔 후 S3 객체 태그 지정을 활성화한 경우 [S3 객체 스캔 후 태그 오류 문제 해결](troubleshoot-s3-post-scan-tag-failures.md)을 참조하세요.
+ `FAILED` – 내부 오류로 인해 GuardDuty가 이 객체에 대한 맬웨어 스캔을 수행할 수 없습니다.

다음 목록은 잠재적인 S3 객체 스캔 상태 값과 S3 객체 스캔 결과에 대한 매핑을 제공합니다.

**S3 객체 전위 스캔 상태 값**
+ **완료됨** - 스캔이 성공적으로 완료되었으며 S3 객체에 맬웨어가 있는지 여부를 나타냅니다. 이 경우 잠재적 S3 객체 스캔 결과 값은 `THREATS_FOUND` 또는 `NO_THREATS_FOUND`일 수 있습니다.
+ **건너뛰기** - 이 S3 객체를 검사하는 것이 S3용 멀웨어 방지에서 지원되지 않거나 GuardDuty가 선택한 버킷에 업로드된 S3 객체에 액세스할 수 없는 경우 악성코드 검사를 건너뜁니다.

  이 경우 잠재적 S3 객체 스캔 결과 값은 `UNSUPPORTED` 또는 `ACCESS_DENIED`일 수 있습니다.

  필요한 IAM 역할이 삭제되면 GuardDuty도 스캔을 건너뜁니다.
+ **실패** - S3 객체 스캔 결과 값 `FAILED`과 마찬가지로 이 스캔 상태는 내부 오류로 인해 GuardDuty가 S3 객체에서 맬웨어 스캔을 수행할 수 없음을 의미합니다.

# Amazon EventBridge로 S3 객체 스캔 모니터링하기
<a name="monitor-with-eventbridge-s3-malware-protection"></a>

*Amazon EventBridge*: 애플리케이션을 다양한 소스의 데이터와 쉽게 연결할 수 있는 서버리스 이벤트 버스 서비스입니다. EventBridge는 자체 애플리케이션, Software-as-a-Service(SaaS) 애플리케이션 및 AWS 서비스의 실시간 데이터 스트림을 제공하고 해당 데이터를 Lambda와 같은 대상으로 라우팅합니다. 이를 통해 서비스에서 발생하는 이벤트를 모니터링하고 이벤트 기반 아키텍처를 구축할 수 있습니다. 자세한 내용은 [Amazon EventBridge 사용 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/)를 참조하세요.

GuardDuty는 S3용 멀웨어 방지으로 보호되는 S3 버킷의 소유자 계정으로서 다음 시나리오에서 기본 이벤트 버스에 EventBridge 알림을 게시합니다.
+ **맬웨어 방지 계획 리소스 상태**가 보호된 버킷에 대해 변경됩니다. 다양한 상태에 대한 자세한 내용은 [보호된 버킷 상태 보기 및 이해](malware-protection-s3-bucket-status-gdu.md)를 참조하세요.

  리소스 상태에 대한 Amazon EventBridge(EventBridge) 규칙 설정은 [맬웨어 보호 계획 리소스 상태](#resource-status-malware-protection-s3-ev)을 참조하세요.
+ **S3 객체 스캔 결과**가 기본 EventBridge 이벤트 버스에 게시됩니다.

  `s3Throttled` 필드는 Amazon S3에서 스토리지를 업로드하거나 검색하는 데 지연이 있었는지 여부를 나타냅니다. `true` 값은 지연이 있었음을 나타내고 `false`는 지연이 없음을 나타냅니다.

  `s3Throttled`가 스캔 결과 `true`에 대한 경우 Amazon S3는 각 접두사에 대한 초당 트랜잭션(TPS)을 줄이는 데 도움이 되는 방식으로 접두사를 설정하는 것을 권장합니다. 자세한 내용은 *Amazon S3 사용 설명서*의 [모범 사례 디자인 패턴: Amazon S3 성능 최적화](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html)를 참조하세요.

  S3 객체 스캔 결과에 대한 Amazon EventBridge(EventBridge) 규칙 설정은 [S3 객체 스캔 결과](#s3-object-scan-status-malware-protection-s3-ev)을 참조하세요.
+ 다음과 같은 이유로 **스캔 후 태그 실패 이벤트**가 발생합니다.
  + IAM 역할에 객체에 태그를 지정할 수 있는 권한이 없습니다.

    [IAM 정책 권한 추가](malware-protection-s3-iam-policy-prerequisite.md#attach-iam-policy-s3-malware-protection) 템플릿에는 GuardDuty가 객체에 태그를 지정할 수 있는 권한이 포함되어 있습니다.
  + IAM 역할에 지정된 버킷 리소스 또는 객체가 더 이상 존재하지 않습니다.
  + 연결된 S3 객체가 이미 최대 태그 제한에 도달했습니다. 태그 제한에 대한 자세한 내용은 *Amazon S3 사용 설명서*의 [태그를 사용하여 스토리지 분류하기](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)를 참조하세요.

  스캔 후 태그 실패 이벤트에 대한 Amazon EventBridge(EventBridge) 규칙 설정은 [스캔 후 태그 실패 이벤트](#post-tag-failure-malware-protection-s3-ev)을 참조하세요.

## EventBridge 규칙 설정
<a name="set-up-malware-protection-s3-eventbridge-rules"></a>

계정에서 EventBridge 규칙을 설정하여 리소스 상태, 스캔 후 태그 실패 이벤트 또는 S3 객체 스캔 결과를 다른 AWS 서비스로 전송할 수 있습니다. 위임된 GuardDuty 관리자 계정으로서 상태 변경이 있을 때 멀웨어 방지 플랜 리소스 상태 알림을 받게 됩니다.

표준 EventBridge 요금이 적용됩니다. 자세한 내용은 [Amazon EventBridge 요금](https://aws.amazon.com/eventbridge/pricing/)을 참조하세요.

*빨간색*으로 표시되는 모든 값은 예제의 자리 표시자입니다. 이 값은 계정의 값과 멀웨어 탐지 여부에 따라 변경됩니다.

**Topics**
+ [맬웨어 보호 계획 리소스 상태](#resource-status-malware-protection-s3-ev)
+ [S3 객체 스캔 결과](#s3-object-scan-status-malware-protection-s3-ev)
+ [스캔 후 태그 실패 이벤트](#post-tag-failure-malware-protection-s3-ev)

### 맬웨어 보호 계획 리소스 상태
<a name="resource-status-malware-protection-s3-ev"></a>

다음 시나리오에 따라 이벤트 브리지 이벤트 패턴을 만들 수 있습니다.

**잠재적 `detail-type` 가치**
+ `"GuardDuty Malware Protection Resource Status Active"`
+ `"GuardDuty Malware Protection Resource Status Warning"`
+ `"GuardDuty Malware Protection Resource Status Error"`

**이벤트 패턴**

```
{
      "detail-type": ["potential detail-type"],
      "source": ["aws.guardduty"]
}
```

**`GuardDuty Malware Protection Resource Status Active`용 샘플 알림 스키마**

```
{
    "version": "0",
    "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
    "detail-type": "GuardDuty Malware Protection Resource Status Active",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2017-12-22T18:43:48Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-02-28T01:01:01Z",
        "s3BucketDetails": {
            "bucketName": "amzn-s3-demo-bucket"
        },
        "resourceStatus": "ACTIVE"
    }
}
```

**`GuardDuty Malware Protection Resource Status Warning`용 샘플 알림 스키마**

```
{
    "version": "0",
    "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
    "detail-type": "GuardDuty Malware Protection Resource Status warning",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2017-12-22T18:43:48Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-02-28T01:01:01Z",
        "s3BucketDetails": {
            "bucketName": "amzn-s3-demo-bucket"
        },
        "resourceStatus": "WARNING",
        "statusReasons": [
         {
            "code": "INSUFFICIENT_TEST_OBJECT_PERMISSIONS"
         }
        ]
    }
}
```

**`GuardDuty Malware Protection Resource Status Error`용 샘플 알림 스키마**

```
{
    "version": "0",
    "id": "fc7a35b7-83bd-3c1f-ecfa-1b8de9e7f7d2",
    "detail-type": "GuardDuty Malware Protection Resource Status Error",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2017-12-22T18:43:48Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-02-28T01:01:01Z",
        "s3BucketDetails": {
            "bucketName": "amzn-s3-demo-bucket"
        },
        "resourceStatus": "ERROR",
        "statusReasons": [
        {
            "code": "EVENTBRIDGE_MANAGED_EVENTS_DELIVERY_DISABLED"
        }
       ]
    }
}
```

`resourceStatus` `ERROR` 뒤에 있는 이유에 따라 `statusReasons` 값이 채워집니다.

다음 경고 및 오류에 대한 문제 해결 단계에 대한 자세한 내용은 [맬웨어 방지 계획 상태 문제 해결](troubleshoot-s3-malware-protection-status-errors.md)을 참조하세요.

### S3 객체 스캔 결과
<a name="s3-object-scan-status-malware-protection-s3-ev"></a>

```
{
  "detail-type": ["GuardDuty Malware Protection Object Scan Result"],
  "source": ["aws.guardduty"]
}
```

**`NO_THREATS_FOUND`용 샘플 알림 스키마**

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0171419",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "COMPLETED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "NO_THREATS_FOUND",
            "threats": null
        }
    }
}
```

**`THREATS_FOUND`용 샘플 알림 스키마**

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0171419",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "COMPLETED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "THREATS_FOUND",
            "threats": [
                {
                    "name": "EICAR-Test-File (not a virus)"
                }
            ]
        }
    }
}
```

**참고**  
`scanResultDetails.Threats` 필드에는 하나의 위협만 포함됩니다. 기본적으로 S3용 멀웨어 방지 스캔은 처음 탐지된 위협을 보고합니다. 그런 다음 `scanStatus`가 `COMPLETED`로 설정됩니다.

**스캔 결과 상태 `UNSUPPORTED`에 대한 샘플 알림 스키마(건너뜀)**:

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0EXAMPLE",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "SKIPPED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "UNSUPPORTED",
            "threats": null
        }
    }
}
```

**스캔 결과 상태 `ACCESS_DENIED`에 대한 샘플 알림 스키마(건너뜀)**:

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0EXAMPLE",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "SKIPPED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "ACCESS_DENIED",
            "threats": null
        }
    }
}
```

**스캔 결과 상태 `FAILED`에 대한 샘플 알림 스키마**:

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0EXAMPLE",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "FAILED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "FAILED",
            "threats": null
        }
    }
}
```

### 스캔 후 태그 실패 이벤트
<a name="post-tag-failure-malware-protection-s3-ev"></a>

**이벤트 패턴**:

```
{
      "detail-type": "GuardDuty Malware Protection Post Scan Action Failed",
      "source": "aws.guardduty"
 }
```

**`ACCESS_DENIED`용 샘플 알림 스키마**

```
{
    "version": "0",
    "id": "746acd83-d75c-5b84-91d2-dad5f13ba0d7",
    "detail-type": "GuardDuty Malware Protection Post Scan Action Failed",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-06-10T16:16:08Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-06-10T16:16:08Z",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "2024-03-10-16-16-00-7D723DE8DBE9Y2E0",
            "eTag": "0e9eeec810ad8b61d69112c15c2a5hb6",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "postScanActions": [{
            "actionType": "TAGGING",
            "failureReason": "ACCESS_DENIED"
        }]
    }
}
```

**`MAX_TAG_LIMIT_EXCEEDED`용 샘플 알림 스키마**

```
{
    "version": "0",
    "id": "746acd83-d75c-5b84-91d2-dad5f13ba0d7",
    "detail-type": "GuardDuty Malware Protection Post Scan Action Failed",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-06-10T16:16:08Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-06-10T16:16:08Z",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "2024-03-10-16-16-00-7D723DE8DBE9Y2E0",
            "eTag": "0e9eeec810ad8b61d69112c15c2a5hb6",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "postScanActions": [{
            "actionType": "TAGGING",
            "failureReason": "MAX_TAG_LIMIT_EXCEEDED"
        }]
    }
}
```

이러한 장애 원인을 해결하려면 [S3 객체 스캔 후 태그 오류 문제 해결](troubleshoot-s3-post-scan-tag-failures.md)을 참조하세요.

# GuardDuty 관리 태그를 사용한 S3 객체 스캔 모니터링
<a name="monitor-enable-s3-object-tagging-malware-protection"></a>

악성코드 검사를 완료한 후 GuardDuty가 Amazon S3 객체에 태그를 추가할 수 있도록 태그 활성화 옵션을 사용하세요.

**태그 지정 활성화 시 고려 사항**
+ GuardDuty가 S3 객체에 태그를 지정할 때 관련 사용 비용이 발생합니다. 자세한 내용은 [S3용 맬웨어 보호의 가격 및 사용 비용](pricing-malware-protection-for-s3-guardduty.md) 단원을 참조하십시오.
+ 이 버킷과 연결된 기본 설정 IAM 역할에 필요한 태그 지정 권한을 유지해야 하며, 그렇지 않으면 GuardDuty가 스캔한 객체에 태그를 추가할 수 없습니다. IAM 역할에는 스캔한 S3 객체에 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다. 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md) 단원을 참조하십시오.
+ 기본적으로 최대 10개의 태그를 S3 객체에 연결할 수 있습니다. 자세한 내용은 [태그 기반 액세스 제어(TBAC) 사용](tag-based-access-s3-malware-protection.md) 단원을 참조하십시오.

S3 버킷 또는 특정 접두사에 대해 태그 지정을 활성화하면 새로 업로드된 모든 객체가 스캔될 때 다음 키-값 쌍 형식으로 연결된 태그를 갖게 됩니다.

`GuardDutyMalwareScanStatus`:`Scan-Result-Status`

잠재적 태그 값에 대한 자세한 내용은 [S3 객체 전위 스캔 상태 및 결과 상태](monitoring-malware-protection-s3-scans-gdu.md#s3-object-scan-result-value-malware-protection)을 참조하세요.

# S3용 멀웨어 방지에서 S3 객체 사후 검사 태그 실패 문제 해결
<a name="troubleshoot-s3-post-scan-tag-failures"></a>

이 섹션은 보호 버킷에 [스캔된 객체에 대한 태그 지정 활성화](enable-malware-protection-s3-bucket.md#tag-scanned-objects-s3-malware-protection)인 경우에만 적용됩니다.

GuardDuty가 스캔한 S3 객체에 태그를 추가하려고 할 때 태그 작업은 실패로 이어질 수 있습니다. 버킷에 이러한 문제가 발생할 수 있는 잠재적 이유는 `ACCESS_DENIED` 및 `MAX_TAG_LIMIT_EXCEEDED`입니다. 다음 항목을 사용하여 이러한 스캔 후 태그 실패 사유의 잠재적 원인을 파악하고 문제를 해결하세요.

**ACCESS\$1DENIED**  
다음 목록에는 이 문제를 일으킬 수 있는 잠재적인 원인이 나와 있습니다.  
+ 이 보호된 S3 버킷에 사용되는 IAM 역할에 **AllowPostScanTag** 권한이 없습니다. 연결된 IAM 역할이 이 버킷 정책을 사용하는지 확인합니다. 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md) 단원을 참조하십시오.
+ 보호된 S3 버킷 정책은 GuardDuty가 이 객체에 태그를 추가하는 것을 허용하지 않습니다.
+ 스캔한 S3 객체가 더 이상 존재하지 않습니다.

**MAX\$1TAG\$1LIMIT\$1EXCEEDED**  
기본적으로 최대 10개의 태그를 S3 객체에 연결할 수 있습니다. 자세한 내용은 [스캔된 객체에 대한 태그 지정 활성화](enable-malware-protection-s3-bucket.md#tag-scanned-objects-s3-malware-protection) 아래의 S3 객체에 태그를 추가하려면 GuardDuty 고려 사항을 참조하세요.

# CloudWatch의 S3 객체 스캔 상태 지표
<a name="monitor-cloudwatch-metrics-s3-malware-protection"></a>

원시 데이터를 수집하여 읽기 가능한 실시간에 가까운 지표로 처리하는 CloudWatch를 사용하여 GuardDuty를 모니터링할 수 있습니다. 이러한 통계는 15개월 동안 유지되므로 과거 정보에 액세스하여 S3용 맬웨어 보호의 성능을 더 잘 파악할 수 있습니다. 특정 임계값을 주시하다가 해당 임계값이 충족될 때 알림을 전송하거나 조치를 취하도록 경보를 설정할 수도 있습니다. 자세한 내용은 [Amazon CloudWatch 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)를 참조하세요.

S3용 맬웨어 방지에 대한 CloudWatch 지표는 리소스 수준에서 사용할 수 있습니다. 보호되는 각 리소스에 대해 이러한 메트릭을 개별적으로 쿼리할 수 있습니다. 지표는 `AWS/GuardDuty/MalwareProtection` 네임스페이스에 보고됩니다. 특정 리소스에 대한 알람을 설정하여 보안 상태를 모니터링할 수 있습니다.


| 
| 
| **맬웨어 스캔 상태 지표**  | 
| --- |
|  **지표**  |  **설명**  | 
|  `CompletedScanCount`  |  지정된 시간 프레임에 완료된 S3 객체 멀웨어 스캔의 수입니다. 유효한 차원:   `Malware Protection Plan Id` `Resource Name`   단위: 개  | 
|  `FailedScanCount`  |  지정된 기간 동안 실패한 S3 객체 멀웨어 스캔의 수입니다. **유효한 차원**:   `Malware Protection Plan Id` `Resource Name`   단위: 개  | 
|  `SkippedScanCount`  |  지정된 기간 동안 건너뛴 S3 객체 멀웨어 검사 수입니다. **유효한 차원**:   `Malware Protection Plan Id` `Resource Name` `Skipped Reason`  잠재적 가치  `Unsupported`   `MissingPermissions`     단위: 개  | 
| **맬웨어 스캔 결과 지표**  | 
| --- |
|  `InfectedScanCount`  |  주어진 기간 동안 잠재적으로 악성일 수 있는 객체를 탐지한 S3 객체 멀웨어 스캔 횟수입니다. 유효한 차원:   `Malware Protection Plan Id` `Resource Name`   단위: 개  | 
|  `CompletedScanBytes`  |  주어진 시간 프레임에 스캔한 S3 객체 바이트 수입니다. 유효한 차원:   `Malware Protection Plan Id` `Resource Name`   단위: 개  | 

**참고**  
기본적으로 CloudWatch 메트릭의 통계는 AVG입니다.

S3용 멀웨어 차단 지표에 대해 지원되는 차원은 다음과 같습니다.


| 
| 
| **차원** | **설명** | 
| --- |--- |
|  맬웨어 보호 계획 ID  |  GuardDuty가 보호된 리소스에 대해 생성하는 맬웨어 방지 플랜 리소스와 연결된 고유 식별자입니다.  | 
|  리소스 이름  |  보호된 리소스의 이름입니다.  | 
|  건너뛴 이유  |  S3 객체 멀웨어 검사를 건너뛴 이유입니다.  잠재적 가치  `Unsupported`   `MissingPermissions`    | 

이러한 지표에 액세스하고 쿼리하는 방법에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch 지표 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)을 참조하세요.

경보 설정에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch 알람 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)을 참조하세요.

# 문제 해결
<a name="troubleshoot-s3-malware-protection"></a>

**Topics**
+ [맬웨어 방지 계획 상태 문제 해결](troubleshoot-s3-malware-protection-status-errors.md)
+ [온디맨드 맬웨어 스캔 문제 해결](troubleshoot-s3-malware-protection-on-demand.md)

# 맬웨어 방지 계획 상태 문제 해결
<a name="troubleshoot-s3-malware-protection-status-errors"></a>

보호 버킷의 경우 GuardDuty는 순위에 따라 **상태**를 표시합니다. 예를 들어, 보호된 버킷에 **오류** 및 **경고** 범주에 문제가 있는 경우 GuardDuty는 먼저 **오류** 상태와 연결된 문제를 표시합니다.

다음 목록에는 맬웨어 보호 요금제 상태에 대한 오류 및 경고가 포함되어 있습니다.

**오류**  
+ [이 S3 버킷에 대해 EventBridge 알림이 비활성화되었습니다.](#eventbridge-notification-disabled-malware-protection-s3-error)
+ [S3 버킷 이벤트를 수신하는 EventBridge 관리 규칙이 누락되었습니다.](#eventbridge-managed-rule-missing-malware-protection-s3-error)
+ [S3 버킷이 더 이상 존재하지 않음](#bucket-no-longer-exists-malware-protection-s3-error)

**경고**  
[테스트 객체를 배치할 수 없음](#unable-put-test-object-malware-protection-s3-warning)

## 이 S3 버킷에 대해 EventBridge 알림이 비활성화되었습니다.
<a name="eventbridge-notification-disabled-malware-protection-s3-error"></a>

연결된 상태 이유 코드는 `EVENTBRIDGE_MANAGED_EVENTS_DELIVERY_DISABLED`입니다.

**상태 세부 정보**  
GuardDuty는 이벤트 브리지를 사용하여 새 객체가 이 S3 버킷에 업로드될 때 알림을 받습니다. IAM 역할에 이 권한이 없습니다.

**문제 해결 단계**  
**옵션 1: IAM 역할에 다음 권한 문을 추가합니다.**  

```
{
          "Sid": "AllowEnableS3EventBridgeEvents",
          "Effect": "Allow",
          "Action": [
             "s3:PutBucketNotification",
             "s3:GetBucketNotification"
             ],
          "Resource": [
             "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
}
```
*amzn-s3-demo-bucket*을 Amazon S3 버킷 이름으로 바꿉니다.  

**옵션 2: Amazon S3 콘솔을 사용하여 EventBridge 알림 활성화하기**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. **버킷** 페이지의 **범용 버킷** 탭에서 이 오류와 연결된 버킷 이름을 선택합니다.

1. 버킷 페이지에서 **속성** 탭을 선택합니다.

1. **Amazon EventBridge** 섹션에서 **편집**을 선택합니다.

1. **Amazon EventBridge 편집** 페이지의 **이 버킷의 모든 이벤트에 대해 Amazon EventBridge에 알림 전송**에서 **켜기**를 선택합니다.

1. **변경 사항 저장**을 선택합니다.
**상태** 열 값이 **활성화**로 변경되는 데 몇 분 정도 걸릴 수 있습니다.

## S3 버킷 이벤트를 수신하는 EventBridge 관리 규칙이 누락되었습니다.
<a name="eventbridge-managed-rule-missing-malware-protection-s3-error"></a>

연결된 상태 이유 코드는 `EVENTBRIDGE_MANAGED_RULE_DISABLED`입니다.

 **상태 세부 정보**   
이벤트 브리지 규칙 설정을 관리하기 위한 이벤트 브리지 관리 규칙 권한이 누락되었습니다.

**문제 해결 단계**  
IAM 역할에 다음 권한 설명을 추가합니다.  

```
{
         "Sid": "AllowManagedRuleToSendS3EventsToGuardDuty",
        "Effect": "Allow",
        "Action": [
                "events:PutRule",
                "events:DeleteRule",
                "events:PutTargets",
                "events:RemoveTargets"
            ],
        "Resource": [
           "arn:aws:events:*:*:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*"
           ],
        "Condition": {
           "StringEquals": {
              "events:ManagedBy": "malware-protection-plan.guardduty.amazonaws.com"
              }
           }
}
```
**상태** 열 값이 **활성화**로 변경되는 데 몇 분 정도 걸릴 수 있습니다.

## S3 버킷이 더 이상 존재하지 않음
<a name="bucket-no-longer-exists-malware-protection-s3-error"></a>

연결된 상태 이유 코드는 `PROTECTED_RESOURCE_DELETED`입니다.

 **상태 세부 정보**   
이 S3 버킷은 계정에서 삭제되었으며 더 이상 존재하지 않습니다.

 **문제 해결 단계**   
S3 버킷을 의도적으로 삭제한 것이 아니라면 Amazon S3 콘솔을 사용하여 새 버킷을 만들 수 있습니다.  
버킷을 성공적으로 생성한 후 [버킷에 대한 S3용 맬웨어 보호 구성하기](configuring-malware-protection-for-s3-guardduty.md) 페이지의 단계에 따라 S3에 대한 맬웨어 방지를 활성화합니다.

## 테스트 객체를 배치할 수 없음
<a name="unable-put-test-object-malware-protection-s3-warning"></a>

연결된 상태 이유 코드는 `INSUFFICIENT_TEST_OBJECT_PERMISSIONS`입니다.

**참고**  
테스트 객체를 추가할 수 있는 권한은 선택 사항입니다. IAM 역할에 이 권한이 없어도 새로 업로드된 객체에 대한 맬웨어 보호가 S3용 맬웨어 검사를 시작하지 못합니다. 스캔이 성공적으로 시작된 후 맬웨어 보호 계획 **상태**가 **경고**에서 **활성화**로 변경되는 데 몇 분 정도 걸릴 수 있습니다.  
IAM 역할에 이미 이 권한이 포함되어 있는 경우, 이 경고는 IAM 액세스 권한이 이 S3 버킷에 테스트 객체를 넣는 것을 허용하지 않는 제한적인 Amazon S3 버킷 정책을 나타냅니다.

**상태 세부 정보**  
선택한 버킷의 설정을 검증하기 위해 GuardDuty는 버킷에 테스트 객체를 넣습니다.

**문제 해결 단계**  
누락된 권한을 포함하도록 IAM 역할을 업데이트하도록 선택할 수 있습니다. 선택한 IAM 역할에 다음 권한을 추가하여 GuardDuty가 테스트 객체를 선택한 리소스에 배치할 수 있도록 합니다.  

```
{
         "Sid": "AllowPutValidationObject",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject"
           ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/malware-protection-resource-validation-object"
           ]
}
```
*amzn-s3-demo-bucket*을 Amazon S3 버킷 이름으로 바꿉니다. IAM 역할 권한에 대한 자세한 내용은 [IAM 역할 정책 생성 또는 업데이트](malware-protection-s3-iam-policy-prerequisite.md)를 참조하세요.  
**상태** 열 값이 **활성화**로 변경되는 데 몇 분 정도 걸릴 수 있습니다.

# 온디맨드 맬웨어 스캔 문제 해결
<a name="troubleshoot-s3-malware-protection-on-demand"></a>

## 스캔을 시작할 수 없습니다.
<a name="w2aac23c33b7b3"></a>

스캔 요청에 유효한 입력이 포함되어 있고 버킷에 대해 맬웨어 보호 계획이 활성화되어 있는지 확인하세요.

# 보호된 버킷에 대한 맬웨어 보호 플랜 편집하기
<a name="edit-malware-protection-protected-s3-bucket"></a>

기본 설정 IAM 권한 정책을 편집하거나, 스캔한 S3 객체의 태그 지정을 사용 또는 사용하지 않도록 설정하거나, S3 객체 접두사를 추가 또는 제거해야 할 수도 있습니다. 예를 들어 버킷에 대해 S3용 맬웨어 보호를 사용 설정한 경우, 스캔한 S3 객체에 스캔 결과 태그를 지정하지 않기로 결정했습니다. 그러나 이제 GuardDuty가 미리 정의된 태그와 스캔 결과를 태그 값으로 추가하기를 원합니다.

선호하는 액세스 방법을 선택하여 보호된 S3 버킷에 대한 맬웨어 보호 요금제를 업데이트하세요.

------
#### [ Console ]

**맬웨어 보호 계획을 편집하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) GuardDuty 콘솔을 엽니다.

1. 탐색 창에서 **S3용 맬웨어 보호**를 선택합니다.

1. **보호 버킷**에서 기존 구성을 편집할 버킷을 선택합니다.

1. **편집**을 선택합니다.

1. 버킷의 기존 구성 및 설정을 업데이트하고 변경 사항을 확인합니다. 각 섹션의 설명 및 단계에 대한 자세한 내용은 [버킷에 S3용 맬웨어 방지 사용 설정하기](enable-malware-protection-s3-bucket.md)을 참조하세요.

   이 보호 버킷의 **상태** 열을 모니터링합니다. **경고** 또는 **오류**로 표시되는 경우 [맬웨어 방지 계획 상태 문제 해결](troubleshoot-s3-malware-protection-status-errors.md)을 참조하세요.

------
#### [ API/CLI ]

**API 또는를 사용하여 맬웨어 보호 계획을 편집하려면 AWS CLI**
+ **API를 사용하여**

  이 플랜 리소스와 연결된 맬웨어 방지 플랜 ID를 사용하여 [UpdateMalwareProtectionPlan](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_UpdateMalwareProtectionPlan.html) API를 실행하세요.

  특정 리전에서 맬웨어 보호 계획 ID를 검색하려면 해당 리전에서 [ListMalwareProtectionPlans](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListMalwareProtectionPlans.html) API를 실행할 수 있습니다.
+ **를 사용하여 AWS CLI**

  다음 목록은 맬웨어 보호 플랜 리소스를 업데이트하는 AWS CLI 예제 명령을 제공합니다. S3 버킷과 연결된 맬웨어 보호 요금제 ID가 필요합니다.

**AWS CLI 예제 명령**
  + 다음 AWS CLI 명령을 사용하여 S3 버킷과 연결된 맬웨어 보호 플랜 리소스에 대한 태그 지정을 **활성화하거나 비활성화**합니다.

    ```
    aws guardduty update-malware-protection-plan --malware-protection-plan-id 4cc8bf26c4d75EXAMPLE --actions "Tagging"={"Status"="ENABLED|DISABLED"}
    ```
  + 다음 AWS CLI 명령을 사용하여 S3 버킷과 연결된 맬웨어 보호 계획 리소스에 **객체 접두사를 추가합니다**.

    ```
    aws guardduty update-malware-protection-plan --malware-protection-plan-id 4cc8bf26c4d75EXAMPLE --protected-resource "S3Bucket"={"ObjectPrefixes"=["amzn-s3-demo-1", "amzn-s3-demo-2"]}
    ```

    이 명령에 기존 객체 접두사를 포함해야 합니다. 그렇지 않으면 GuardDuty는 맬웨어 보호 플랜 리소스를 편집할 때 해당 접두사를 제거합니다.
  + 다음 AWS CLI 명령을 사용하여 S3 버킷과 연결된 맬웨어 보호 계획 리소스에서 **객체 접두사를 제거합니다**.

    ```
    aws guardduty update-malware-protection-plan --malware-protection-plan-id 4cc8bf26c4d75EXAMPLE --protected-resource "S3Bucket"={"ObjectPrefixes"=[""]}
    ```

  이 리소스에 대한 맬웨어 보호 플랜 ID가 아직 없는 경우 다음 AWS CLI 명령을 실행하고 *us-east-1*을 맬웨어 보호 플랜 IDs.

  ```
  aws guardduty list-malware-protection-plans --region us-east-1
  ```

------

# 보호된 버킷에 대한 S3에 대한 맬웨어 보호 비활성화
<a name="disable-malware-s3-protected-bucket"></a>

보호된 버킷에 대해 S3용 맬웨어 보호를 비활성화하면 GuardDuty는 해당 버킷과 연결된 맬웨어 보호 플랜 ID를 삭제합니다. 이 버킷 또는 선택한 오브젝트 접두사 중 하나에 새 오브젝트가 업로드되면 GuardDuty는 더 이상 멀웨어 검사를 시작하지 않습니다.

GuardDuty를 활성화하고 이제 GuardDuty 일시 중지하거나 비활성화하려는 경우 [GuardDuty 일시 중지 또는 비활성화](guardduty_suspend-disable.md)을 참조하세요. S3용 맬웨어 보호에는 감지기 ID 개념이 없으므로 GuardDuty를 비활성화하거나 일시 중지해도 계정의 보호 버킷 상태에는 영향을 **주지 않습니다**. 관련 표준 요금제를 사용하여 S3용 맬웨어 보호 기능을 독립적으로 계속 사용할 수 있습니다. 자세한 내용은 [S3용 맬웨어 보호에 대한 사용 비용 검토사용 비용 검토](usage-cost-malware-protection-s3-gdu.md) 단원을 참조하십시오. S3용 맬웨어 보호 사용을 중지하려면 계정의 모든 보호된 버킷에 대해 맬웨어 보호를 비활성화해야 합니다. GuardDuty를 계속 사용하고 버킷에 대해 S3용 맬웨어 보호만 비활성화하려는 경우 다음 단계를 수행해도 GuardDuty 서비스 구성 및 사용 설정한 다른 보호 플랜에는 영향을 미치지 않습니다.

보호된 S3 버킷에서 선호하는 액세스 방법을 선택하여 S3용 멀웨어 보호를 비활성화하세요.

------
#### [ Console ]

**GuardDuty 콘솔을 사용하여 S3에 대한 맬웨어 방지를 비활성화하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/) GuardDuty 콘솔을 엽니다.

1. 탐색 창에서 **S3용 맬웨어 보호**를 선택합니다.

1. **보호 버킷** 에서 S3에 대한 맬웨어 보호를 비활성화할 버킷을 선택합니다.

   한 번에 하나의 보호 버킷만 선택할 수 있습니다. 두 개 이상의 버킷에 대해 S3용 맬웨어 보호를 비활성화하려면 다른 S3 버킷에 대해 이 단계를 다시 따르세요.

1. **비활성화**를 선택하여 선택을 확인합니다.

------
#### [ API/CLI ]

**API 또는를 사용하여 S3용 맬웨어 보호를 비활성화하려면 AWS CLI**
+ **API를 사용하여**

  이 플랜 리소스와 연결된 맬웨어 방지 플랜 ID를 사용하여 [DeleteMalwareProtectionPlan](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteMalwareProtectionPlan.html) API를 실행하세요.

  맬웨어 보호 계획 ID를 검색하려면 [ListMalwareProtectionPlans](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListMalwareProtectionPlans.html) API를 실행할 수 있습니다.
+ **를 사용하여 AWS CLI**

  또는 다음 AWS CLI 명령을 실행하여 *4cc8bf26c4d75EXAMPLE*을이 S3 버킷과 연결된 맬웨어 보호 플랜 ID로 대체하여 S3용 맬웨어 보호를 비활성화할 수 있습니다.

  ```
  aws guardduty delete-malware-protection-plan --malware-protection-plan-id 4cc8bf26c4d75EXAMPLE
  ```

  이 S3 버킷에 대한 맬웨어 보호 플랜 ID가 아직 없는 경우 다음 AWS CLI 명령을 실행하고 *us-east-1*을 맬웨어 보호 플랜 IDs.

  ```
  aws guardduty list-malware-protection-plans --region us-east-1
  ```

------

# Amazon S3 기능의 지원 가능성
<a name="supported-s3-features-malware-protection-s3"></a>

다음 표에는 S3용 맬웨어 보호가 나열된 Amazon S3 기능을 지원하는지 여부가 명시되어 있습니다.


| S3 기능 이름 | 지원을 받을 수 있나요? | 설명 | 
| --- | --- | --- | 
|  S3 스토리지 클래스 - S3 표준 S3 스토리지 클래스 - S3 표준-빈번하지 않은 액세스 S3 스토리지 클래스 - S3 One Zone-빈번하지 않은 액세스 S3 스토리지 클래스 - S3 Glacier 인스턴트 검색  |  예  |  S3 객체는 비동기적으로 복원하지 않고도 검색할 수 있습니다.  | 
|  S3 스토리지 클래스 - S3 인텔리전트 계층화  |  조건부  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/supported-s3-features-malware-protection-s3.html)  | 
|  S3 스토리지 클래스 - S3 Express One Zone(디렉토리 버킷)  |  아니요  |  GuardDuty는 S3용 멀웨어 보호를 위한 범용 버킷만 지원합니다.  | 
|  S3 스토리지 클래스 - S3 Glacier 유연한 검색 S3 스토리지 클래스 - S3 글레이셔 딥 아카이브  |  아니요  |  S3 객체에 액세스하려면 먼저 복원해야 합니다.  | 
|  Outposts에서의 Amazon S3  |  아니요  |  S3용 맬웨어 보호는 Outposts에서 지원되지 않습니다.  | 
|  S3 버전 관리  |  예  |  업로드된 모든 S3 객체가 맬웨어에 대해 스캔됩니다. 파일 버전 v1로 객체를 업로드하고 즉시 v2로 다른 버전 오버라이드를 업로드한 경우 GuardDuty는 객체 파일 버전 v1과 v2를 모두 검사합니다. 그러나 스캔 시작 시간은 동일한 순서가 아닐 수 있습니다.  | 
|  S3 복제 - 복제된 객체 스캔  |  예  |  대상 버킷이 보호된 리소스인 경우 GuardDuty는 보호 및 모니터링되는 접두사에 복제된 모든 S3 객체를 스캔합니다.  | 
|  S3 복제: 스캔 결과 태그에서 복제  |  아니요  |  스캔 결과 태그를 기반으로 복제 규칙을 정의할 수 없습니다. Amazon S3는 생성 시를 제외하고 태그에 대한 복제를 지원하지 않습니다.  | 
|  데이터 암호화 - S3-SSE 데이터 암호화 - SSE-KMS 데이터 암호화 - DSSE-KMS AWS KMS - 고객 관리형 키  |  예  |  GuardDuty는 관리형 및 고객 관리형 키로 암호화된 S3 객체에 대한 맬웨어 검사를 지원합니다. IAM 역할에 키를 사용할 수 있는 권한이 포함되어 있는지 확인하세요. 자세한 내용은 [IAM 정책 권한 추가](malware-protection-s3-iam-policy-prerequisite.md#attach-iam-policy-s3-malware-protection) 단원을 참조하십시오.  | 
|  데이터 암호화 - SSE-C  |  아니요  |  S3용 멀웨어 보호는 액세스할 수 없는 키로 암호화된 S3 객체에 대한 스캔을 지원하지 않습니다.  | 
|  클라이언트 측 암호화  |  아니요  |  Amazon S3 암호화 클라이언트를 사용하여 Amazon S3 객체를 암호화하면 AWS를 포함한 어떤 타사에도 객체가 노출되지 않습니다. 이 기능이 지원되지 않는 이유에 대한 자세한 내용은 [클라이언트측 암호화를 사용하여 데이터 보호](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html)를 참조하세요.  CSE-KMS 암호화된 객체는 암호화를 확인할 수 없는 암호화된 blob으로 수신됩니다. 따라서 GuardDuty는 수신 시 이를 처리하고 암호화된 blob을 일반 파일로 스캔합니다. GuardDuty는 [S3용 맬웨어 보호의 할당량](malware-protection-s3-quotas-guardduty.md)가 초과하지 않는 한 해당 객체에 대해 `UNSUPPORTED` 스캔 상태를 반환하지 않습니다.   | 
|  S3 객체 잠금 및 법적 보류  |  예  |  잠긴 S3 객체는 WORM - Write Once Read Many를 기반으로 잠깁니다. S3용 맬웨어 보호는 객체에 액세스하고 스캔할 수 있습니다.  | 
|  요청자 지불  |  예  |  S3용 맬웨어 보호는 *요청자 지불*로 설정된 버킷을 스캔할 수 있습니다. 요청자는 S3 호출 비용을 지불합니다. 자세한 내용은 *Amazon S3 사용 설명서*의 [스토리지 전송 및 사용량에 대한 요청자 지불액 버킷 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html)을 참조하세요.  | 
|  S3: 스토리지 수명 주기  |  예  |  스캔 결과 태그를 기반으로 수명 주기 정책을 정의할 수 있습니다. 예를 들어 악성 객체를 자동 삭제합니다. 수명 주기 구성에 대한 자세한 내용은 *Amazon S3 사용 설명서*의 [스토리지 수명 주기 관리](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)를 참조하세요.  | 
|  S3: 태그 기반 액세스 제어(TBAC)  |  예  |  S3 객체 스캔 결과 태그를 기반으로 버킷 리소스 정책을 정의할 수 있습니다. 예를 들어, 아직 검사되지 않은 S3 객체 또는 GuardDuty가 탐지한 위협에 대한 액세스를 차단합니다. 자세한 내용은 [S3용 맬웨어 보호와 함께 태그 기반 액세스 제어(TBAC) 사용](tag-based-access-s3-malware-protection.md) 단원을 참조하십시오.  | 

# S3용 맬웨어 보호의 할당량
<a name="malware-protection-s3-quotas-guardduty"></a>

이 섹션에서는 기본 할당량, 흔히 한도라고 하는 기본 할당량을 제공합니다. 지정하지 않는 한, 각 할당량은 리전별로 다릅니다. 기본 GuardDuty 서비스 사용과 관련된 기본 할당량을 보려면 [Amazon GuardDuty에 대한 할당량](guardduty_limits.md) 섹션을 참조하세요.

다음 표에서는 AWS 계정에 적용할 여러 할당량을 설명합니다.


| 할당량 이름 | AWS 기본 할당량 값 | 조정이 가능한가요? | 설명 | 
| --- | --- | --- | --- | 
|  최대 S3 객체 크기  |  100GB  |  아니요  |  GuardDuty가 맬웨어를 스캔하려고 시도하는 최대 S3 객체 크기입니다. 이 할당량은 조정할 수 없지만 더 큰 객체를 스캔해야 하는 경우 AWS Support 에 문의하여 GuardDuty가 사용 사례의 할당량을 늘릴 수 있는지 확인하세요.  | 
|  추출된 아카이브 바이트  |  100GB  |  아니요  |  GuardDuty가 아카이브 파일에서 추출하고 분석할 수 있는 최대 데이터 용량입니다. GuardDuty는 아카이브 파일 추출을 100GB 이상으로 건너뜁니다.  | 
|  추출된 아카이브 파일  |  10,000  |  아니요  |  GuardDuty가 아카이브 파일에서 추출 및 분석할 수 있는 최대 파일 수. 아카이브에 10,000개가 넘는 파일이 포함되어 있는 경우 GuardDuty는 보관된 파일을 건너뛰어야 합니다.  복합 파일 유형에는 이러한 제한이 적용될 수 있습니다. 파일 유형에는 다목적 인터넷 메일 확장(MIME) 인코딩 이메일 메시지, 컴파일된 Python(PYC) 파일, 컴파일된 HTML 도움말(CHM) 파일, 모든 설치 관리자 및 OpenDocument 형식(ODF) 문서가 포함되지만 이에 국한되지 않습니다.   | 
|  최대 아카이브 깊이 수준  |  5  |  아니요  |  GuardDuty가 추출할 수 있는 중첩 아카이브의 최대 수준입니다. 아카이브에 이 값 이상으로 중첩된 파일이 포함된 경우 GuardDuty는 중첩된 파일을 건너뜁니다.  | 
|  최대 보호 버킷 수  |  25  |  아니요  |  S3용 맬웨어 보호를 사용하도록 설정할 수 있는 최대 S3 버킷 수입니다. 이 할당량 제한은 각 리전의 계정당 적용됩니다.  | 