APIエンドポイントはAPI接続の端点で、API呼び出しを受信するところです。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
アプリケーションプログラミングインターフェイス(API)は、アプリケーションが別のアプリケーションからのサービスをリクエストする手段です。APIがあれば、開発者はアプリケーションの既存機能を再構築する必要がありません。APIエンドポイントは、リクエスト(API呼び出し)が実行される場所です。
アリスとボブが電話で会話しているとします。アリスの言葉がボブに伝わり、ボブの言葉がアリスに伝わります。アリスは自分の言葉を、会話の「エンドポイント」であるボブに向けます。
アリス:「もしもし、ボブ?」 ----------> ボブ
API統合も会話のようなものです。APIクライアントがAPIサーバーに対して、「もしもし」の代わりに「あるデータが必要なんだけど」というようなことを言います(API呼び出し)。すると、APIサーバーのエンドポイントが「これがそのデータだよ、どうぞ」と答えます(API応答)。APIエンドポイントは、アリスやボブのような物理的主体ではありません。ハードウェアではなく、ソフトウェアの中に存在しています。
APIは、単一または複数のサーバー(データを保存し、ソフトウェアプログラムを実行する専用のコンピューター)でホストされています。各サーバーは、データ、コンテンツ、ソフトウェアの機能を、インターネットを介して他のデバイスへ「提供」します。APIエンドポイントは通常、サーバーでホストされています。
API接続のもう一方の端がAPIクライアント、つまりAPIからのサービスをリクエストする主体です。API呼び出しはたいてい自動化されていますが、APIクライアントをAPI「ユーザー」と呼ぶ人もいます。
APIを使うにはドキュメントが必要です。ドキュメントには、APIで受け付けるリクエストの種類、APIで提供可能なもの、応答のフォーマット、エンドポイントなどが記されています。開発者は、APIドキュメントのレビューを行い、アプリケーションを構築する際にその情報を組み込むことができます。
例として、CloudflareのAPIドキュメント(エンドポイントを含む)をこちらでご覧ください。https://api.cloudflare.com/
ユニフォームリソースロケーター(URL)はWeb上で、Webページ見つけるなど複数の目的で使われます。たとえば、このWebページのアメリカ英語版のURLはhttps://www.cloudflare.com/learning/security/api/what-is-api-endpoint/です。ユーザーがそのURLをブラウザーに入力すると、ブラウザーはこのWebページがどこにあるかを知り、読み込むことができます。
URLにはAPIエンドポイントも表示されています。アリスとボブが電話で話す時、アリスはボブの電話番号を使ってボブに電話します。APIエンドポイントのURLは、APIを呼び出すための電話番号のようなものです。
APIサーバーは、単一または複数のAPIエンドポイントをホストすることができます。つまり、それらのエンドポイントURLに向けられた呼び出しを、サーバーが受け付けて処理するのです。APIクライアントにもURLが必要です。APIサーバーが返事をどこに送ればいいかを知るためです。ボブとアリスが電話で話すのに双方の電話番号が必要なのと同じです。開発者はアプリケーションを構築する際にこのURLを設定します。
URLには必ず、そこへ到達するためのアプリケーション層プロトコル(HTTPなど)が含まれます。Web APIはたいていHTTPを使っていますので、APIエンドポイントのURLにhttpが含まれています。
適正に設計されたAPIは、呼び出し元を問わずAPI呼び出しを受け付けることはしません。そんなことをすれば、攻撃者からAPIサーバーへ悪意のあるデータが送られかねません。また、APIの利用にはコストがかかるのが通常ですので、APIサーバーは、料金を支払う顧客からのAPI呼び出しかどうかをチェックしなければなりません。
これらの理由から、APIサーバーは、呼び出し元のAPIクライアントが既知で信頼できることを確認しなければならないのです。この確認は認証によって行われます。
認証はアイデンティティを検証するプロセスです。システムに対して人間のユーザーを認証する際にいくつかの方法があるように、APIエンドポイントの認証実行にも主に4つのやり方があります。
多くの場合、相互TLSが最も効果的な認証方式です。理由の一つは、クライアントだけでなくエンドポイントとクライアントの双方向認証であるため、お互いが正当なソースからデータを受け取っていることを確認できる点です。また、エンドポイント間で決して共有されないプライベートキーを使用するため、トランジット中に傍受されることもありません。APIキー、パスワード、トークンはすべて、複製されたり盗まれたりする可能性があります。
Cloudflare API Shieldは、相互TLSでAPIエンドポイントとクライアントの認証を行うため、双方を攻撃から保護することができます。API Shieldは、その他のAPIセキュリティ機能(レート制限、データ損失防止(DLP)など)もいくつか提供しています。API Shieldの詳細はこちら。
利用開始
Webアプリケーションセキュリティについて
一般的な脅威
VPNリソース
セキュリティ用語集
ラーニングセンターナビゲーション