

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

# Lightsail のオブジェクトストレージバケットを保護する
<a name="amazon-lightsail-bucket-security-best-practices"></a>

Amazon Lightsail オブジェクトストレージには、独自のセキュリティポリシーを開発および実装する際に考慮する必要のあるいくつかのセキュリティ機能が用意されています。以下のベストプラクティスは一般的なガイドラインであり、完全なセキュリティソリューションを説明するものではありません。これらのベストプラクティスはお客様の環境に適切ではないか、十分ではない場合があるため、これらは指示ではなく、有用な考慮事項と見なしてください。

**Contents**
+ [予防的セキュリティのベストプラクティス](#bucket-security-best-practices-preventative-practices)
  + [最小特権アクセスの実装](#bucket-security-best-practices-least-privilege-access)
  + [Lightsail バケットがパブリックにアクセス可能ではないことを確認する](#bucket-security-best-practices-verify-bucket-permissions)
  + [Amazon S3 でパブリックアクセスのブロックを有効にする](#bucket-security-best-practices-block-public-access)
  + [バケットにインスタンスを添付して、プログラムによる完全なアクセスを付与する](#bucket-security-best-practices-attach-instances)
  + [バケットのアクセスキーをローテーションする](#bucket-security-best-practices-rotate-bucket-access-keys)
  + [クロスアカウントアクセスを使用して、他の AWS アカウントにバケット内のオブジェクトへのアクセスを許可する](#bucket-security-best-practices-cross-account-access)
  + [データの暗号化](#bucket-security-best-practices-data-encryption)
  + [バージョニングの有効化](#bucket-security-best-practices-enable-versioning)
+ [モニタリングと監査のベストプラクティス](#bucket-security-best-practices-monitoring-auditing)
  + [アクセスログ記録を有効にし、セキュリティとアクセス監査を定期的に実行する](#bucket-security-best-practices-enable-access-logging)
  + [Lightsail バケットの特定、タグ付け、および監査](#bucket-security-best-practices-identify-tag)
  + [モニタリングツールを使用して AWS モニタリングを実装する](#bucket-security-best-practices-monitoring-tools)
  + [を使用する AWS CloudTrail](#bucket-security-best-practices-cloudtrail)
  + [AWS セキュリティアドバイザリのモニタリング](#bucket-security-best-practices-security-advisories)

## 予防的セキュリティのベストプラクティス
<a name="bucket-security-best-practices-preventative-practices"></a>

以下のベストプラクティスは、Lightsail バケットでセキュリティ問題を防ぐのに役立ちます。

### 最小特権アクセスの実装
<a name="bucket-security-best-practices-least-privilege-access"></a>

アクセス許可を付与する場合、どのユーザーにどの Lightsail リソースに対するアクセス許可を付与するかは、お客様が決定します。ユーザーは、それらのリソースで許可する特定のアクションを有効にします。そのため、タスクの実行に必要なアクセス許可のみを付与する必要があります。最小特権アクセスの実装は、セキュリティリスクと、エラーや悪意によってもたらされる可能性のある影響の低減における基本です。

バケットを管理するための IAM ポリシーの作成の詳細については、「[バケットを管理する IAM ポリシー](amazon-lightsail-bucket-management-policies.md)」を参照してください。Lightsail バケットでサポートされている Amazon S3 アクションの詳細については、Amazon Lightsail API リファレンスの「[オブジェクトストレージのアクション](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_Amazon_S3.html)」を参照してください。

### Lightsail バケットがパブリックにアクセス可能ではないことを確認する
<a name="bucket-security-best-practices-verify-bucket-permissions"></a>

デフォルトでは、 バケットとオブジェクトはプライベートです。バケットのアクセス許可セットを**すべてのオブジェクトはプライベート**に設定して、バケットをプライベートに保ちます。大部分のユースケースでは、バケットや個々のオブジェクトをパブリックにする必要はありません。詳細については「[バケット内の個々のオブジェクトに対するアクセス許可の設定](amazon-lightsail-configuring-individual-object-access.md)」を参照してください。

![\[Lightsail コンソールでのバケットアクセス許可\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permission-all-objects-private.png)


ただし、バケットを使用してウェブサイトやアプリケーションのメディアをホストしている場合は、特定のシナリオでは、バケットまたは個々のオブジェクトをパブリックにする必要があります。次のいずれかのオプションを設定して、バケットまたは個々のオブジェクトをパブリックにすることができます。
+ バケット内のオブジェクトの一部のみをインターネット上の誰にでもパブリック (読み取り専用) する必要がある場合は、バケットのアクセス許可を**個々のオブジェクトをパブリックにして読み取り専用にする**に変更し、パブリックにする必要があるオブジェクトのみを**パブリック (読み取り専用)**に変更します。このオプションはバケットをプライベートにしますが、個々のオブジェクトをパブリックにするオプションも提供します。パブリックにアクセスしたくない機密情報または秘密情報が含まれている場合は、個々のオブジェクトを公開しないでください。個々のオブジェクトをパブリックにする場合は、個々のオブジェクトのパブリックアクセシビリティを定期的に検証する必要があります。  
![\[Lightsail コンソールでのバケットアクセス許可\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permission-individual-objects-public.png)
+ バケット内のすべてのオブジェクトをインターネット上の誰にでもパブリック（読み取り専用）する必要がある場合は、バケットのアクセス許可を**すべてのオブジェクトはパブリックで読み取り専用**に変更します。バケット内のいずれかのオブジェクトに機密情報または秘密情報が含まれている場合は、このオプションを使用しないでください。  
![\[Lightsail コンソールでのバケットアクセス許可\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permission-all-objects-public.png)
+ 以前にバケットをパブリックに変更した場合、または個々のオブジェクトをパブリックに変更した場合は、バケットのアクセス許可を**すべてのオブジェクトはプライベート**に変更することで、バケットとそのすべてのオブジェクトをプライベートにすばやく変更できます。  
![\[Lightsail コンソールでのバケットアクセス許可\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permission-all-objects-private.png)

### Amazon S3 でパブリックアクセスのブロックを有効にする
<a name="bucket-security-best-practices-block-public-access"></a>

Lightsail オブジェクトストレージリソースは、パブリックアクセスを許可または拒否するときに、Lightsail バケットのアクセス許可と Amazon S3 アカウントレベルのブロックパブリックアクセス設定の両方を考慮するようになります。Amazon S3 アカウントレベルのブロックパブリックアクセスにより、アカウント管理者およびバケット所有者は、Amazon S3 および Lightsail バケットへのパブリックアクセスを一元的に制限できます。ブロックパブリックアクセスは、リソースがどのように作成され設定されているか、また設定されている可能性のある個々のバケットとオブジェクト権限にかかわらず、すべての Amazon S3 および Lightsail のバケットをプライベートにすることができます。詳細については、「[バケットに対するブロックパブリックアクセス](amazon-lightsail-block-public-access-for-buckets.md)」を参照してください。

### バケットにインスタンスを添付して、プログラムによる完全なアクセスを付与する
<a name="bucket-security-best-practices-attach-instances"></a>

Lightsail オブジェクトストレージバケットにインスタンスを添付するのは、バケットへのアクセスを提供する最も安全な方法です。**リソースアクセス**機能は、インスタンスをバケットにアタッチする方法であり、インスタンスにバケットへの完全なプログラムによるアクセスを付与します。この方法では、バケット認証情報をインスタンスまたはアプリケーションに直接保存する必要はなく、定期的に認証情報をローテーションする必要もありません。例えば、一部の WordPress プラグインは、インスタンスがアクセスできるバケットにアクセスできます。詳細については、「[バケットのリソースアクセスを設定する](amazon-lightsail-configuring-bucket-resource-access.md)」および「[チュートリアル: バケットを WordPress インスタンスに接続する](amazon-lightsail-connecting-buckets-to-wordpress.md)」を参照してください。

![\[Lightsail コンソールでのバケットリソースアクセス\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-resource-access-attached.png)


ただし、アプリケーションが Lightsail インスタンスにない場合は、バケットアクセスキーを作成して設定することができます。バケットアクセスキーは、自動的にローテーションされない長期的な認証情報です。詳細については、「[Lightsail オブジェクトストレージバケットのアクセスキーを作成する](amazon-lightsail-creating-bucket-access-keys.md)」を参照してください。

![\[Lightsail コンソールでのバケットアクセスキー\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-keys.png)


### バケットのアクセスキーをローテーションする
<a name="bucket-security-best-practices-rotate-bucket-access-keys"></a>

バケットごとに最大 2 つのアクセスキーを持つことができます。2 つの異なるアクセスキーを同時に持つことはできますが、キーローテーション時を除き、バケットに対し作成するアクセスキーは一度に 1 つのみにすることをお勧めします。このアプローチにより、新しいバケットアクセスキーが既に使用中である可能性を気にすることなく、いつでも作成できるようになります。例えば、既存のシークレットアクセスキーがコピー、紛失、侵害されたためにローテーションする必要がある場合、ローテーション用に 2 つ目のアクセスキーを作成すると便利です。

バケットでアクセスキーを使用する場合は、キーを定期的にローテーションし、既存のキーのインベントリを作成する必要があります。アクセスキーが最後に使用された日付と、そのキーが使用された AWS リージョン が、キーの使用方法に関する期待に沿っていることを確認します。アクセスキーが最後に使用された日付は、バケットの管理ページにある **[アクセス許可]** タブの **[アクセスキー]** セクションの Lightsail コンソールに表示されます。使用されていないアクセスキーを削除します。

アクセスキーをローテーションするには、新規のアクセスキーを作成し、ソフトウェアで設定してテストしてから、以前のアクセスキーを削除してください。アクセスキーを削除すると、永久に削除されるため、再度取得することはできません。新しいアクセスキーでのみ置き換えることができます。詳細については、「[Lightsail オブジェクトストレージバケットのアクセスキーを作成する](amazon-lightsail-creating-bucket-access-keys.md)」および「[Lightsail オブジェクトのストレージバケットのアクセスキーを削除します](amazon-lightsail-deleting-bucket-access-keys.md)」を参照してください。

### クロスアカウントアクセスを使用して、他の AWS アカウントにバケット内のオブジェクトへのアクセスを許可する
<a name="bucket-security-best-practices-cross-account-access"></a>

クロスアカウントアクセスを使用すると、バケットとそのオブジェクトを公開することなく、 AWS アカウントを持つ特定の個人がバケット内のオブジェクトにアクセスできるようになります。クロスアカウントアクセスを設定している場合は、リストされているアカウント ID が、バケット内のオブジェクトへのアクセスを許可する正しいアカウントであることを確認してください。詳細については、「[バケットのクロスアカウントアクセスの設定](amazon-lightsail-configuring-bucket-cross-account-access.md)」を参照してください。

![\[Lightsail コンソールでのバケットクロスアカウントアクセス\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-bucket-cross-account-access.png)


### データの暗号化
<a name="bucket-security-best-practices-data-encryption"></a>

Lightsail は、Amazon マネージドキーを使用したサーバー側の暗号化と HTTPS (TLS) の強制による転送中のデータの暗号化を実行します。サーバー側の暗号化は、別のサービスに保存されているキーを使用してデータを暗号化することで、データへのリスクを軽減するのに役立ちます。さらに、送信中のデータの暗号化は、潜在的な攻撃者が中間者攻撃または同様の攻撃を使用してネットワークトラフィックを盗聴または操作することを防止するのに役立ちます。

### バージョニングの有効化
<a name="bucket-security-best-practices-enable-versioning"></a>

バージョニングとは、同じバケット内でオブジェクトの複数のバリアントを保持する手段です。バージョニングを使用して、Lightsail バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保存、取得、復元することができます。バージョニングを使用すれば、意図しないユーザーアクションからもアプリケーション障害からも、簡単に復旧できます。詳細については、「[バケットのオブジェクトのバージョニングを有効化または一時停止する](amazon-lightsail-managing-bucket-object-versioning.md)」を参照してください。

## モニタリングと監査のベストプラクティス
<a name="bucket-security-best-practices-monitoring-auditing"></a>

以下のベストプラクティスは、Lightsail バケットの潜在的なセキュリティ上の弱点とインシデントを検出するのに役立ちます。

### アクセスログ記録を有効にし、セキュリティとアクセス監査を定期的に実行する
<a name="bucket-security-best-practices-enable-access-logging"></a>

アクセスのログ記録には、バケットに対するリクエストの詳細が記録されます。この情報には、リクエストタイプ (`GET`、`PUT`)、リクエストで指定したリソース、リクエストを処理した日時などが含まれます。バケットのアクセスログ記録を有効にし、セキュリティとアクセス監査を定期的に実行して、バケットにアクセスしているエンティティを特定します。デフォルトでは、Lightsail によってバケットへのアクセスのログは収集されません。アクセスログ記録を手動で有効にする必要があります。詳細については、「[バケットのアクセスログ](amazon-lightsail-enabling-bucket-access-logs.md)」と「[バケットのアクセスログの記録を有効にする](amazon-lightsail-enabling-bucket-access-logs.md)」を参照してください。

### Lightsail バケットの特定、タグ付け、および監査
<a name="bucket-security-best-practices-identify-tag"></a>

IT アセットの特定はガバナンスとセキュリティの重要な側面です。セキュリティ体制を評価し、潜在的な弱点に対処するには、すべての Lightsail バケットを可視化する必要があります。

タグ付けを使用してセキュリティまたは監査で注意を要するリソースを識別してから、それらのタグを、リソースを検索する必要があるときに使用します。詳細については、「[タグ](amazon-lightsail-tags.md)」を参照してください。

### モニタリングツールを使用して AWS モニタリングを実装する
<a name="bucket-security-best-practices-monitoring-tools"></a>

モニタリングは、Lightsail バケットおよびその他のリソースの信頼性、セキュリティ、可用性、パフォーマンスを維持する上で重要です。**バケットサイズ** (`BucketSizeBytes`) と Lightsail での `Number of objects` (**NumberOfObjects**) バケットメトリクスの通知アラームを作成してモニタリングすることができます。例えば、バケットのサイズが特定のサイズに増減したとき、またはバケット内のオブジェクト数が特定の数に増減したときに通知を受け取ることができます。詳細については、「[バケットメトリクスアラームの作成](amazon-lightsail-adding-bucket-metric-alarms.md)」を参照してください。

### を使用する AWS CloudTrail
<a name="bucket-security-best-practices-cloudtrail"></a>

AWS CloudTrail は、 のユーザー、ロール、または AWS のサービスによって実行されたアクションの記録を提供しますLightsail。CloudTrail で収集された情報を使用して、Lightsail に対するリクエスト、リクエスト元の IP アドレス、リクエストの実行者、リクエスト日時などの詳細を把握できます。例えば、データアクセスに影響するアクション (特に `CreateBucketAccessKey`、`GetBucketAccessKeys`、`DeleteBucketAccessKey`、`SetResourceAccessForBucket` および `UpdateBucket`) の CloudTrail エントリを特定できます。 AWS アカウントを設定すると、CloudTrail はデフォルトで有効になります。CloudTrail コンソールで最近のイベントを確認できます。Lightsail バケットのアクティビティとイベントの継続的なレコードを作成するには、CloudTrail コンソールで追跡作成できます。詳細については、[https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) ユーザーガイド*のAWS CloudTrail 証跡へのデータイベントのログ記録* を参照してください。

### AWS セキュリティアドバイザリのモニタリング
<a name="bucket-security-best-practices-security-advisories"></a>

 AWS アカウントに登録されているプライマリ E メールアドレスを積極的にモニタリングします。 AWS は、この E メールアドレスを使用して、ユーザーに影響を与える可能性のある新たなセキュリティ上の問題について連絡します。

AWS 広範な影響を与える運用上の問題は、[AWS Service Health Dashboard](https://status.aws.amazon.com/) に投稿されます。運用上の問題は Personal Health Dashboard を介して個々のアカウントにも投稿されます。詳細については、[AWS の正常性に関するドキュメント](https://docs.aws.amazon.com/health/)を参照してください。