SEC03-BP07 パブリックおよびクロスアカウントアクセスの分析 - AWS Well-Architected フレームワーク

SEC03-BP07 パブリックおよびクロスアカウントアクセスの分析

パブリックおよびクロスアカウントアクセスに焦点を当てた結果を継続的にモニタリングします。パブリックアクセスとクロスアカウントアクセスを減らして、このアクセスを必要とする特定のリソースのみへのアクセスに限定します。

期待される成果: どの AWS リソースが誰と共有されているかを把握します。共有されたリソースを継続的にモニタリングおよび監査し、認証されたプリンシパルとのみ共有されていることを確認します。

一般的なアンチパターン:

  • 共有されたリソースのインベントリを保持しない。

  • リソースへのクロスアカウントまたはパブリックアクセスの承認のためのプロセスを遵守しない。

このベストプラクティスを活用しない場合のリスクレベル:

実装のガイダンス

アカウントが AWS Organizations にある場合、リソースへのアクセスを、組織全体、特定の組織単位、または個別のアカウントに付与することができます。アカウントが組織のメンバーでない場合、個別のアカウントとリソースを共有することができます。リソースベースのポリシー (例: Amazon Simple Storage Service (Amazon S3) バケットポリシー) を使用して、または別のアカウントのプリンシパルがアカウントの IAM ロールを引き受けることを許可することで、クロスアカウントアクセスを直接付与できます。リソースポリシーを使用している場合、アクセスが認証済みのプリンシパルにのみ付与されていることを確認してください。パブリックアクセス可能にする必要があるすべてのリソースを承認するプロセスを定義します。

AWS Identity and Access Management Access Analyzer証明可能セキュリティを使用して、アカウントの外部からリソースへのすべてのアクセスパスを識別します。また、リソースポリシーの継続的な確認と、パブリックおよびクロスアカウントアクセスの結果の報告により、広範囲なアクセス権の分析を単純化します。すべてのアカウントが表示可能であることを確認するために、IAM Access Analyzer で AWS Organizations を設定することを検討します。IAM Access Analyzer では、リソースのアクセス許可をデプロイする前に検出結果をプレビューすることもできます。これにより、ポリシー変更によって、意図されたパブリックアクセスおよびクロスアカウントアクセスのみがリソースに付与されていることを検証できます。マルチアカウントアクセス用に設計する場合、信頼ポリシーを使用して、ロールを引き受けることができるケースを制御できます。例えば、PrincipalOrgId 条件キーを使用して、AWS Organizations の外部からロールを割り当てる試みを拒否できます。

AWS Config は、誤って設定されたリソースをレポートでき、AWS Config ポリシーチェックを通じて、パブリックアクセスが設定されているリソースを検出できます。AWS Control Tower および AWS Security Hub などのサービスでは、AWS Organizations 全体でチェックとガードレールのデプロイが簡素化され、パブリックに公開されているリソースを特定、修復できます。例えば、AWS Control Tower には、Amazon EBS スナップショットが AWS アカウントによって復元可能かどうかを検出できるマネージドガードレールがあります

実装手順

  • AWS Config に AWS Organizations を使用することを検討する: AWS Config では、AWS Organizations 内の複数のアカウントから委任された管理者アカウントに検出結果を集約できます。これにより、包括的なビューが提供され、アカウント間で AWS Config ルール をデプロイして、パブリックにアクセス可能なリソースを検出できます。

  • AWS Identity and Access Management Access Analyzer を設定する: IAM Access Analyzer は、外部エンティティと共有されている Amazon S3 バケットや IAM ロールなど、組織とアカウントのリソースを識別するのに役立ちます。

  • AWS Config で自動修復を使用して、Amazon S3 バケットのパブリックアクセス設定の変更に対応する: Amazon S3 バケットのパブリックアクセスブロック設定を自動的にオンにできます

  • モニタリングとアラートを実装して、Amazon S3 バケットがパブリックになったかどうかを確認する: Amazon S3 パブリックアクセスブロックがオフになって、Amazon S3 バケットがパブリックになったかどうかを特定するモニタリングとアラートを設定する必要があります。さらに、AWS Organizations を使用している場合は、Amazon S3 パブリックアクセスポリシーへの変更を防ぐサービスコントロールポリシーを作成できます。AWS Trusted Advisor は、オープンアクセス許可を持つ Amazon S3 バケットをチェックします。誰にでもアクセスを付与、アップロード、削除するバケット権限は、バケットのアイテムを誰でも追加、変更、または削除できるようにすることで、セキュリティ関連の問題の原因となることがあります。Trusted Advisor のチェックは、バケットの明示的なアクセス許可を検証します。また、バケットに関連付けられたポリシーで、バケットのアクセス許可を上書きする可能性があるものについても検証します。また、AWS Config を使って、Amazon S3 バケットにパブリックアクセスがないかモニタリングできます。詳細については、「パブリックアクセスを許可する Amazon S3 バケットを AWS Config でモニタリングおよび応答する方法」を参照してください。アクセスを確認するときは、Amazon S3 バケットに含まれるデータの種類を考慮することが重要です。Amazon Macie は、PII、PHI、プライベートや AWS キーなどの認証情報などの機密データを検出して保護するのに役立ちます。

リソース

関連ドキュメント:

関連動画: