Secure Lightsail オブジェクトストレージバケット - Amazon Lightsail

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

Secure Lightsail オブジェクトストレージバケット

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

目次

予防的セキュリティのベストプラクティス

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

最小特権アクセスの実装

アクセス許可を付与するときは、Lightsail リソースに対するアクセス許可を取得するユーザーを決定します。つまり、該当リソースに対して許可する特定のアクションを有効にするということです。このため、タスクの実行に必要な許可のみを付与する必要があります。最小限の特権アクセスの実装は、セキュリティリスクはもちろん、エラーや悪意ある行動によってもたらされる可能性のある影響を減らす上での基本となります。

バケットを管理するための IAM ポリシーの作成の詳細については、「バケットを管理する IAM ポリシー」を参照してください。Lightsail バケットでサポートされている Amazon S3 アクションの詳細については、Amazon Lightsail API リファレンスの「オブジェクトストレージのアクション」を参照してください。 Amazon Lightsail

Lightsail バケットがパブリックアクセス可能でないことを確認する

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

Lightsail コンソールでのバケットアクセス許可

ただし、バケットを使用してウェブサイトやアプリケーションのメディアをホストしている場合は、特定のシナリオでは、バケットまたは個々のオブジェクトをパブリックにする必要があります。次のいずれかのオプションを設定して、バケットまたは個々のオブジェクトをパブリックにすることができます。

  • バケット内のオブジェクトの一部のみをインターネット上の誰にでもパブリック (読み取り専用) する必要がある場合は、バケットのアクセス許可を個々のオブジェクトをパブリックにして読み取り専用にするに変更し、パブリックにする必要があるオブジェクトのみをパブリック (読み取り専用)に変更します。このオプションはバケットをプライベートにしますが、個々のオブジェクトをパブリックにするオプションも提供します。パブリックにアクセスしたくない機密情報または秘密情報が含まれている場合は、個々のオブジェクトを公開しないでください。個々のオブジェクトをパブリックにする場合は、個々のオブジェクトのパブリックアクセシビリティを定期的に検証する必要があります。

    Lightsail コンソールでのバケットアクセス許可
  • バケット内のすべてのオブジェクトをインターネット上の誰にでもパブリック(読み取り専用)する必要がある場合は、バケットのアクセス許可をすべてのオブジェクトはパブリックで読み取り専用に変更します。バケット内のいずれかのオブジェクトに機密情報または秘密情報が含まれている場合は、このオプションを使用しないでください。

    Lightsail コンソールでのバケットアクセス許可
  • 以前にバケットをパブリックに変更した場合、または個々のオブジェクトをパブリックに変更した場合は、バケットのアクセス許可をすべてのオブジェクトはプライベートに変更することで、バケットとそのすべてのオブジェクトをプライベートにすばやく変更できます。

    Lightsail コンソールでのバケットアクセス許可

Amazon S3 でパブリックアクセスのブロックを有効にする

Lightsail オブジェクトストレージリソースは、パブリックアクセスを許可または拒否するときに、Lightsail バケットのアクセス許可と Amazon S3 アカウントレベルのブロックパブリックアクセス設定の両方を考慮します。Amazon S3 アカウントレベルのブロックパブリックアクセスを使用すると、アカウント管理者とバケット所有者はAmazon S3 および Lightsail バケットへのパブリックアクセスを一元的に制限できます。ブロックパブリックアクセスは、リソースの作成方法や、設定された個々のバケットとオブジェクトのアクセス許可に関係なく、すべての Amazon S3 バケットと Lightsail バケットをプライベートにすることができます。詳細については、「バケットに対するブロックパブリックアクセス」を参照してください。

バケットにインスタンスをアタッチして、プログラムによる完全なアクセスを付与する

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

Lightsail コンソールでのバケットリソースアクセス

ただし、アプリケーションが Lightsail インスタンスにない場合は、バケットアクセスキーを作成して設定できます。バケットアクセスキーは、自動的にローテーションされない長期的な認証情報です。

Lightsail コンソールのバケットアクセスキー

アクセスキーを作成して使用し、アプリケーションまたはプラグインにバケット内のオブジェクトへの完全なプログラムによるアクセスを付与できます。バケットでアクセスキーを使用する場合は、キーを定期的にローテーションし、既存のキーのインベントリを作成する必要があります。アクセスキーが最後に使用された日付と、そのキーが使用された AWS リージョン が、キーの使用方法に関する想定と一致していることを確認します。アクセスキーが最後に使用された日付が Lightsail コンソールに表示されます。バケットの管理ページのアクセス許可タブのアクセスキーセクションに表示されます。 使用されていないアクセスキーを削除します。

シークレットアクセスキーを誤ってパブリックと共有した場合は、削除して新しいシークレットアクセスキーを作成する必要があります。バケットごとに最大 2 つのアクセスキーを持つことができます。同時に 2 つの異なるアクセスキーを使用できますが、バケットで 1 つのアクセスキーを使用しないことは、最小限のダウンタイムでキーをローテーションする必要がある場合に役立ちます。アクセスキーをローテーションするには、新しいキーを作成し、ソフトウェアで設定してテストしてから、以前のキーを削除します。アクセスキーを削除すると、永久に削除されるため、再度取得することはできません。新しいアクセスキーでのみ置き換えることができます。詳細については、「バケットのアクセスキーの作成」を参照してください。

クロスアカウントアクセスを使用して、他の AWS アカウントにバケット内のオブジェクトへのアクセスを許可する

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

Lightsail コンソールでのバケットのクロスアカウントアクセス

データの暗号化

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

バージョニングの有効化

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

モニタリングと監査のベストプラクティス

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

アクセスログ記録を有効にし、セキュリティとアクセス監査を定期的に実行する

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

Lightsail バケットの特定、タグ付け、監査

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

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

AWS モニタリングツールによるモニタリングの実装

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

を使用する AWS CloudTrail

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

AWS セキュリティアドバイザリのモニタリング

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

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