type
status
date
slug
summary
tags
category
icon
password
书籍
 

理論

APIセキュリティにおける本質的知識

  1. アクセス制御 (Access Control)
      • IP制限: 信頼できるクライアント(パートナー)のみを許可することで、不正アクセスを防ぐ基本的な方法。AWS WAFを使い、許可リスト(ホワイトリスト)を設定するのが一般的。
      • APIキー: ユーザーごとに固有のキーを発行して認証を強化。特にREST APIでは簡単かつ効果的な認証手段。
  1. リクエスト制限 (Rate Limiting)
      • 使用プラン (Usage Plan): API Gatewayでクライアントごとに1秒あたりのリクエスト数や1日あたりの上限を設定可能。リソースの保護やサービスの公平性確保に役立つ。
      • WAFルールでの制限: ボット攻撃など大量リクエストを送るクライアントを早期に遮断。
  1. トラフィック管理
      • CloudFrontとの連携: 高速キャッシュや地理的制限を適用可能。ただし、APIの直接的な保護には向かない。
      • オリジンアクセスアイデンティティ (OAI): 主にS3アクセス用の仕組み。API Gatewayには適用しづらい。
  1. コスト最適化
      • APIの呼び出し頻度を適切に制御することで、無駄なリクエスト処理を削減し、運用コストを抑える。
      • WAFや使用プランを活用することで、追加のインフラコストを抑えながら効果的なセキュリティを実現。

重要なポイント

  • IP制限 + 使用プラン + APIキー は、低コストかつセキュアな構成の基本。
  • ボット攻撃を防ぎつつ、正当なユーザーには確実にアクセスを提供するバランスが重要。
  • APIセキュリティの基本は、最小限の権限で必要なアクセスのみ許可すること。

実践

一問道場

質問 #251
トピック 1
ある企業が、米国に拠点を置く6つのパートナーと情報を共有するためにREST APIを作成しています。
この企業はAmazon API Gatewayのリージョナルエンドポイントを作成しました。6つのパートナーは、それぞれ1日1回、このAPIにアクセスして日々の売上データを投稿します。
初回のデプロイ後、企業は世界中の500の異なるIPアドレスから1秒間に1,000件のリクエストが発生していることを観測しました。
企業は、このトラフィックがボットネットから発生していると考えており、コストを最小限に抑えながらAPIを保護したいと考えています。
APIを保護するために企業が取るべきアプローチはどれですか?
A.
Amazon API GatewayをオリジンとするAmazon CloudFrontディストリビューションを作成します。
AWS WAFのWeb ACLを作成し、1日に5件以上のリクエストを送信するクライアントをブロックするルールを設定します。
このWeb ACLをCloudFrontディストリビューションに関連付けます。
CloudFrontにオリジンアクセスアイデンティティ(OAI)を設定し、それをディストリビューションに関連付けます。
API Gatewayを設定し、OAIのみがPOSTメソッドを実行できるようにします。
B.
Amazon API GatewayをオリジンとするAmazon CloudFrontディストリビューションを作成します。
AWS WAFのWeb ACLを作成し、1日に5件以上のリクエストを送信するクライアントをブロックするルールを設定します。
このWeb ACLをCloudFrontディストリビューションに関連付けます。
CloudFrontディストリビューションにカスタムヘッダーを追加し、このヘッダーにAPIキーを設定します。
API Gatewayを設定し、POSTメソッドでAPIキーを要求するようにします。
C.
AWS WAFのWeb ACLを作成し、6つのパートナーが使用するIPアドレスへのアクセスを許可するルールを設定します。
このWeb ACLをAPIに関連付けます。
リクエストの制限を設定したリソースポリシーを作成し、APIに関連付けます。
APIを設定し、POSTメソッドでAPIキーを要求するようにします。
D.
AWS WAFのWeb ACLを作成し、6つのパートナーが使用するIPアドレスへのアクセスを許可するルールを設定します。
このWeb ACLをAPIに関連付けます。
リクエストの制限を設定した使用プランを作成し、APIに関連付けます。
APIキーを作成し、使用プランに追加します。

解説

この問題では、ボットネットによる不正アクセスを防ぎつつ、6つのパートナーがAPIにアクセスできるようにする必要があります。そのため、以下の点が重要です。
  1. 正当なアクセスのみを許可する方法
    1. 6つのパートナーが使用するIPアドレスを特定し、それ以外のアクセスをブロックすることが効果的です。これにより、不要なトラフィックを排除できます。
  1. リクエストの制御
    1. パートナーのアクセス頻度は1日1回です。これに基づき、APIの使用量を制限するための使用プラン(Usage Plan)を設定し、リクエスト数を制限する必要があります。
  1. APIキーの利用
    1. パートナーに固有のAPIキーを割り当てることで、認証を追加し、不正なアクセスをさらに防止できます。

各選択肢を検討します:

A. CloudFront + WAF + OAI の設定

  • CloudFrontとWAFを利用してトラフィックを制御し、OAIでAPIへのアクセスを限定する方法です。
  • 問題点: OAIを使う方法はS3オリジンには適していますが、API Gatewayでは通常不要です。また、この方法では正当なIPアドレスのみにアクセスを限定する仕組みがありません。
  • 結論: 不適切。

B. CloudFront + WAF + カスタムヘッダーにAPIキーを追加

  • WAFでリクエスト数を制限し、CloudFrontのカスタムヘッダーでAPIキーを活用する方法です。
  • 問題点: WAFのルールで「1日5件以上をブロック」としていますが、CloudFrontがあるため、実際のクライアントのIPを完全に制御できるわけではありません。また、APIキーのみに頼る認証はIP制限ほど強固ではありません。
  • 結論: 不適切。

C. WAFでIP制限 + リソースポリシーでリクエスト制限

  • WAFでパートナーのIPアドレスを許可し、リソースポリシーでリクエスト制限を追加する方法です。
  • 問題点: リソースポリシーは主にIAM認証と組み合わせて使われるため、APIキーを使った認証との併用が難しいです。また、使用プランを活用した方がリクエスト制限に適しています。
  • 結論: 不適切。

D. WAFでIP制限 + 使用プランでリクエスト制限(正解)

  • WAFを利用してパートナーのIPアドレスを許可するルールを設定し、不正アクセスを遮断します。
  • 使用プランでリクエスト制限を設定し、パートナーごとにAPIキーを発行します。これにより、1日1回のリクエストに制限可能です。
  • 理由: コストを抑えつつ、IP制限、使用プラン、APIキーの認証を組み合わせた実用的な方法です。
  • 結論: 適切。

正解: D

WAFでIPアドレスを制限し、使用プランとAPIキーを利用してリクエスト数を制御する方法が、コストとセキュリティの両方を満たします。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
252-AWS SAP AWS 「理論・実践・一問道場」データベースアクティビティストリーム250-AWS SAP AWS 「理論・実践・一問道場」EC2配置グループ
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
第1回:イントロダクション
2025-4-21
TOKYO自習島
2025-4-21
第1回:イントロダクション
2025-4-18
第1回:オリエンテーション/意思決定と会計情報
2025-4-18
建物業法の基本と免許-59問
2025-4-10
宅建士过去问速刷:小南小白陪你拿证-001
2025-4-7
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享我在 IT・MBA・不动产中介 等领域的学习与实践经验,并推动 线上线下学习会 的自主开展。

📚 主要内容

💻 IT・系统与开发

  • 系统管理:Red Hat 等
  • 容器与编排:Kubernetes、OpenShift
  • 云计算:AWS、IBM Cloud
  • AI 入门:人工智能基础与实践
  • 技术笔记与考证经验

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

  • 管理学、经济学、财务分析等

🔍 快速查找内容(标签分类)

由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
📌 定期更新,欢迎常来看看!
📬 有任何建议或想法,也欢迎留言交流!