APIにより、さまざまな種類のデータや情報、特に重要なビジネスデータの交換が可能となっています。しかし、これらのデータが実際に交換される場所はご存知ですか?
実は、APIエンドポイントがその答えです。API環境において、エンドポイントはデジタルデータの受け渡しの入り口ともいえます。
この記事では、エンドポイントの詳細な意味や例、APIセキュリティでの役割などについて解説します。
例えば、あるアプリがデータ取得リクエストを貴社のAPIに送信するとします。すると、そのリクエストが届くデジタルな位置が、APIエンドポイントと呼ばれます。
構造的には、APIコールにより応答を取得するために連携するアプリのパスや位置を示すURLのことです。
内容を分かりやすくするため、簡単な例を用いましょう。
例えば、いとこに手紙を書き、夏のキャンプ費用として1,000ドルが必要だと記したとします。相手に確実に手紙を届けるためには、住所を正確に記す必要があります。アパートの詳細や郵便番号を記入しなければ、郵便配達員は手紙を届けることができません。
この例をAPIの仕組みに例えると、手紙を送る側がAPIクライアントで、いとこがAPIサーバになります。手紙がAPIコールで、いとこの住所がエンドポイントです。このようなリクエストを完遂するには、あらかじめ定義されているAPIエンドポイントが不可欠です。そうでなければ、APIコールやAPI自体に意味がなくなります。
ここ10年で、APIの需要と供給が大幅に増加しました。多くの企業がスケーラビリティ向上のためにAPIに依存しており、APIによってソフトウェア企業が第三者に必要に応じたアプリの開発機会を提供することが可能となります。
しかし、有効なAPIエンドポイントがなければ、外部に委託したAPIも十分に活用できません。APIエンドポイントは、APIの全ての動作を案内します。
サーバ上でパスが不明確になるのを防ぐため、APIエンドポイントはリソースの正確な位置を示し、効率的な探索を可能にします。リソースの場所や取得方法を指示します。
エンドポイントがない場合:
APIエンドポイントの動作は、その機能と直接連動しています。APIに基づくアプリは統合システムであり、二つの動作面から成り立っています。一つ目はAPIコールを行うクライアント、二つ目はAPIコールを受け取り応答を生成するサーバです。
サーバ側は、リクエストのメタデータを含むURLを用いてAPIエンドポイントを特定する目的地です。PATCH、GET、POST、DELETEなどのAPIメソッドがリクエスト処理に使用されます。
例
前述の通り、全てのAPIにはエンドポイントが備えられています。その詳細はAPIドキュメントに記載され、API利用者が簡単に利用できるようになっています。しかし、エンドポイントはどのように識別されるのでしょうか?実際のエンドポイントはどのようなものなのでしょうか?
YouTubeのAPIエンドポイントの例を見てみましょう。どのウェブサイトやウェブアプリにもYouTube動画を簡単に埋め込むことができます。そのためにAPIエンドポイントを利用します。
https://www.googleapis.com/youtube/v3/videos
このエンドポイントを使用することで、あらかじめ設定されたパラメータに合致する動画リストを取得できます。
両者は密接に関連しているため、区別が難しいことがあります。ここで詳細を明確にします。
APIエンドポイントとは、二つのアプリが情報を交換するためのあらかじめ定めた規則を指します。APIコールが到達する場所です。APIはエンドポイントを通じて目的の場所にアクセスし、応答を取得します。
まず、APIエンドポイントのテストは必須です。ウェブAPIの文脈では、一般的に使用されるAPIは、POST、PUT、DELETE、GETなどのHTTPメソッドを用いるREST APIです。
REST APIエンドポイントのテストとして、フィルターストリームのエンドポイントを用います。このTwitterベースのエンドポイントは、次のようなエンドポイントを生成します:
POST - https://api.twitter.com/2/tweets/search/stream
例えば、Salesforce上でのTwitterの動向を常に把握し、Salesforceアカウントに直接投稿されたツイートの更新情報を取得したいとします。
それには、あらかじめフィルタリング基準を定める必要があります。
フィルタリング基準を定めることで、適切なツイート更新情報が取得できます。オペレーターを用いてルールとしてフィルタリング基準を設定できます。例えば、「from:」を使用すると、特定のアカウントのツイートのみを確認できます。
迅速かつ円滑なエンドポイントテストのために、オンライン上には多数のツールが提供されています。例えば、cURLはHTTP対応のコマンドラインツールで、データ送信や取得、リクエストが可能です。適切な知識とツールがあれば、APIエンドポイントのテストは容易です。
無料のオープンソースサービスであるGoTestWAFを使用して、APIエンドポイントのテストが可能です。
APIは、特定のアプリからデータや情報を取得するために必要な仕組みです。APIやエンドポイントが守られていなければ、悪意のある応答を受信する恐れがあり、その結果、データ流出やDDoS攻撃の被害に遭う可能性があります。そのため、APIセキュリティの専門家は、APIおよびAPIエンドポイントの保護を推奨しています。
APIエンドポイントを守るための有効な方法は以下の通りです:
APIとAPIエンドポイントを守るには多くの労力と技術が必要です。複数のプラットフォームからリソースを調達し手間がかかるところ、包括的なWallarmのようなAPIセキュリティプラットフォームの利用が賢明です。
APIトークンエンドポイントやAPIゲートウェイエンドポイントを守りたい場合も、Wallarmで可能です。このプラットフォームは、Cloud WAF、API脅威防止、API認証、APIテストなど、多くのソリューションを一つにまとめています。
このプラットフォームはあらゆるAPIに対応できるため、REST APIエンドポイントやSOAP APIエンドポイントなどを一括して守ることができます。その守り方は幅広く、OWASPトップ10の脅威やボット、L7 DDoSなどの脆弱性に対抗します。常時監視とテストを行うため、脆弱性が拡大しにくいのが特徴です。
セキュリティ向上のため、APIセキュリティの専門家はAPIエンドポイントを一方向パスワードハッシュで保存することを推奨しています。これは非対称暗号方式であり、プレーンテキストで保存する対称暗号に比べ、より堅牢です。
ウェブエンドポイントの場合、HTTPまたはHTTPSのどちらかを利用できますが、より安全なHTTPSが推奨されます。
レートリミッティングはAPIエンドポイントでは有効な対策です。この技術により、APIコールの回数を制限し、ボットやDDoS攻撃の発生を抑制できます。
入力を受け入れる前に、その検証を行うことが重要です。早期の脅威検出と、データが正しい形式であることの確認につながります。
APIコールのデジタルな接点であるAPIエンドポイントは、成功するAPIコールにとって非常に重要です。エンドポイントがあってこそ、APIの存在意義が生まれます。エンドポイントがなければ、APIはその目的を果たせません。
APIセキュリティに注力する際、エンドポイントを軽視してはいけません。Wallarmを利用して、脆弱性のテストと上記対策によるエンドポイントの守りを行いましょう。APIとそのエンドポイントを守ることで、より安全なアプリの開発が実現します。
最新情報を購読