

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Malware Protection for S3 の仕組み
<a name="how-malware-protection-for-s3-gdu-works"></a>

このセクションでは、Malware Protection for S3 のコンポーネント、S3 バケットでコンポーネントを有効にした後の動作、マルウェアスキャンのステータスと結果を確認する方法について説明します。

## 概要:
<a name="overview-how-malware-protection-s3-works"></a>

自分の AWS アカウントに属する Amazon S3 バケットに対して Malware Protection for 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>

GuardDuty がユーザーに代わってマルウェアスキャンアクションを実行できるようにするには、Malware Protection for S3 で IAM ロールを使用します。マルウェアスキャンには、選択したバケットに新規にアップロードされたオブジェクトを通知する、そうしたオブジェクトをスキャンする、スキャンしたオブジェクトにオプションでタグを追加するといったアクションがあります。これは、この機能で S3 バケットを設定するための前提条件となります。

必要に応じて既存の IAM ロールを更新したり、そのために新しいロールを作成したりできます。複数のバケットに対して Malware Protection for S3 を有効にするときに、必要に応じて既存の IAM ロールを更新して他のバケットの名前を含めることができます。詳細については、「[IAM ロールポリシーの作成または更新](malware-protection-s3-iam-policy-prerequisite.md)」を参照してください。

## 必要に応じてスキャン結果に基づいてオブジェクトにタグを追加する
<a name="enable-optional-tagging-malware-protection-s3"></a>

スキャンされた S3 オブジェクトへのタグ付けを有効にできる手順があり、バケットに対して Malware Protection for S3 を有効にするときに必要に応じて実行できます。IAM ロールには、スキャン後にオブジェクトにタグを追加するためのアクセス許可が既に含まれています。ただし、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 オブジェクトのスキャン結果を確認できる方法の 1 つが、タグ付けを有効にすることです。さらにこうしたタグを使用してタグベースのアクセスコントロール (TBAC) S3 リソースポリシーを追加することで、悪意の可能性があるオブジェクトに対策を講じることができます。詳細については、「[S3 バケットリソースへの TBAC の追加](tag-based-access-s3-malware-protection.md#apply-tbac-s3-malware-protection)」を参照してください。

バケットに対して Malware Protection for S3 を設定するときに、タグ付けを有効にすることをお勧めします。オブジェクトがアップロードされた後でタグ付けを有効にしても、スキャンが始まっている可能性があり、スキャンされたオブジェクトにタグが追加されることはありません。関連する S3 オブジェクトのタグ付けコストについては、「[Malware Protection for S3 の料金と使用コスト](pricing-malware-protection-for-s3-guardduty.md)」を参照してください。

## バケットに対して Malware Protection for S3 を有効にした後のプロセス
<a name="after-enabling-malware-protection-s3"></a>

Malware Protection for S3 を有効にすると、選択されている S3 バケット専用の **Malware Protection プランリソース**が作成されます。このリソースは、保護されたリソースを一意に識別する Malware Protection プラン ID に関連付けられます。GuardDuty は、IAM アクセス許可のいずれかを使用して、EventBridge マネージドルールを `DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*` という名前で作成および管理します。

### GuardDuty のデータ処理の仕組み - データ保護のガードレール
<a name="guardduty-data-protection-guardrails-malware-protection-s3"></a>

Malware Protection for S3 は、Amazon EventBridge 通知をリッスンします。オブジェクトが選択されているバケットまたはいずれかのプレフィックスにアップロードされると、GuardDuty が [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html) を使用して S3 バケットからそのオブジェクトをダウンロードし、同じリージョン内の分離された環境で読み取り、復号化してスキャンします。スキャン環境は、インターネットへのアクセスがないロックダウンされた仮想プライベートクラウド (VPC) で動作します。VPC は、 AWS が所有する許可リストに登録されたドメインへの通信のみを許可する DNS Firewall ルールグループにアタッチされます。スキャンが終了するまで、ダウンロードされた S3 オブジェクトがスキャン環境内に [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) キーで暗号化されて一時的に保存されます。

**注記**  
デフォルトでは、「*Amazon S3 ユーザーガイド*」の「[Object Created Event type](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html)」にリストされているすべての Amazon S3 API が Malware Protection for S3 スキャンを開始します。  
こうした*イベントタイプ*には、[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)、[POST Object](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 は毎回スキャン環境をクリーンにします。オペレータがスキャン環境にアクセスする際には条件付き認可を実施し、すべてのアクセスリクエストが確認、承認、監査されます。

### S3 オブジェクトスキャンのステータスと結果の確認
<a name="guardduty-publishing-s3-object-malware-scan-status"></a>

GuardDuty は、S3 オブジェクトスキャン結果イベントを Amazon EventBridge のデフォルトのイベントバスに発行します。また、スキャンされたオブジェクトの数やスキャンされたバイトといったスキャンメトリクスを Amazon CloudWatch に送信します。タグ付けを有効にすると、事前定義の `GuardDutyMalwareScanStatus` タグが追加されるほか、スキャン結果がタグ値として追加される可能性もあります。

**重要**  
GuardDuty は at-least-once 配信を使用します。つまり、同じオブジェクトに対して複数のスキャン結果を受け取る可能性があります。アプリケーションは、重複した結果を処理できるように設計することをお勧めします。スキャンされた各オブジェクトには 1 回だけ課金されます。

詳細については、「[Malware Protection for S3 での S3 オブジェクトスキャンのモニタリング](monitoring-malware-protection-s3-scans-gdu.md)」を参照してください。

### 生成された検出結果の確認
<a name="guardduty-malware-protection-s3-finding-detection"></a>

検出結果の確認は、GuardDuty で Malware Protection for S3 を使用しているかどうかによって異なります。次のシナリオを考えてみてください。

**GuardDuty サービスが有効になっているときに Malware Protection for S3 を使用する (ディテクター ID)**  
マルウェアスキャンによって S3 オブジェクト内で悪意の可能性があるファイルが検出されると、それに応じた検出結果が生成されます。検出結果の詳細を確認し、推奨手順に従って検出結果を修復できる可能性があります。[検出結果をエクスポートする頻度](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_exportfindings.html#guardduty_exportfindings-frequency)に基づいて、生成された検出結果が S3 バケットと EventBridge イベントバスにエクスポートされます。  
生成される検出結果タイプについては、「[Malware Protection for S3 の検出結果タイプ](gdu-malware-protection-s3-finding-types.md)」を参照してください。

**Malware Protection for S3 を独立した機能として使用する (ディテクター ID なし)**  
関連付けられたディテクター ID がないため、GuardDuty は検出結果を生成できません。S3 オブジェクトマルウェアスキャンのステータスを確認するには、デフォルトのイベントバスに自動的に発行されるスキャン結果を表示します。また、CloudWatch メトリクスを表示して、GuardDuty がスキャンしようとしたオブジェクトとバイトの数を評価することもできます。CloudWatch アラームを設定して、スキャン結果が通知されるようにすることができます。S3 オブジェクトのタグ付けを有効にしている場合は、S3 オブジェクトの `GuardDutyMalwareScanStatus` タグキーとスキャン結果のタグ値をチェックして、マルウェアスキャンのステータスを確認することもできます。  
S3 オブジェクトスキャンのステータスと結果については、「[Malware Protection for S3 での S3 オブジェクトスキャンのモニタリング](monitoring-malware-protection-s3-scans-gdu.md)」を参照してください。