APIディスカバリーとは、組織が使用するすべてのAPI(内部およびサード・パーティーの両方)を特定してカタログ化し、API機能、エンドポイント、データ構造、その他の関連情報を文書化するプロセスです。
APIディスカバリーは、使用中のアプリケーション・プログラミング・インターフェース(API) 、その機能、アクセス権限を持つユーザーなどに関するインベントリーを作成します。また、非公開APIや忘れられたAPIを発見するのにも役立ち、セキュリティリスクの軽減に重要です。
APIは現代のソフトウェア開発に不可欠な部分であり、双方向のやり取りを可能にします。APIは、開発者とアプリケーションがデータを要求し、サービスを追加し、他のアプリケーションの機能を活用できるようにすると同時に、アプリケーション所有者に製品の共有、宣伝、マーケティングの手段を提供します。この重要な機能により、複雑さと脆弱性が増大します。
これらの脆弱性を保護し、APIエコシステムが意図したとおりに動作するようにするには、API管理が不可欠です。APIセキュリティ、認証、効率、機密データの保護、および特定のアプリケーションがどのように使用されているかの全体的なビジョンを維持するためには、API の数、種類、人気の度合いを正確に知ることが重要です。しかし、アプリケーション所有者はどのようにしてこれらすべての情報を検出するのでしょうか?ここでAPIディスカバリーが役立ちます。
API またはアプリケーション・プログラミング・インターフェースは、アプリケーションとサービスが相互に通信できるようにする一連のルールとプロトコルです。これらは基本的に、アプリケーションがさまざまなソースからリアルタイムでデータを取得できるようにする仲介者です。APIは、天気アプリにおける気象データ、ショッピングアプリでの高速決済、レストランのウェブサイト上の地図など、数多くのユースケースを提供しています。企業では、API はワークフローとプラットフォームの統合、マイクロサービスの接続、資産の共有の促進、サードパーティのユーザーへのアプリケーションの提供などに使用されます。
Salesforce の調査によると、現代の企業が使用するアプリケーションの数は平均で 1,000 を超えており、組織が強力な API ディスカバリー方法を確立することが重要です。APIディスカバリーとは、文書化されたAPIと非公開APIの両方を検索し、ディレクトリーを作成し、検出されたAPIのインベントリーを編集するプロセスを指します。APIディスカバリーが非常に重要である理由は数多くあります。APIディスカバリーによって得られるメリットと、このプロセスを無視するとアプリケーションのセキュリティに影響を及ぼす可能性があるためです。APIディスカバリーは、徹底的で完全なAPIドキュメンテーションを構築する上で重要な役割を果たします。
冗長性(同じ主要な機能または類似の主要な機能の複数のインスタンスを作成することでドキュメンテーションが乱雑になること)は、効率と生産性を低下させ、開発プロセスに重大な影響を及ぼす可能性があります。つまり、まったく新しいAPIを作成すると、時間とリソースが無駄になる可能性があるのです。適切なAPIディスカバリーとAPIのドキュメンテーションにより、APIの冗長性の可能性を低減できます。すでに存在する「車輪」のドキュメントが簡単に見つかるのであれば、わざわざ「車輪を再発明」する必要はないのです。
APIディスカバリーツールを使用してAPIを検出し、しっかりとしたドキュメンテーションを作成することで、開発者はどの既存のアプリケーションやサービス(内部と外部の両方)にアクセスし、統合できるかをよりよく理解できます。既存のサービスや機能を使用することで、開発者は生産を加速し、アプリケーションの機能を拡張し、市場投入までの時間を短縮できます。
APIディスカバリーにより、開発者が既存のサービスを見つけて利用するのに役立つAPIインベントリーを作成できます。これには、オプションのメニューを提供することで開発者にアプリケーションのデータとサービスの統合を促すという追加のメリットもあります。
APIディスカバリーとAPIカタログの一貫した保守により、チームは存在するAPIを迅速かつ簡単に見つけることができます。これにより、効率が向上し、不要な作業が削減され、さらには開発者にまだ実現していなかった機能を通知することで、ワークフローを改善することができます。
最新の API カタログを維持することは、ユーザー情報やAPI キーなどの機密データに誰がアクセスできるかを監視するのに最適な方法です。APIディスカバリーを使用して機密データにアクセスするすべてのAPIを検出することで、アプリケーション所有者は、誰が何にアクセスできるかをより簡単に監視し、APIとアプリケーションが適用されるすべての法律とガイドラインを遵守していることを確認できます。シャドー API が普及していることを考えると、これは特に重要です。
APIディスカバリーには、APIに関するさまざまな詳細(APIの種類、機能、アクセスできるデータなど)を明らかにすることが含まれ、開発者が組織で使用しているAPIを特定し、より深く理解するのに役立ちます。APIディスカバリーでは、APIに関する次のような情報が生成されます。
プロトコル、アーキテクチャ、およびサポートされているデータ形式:検出プロセスは、API が使用するプロトコルまたはアーキテクチャ ( REST 、 GraphQL 、SOAP、RPC など) と、受け入れるデータ形式 (JSON、XML、 YAMLなど) を文書化するのに役立ちます。
API エンドポイント:特定のデータまたはサービスの保管の場所で、通常は URL として表されます。
認証: 多くの場合、APIは認識されたクライアント、プロジェクト、ユーザーのみがアクセスできるように保護されています。APIディスカバリーは、認証仕様を明らかにするのに役立ちます。
メソッドとパラメーター: APIディスカバリーは、GET、PUT、DELETE、POSTなどのサポートされているアクションと、APIが受け入れるパラメーターを明らかにします。
APIディスカバリーは、APIセキュリティーの強化に大きな役割を果たします。適切なAPIドキュメンテーションとAPI管理により、アプリケーション所有者はAPIの使用状況を包括的に把握できるため、セキュリティーの脆弱性を発見しやすくなります。その後、アプリケーションの所有者や開発者が、潜在的な問題を修正できます。
APIディスカバリーがAPIセキュリティーに貢献する最も重要な方法の1つは、非公開APIを特定することです。
「非公開」という用語は正確ではありません。非公開APIは必ずしも悪意があるわけではありません。代わりに、「非公開API」とは、文書化されておらず、ドキュメンテーションに含まれていない API を指します。無限スクロールの主要な機能やアプリケーションのテキストフィールドにある多くのオートコンプリート機能など、まったく無害な非公開APIがたくさんあります。
ただし、無害な非公開APIであっても、セキュリティー・チームにとっては潜在的な頭痛の種となる可能性があります。セキュリティー・ソリューションから除外された非公開APIは、アプリケーション所有者が通常設定する規制やファイアウォールなどのセキュリティー対策の対象にはなりません。非公開APIにはさまざまな種類があり、単に忘れ去られたものから積極的に有害なものまで多数あるため、APIの発見プロセスが非常に重要です。
シャドーAPIは必ずしも悪意のあるものではありませんが、使用するエンティティーによって管理も保護もされていないAPIとして定義されます。APIの可視性がなければ、これらは企業のセキュリティーの範囲外に存在するため、攻撃に対して脆弱になります。
2022 年のレポートによると、悪意のあるトランザクションの約 31% がシャドー API をターゲットにしており、重大なセキュリティ リスクとなっていることがわかりました。シャドー API を狙った API 攻撃は、ユーザー情報や独自の知識などの機密データを危険にさらす可能性があるため、サイバーセキュリティが優れた APIディスカバリー技術を使用する大きな理由となります。また、セキュリティー・チームは、自分たちが知らないAPIにセキュリティー・パッチを提供することもできません。つまり、シャドーAPIには、賢いハッカー以外には知られていない脆弱性が存在する可能性があります。これにより、攻撃対象領域、つまり悪意のある行為者が利用できる手段が拡大する可能性があります。
シャドーAPIは、セキュリティー・ポリシーにおけるあらゆる種類のエラー、ミス、不用意などから発生します。開発者によっては、適切なAPIドキュメントを使用することを単に忘れていたり、十分に注意していなかったりする場合があります。古いAPIが存在するにもかかわらず、ドキュメントから削除されることもあります。企業の合併では、多くのシャドーAPIが生成されることでも有名です。開発者がシャドーAPIをテスト目的や非常に小規模なオーダーメイドのユースケース用に作成し、セキュリティー・チームにその存在を警告しないこともあります。
少し異なるタイプの非公開APIは、忘れ去られているが消去されていないAPIです。ゾンビAPIは、かつては適切に保護され維持されていたかもしれませんが、その後放置され、おそらくそれを作成したアプリケーション所有者自身にも知られていない状態にあります。ゾンビ API は通常、更新もパッチ適用もされませんが、それでもアプリケーションのシステムの一部への隠れたドアを提供します。
不正APIの用語は組織ごとに異なります。「シャドーAPI」と「不正API」を同じ意味で使用する組織もあれば、意図的に悪意のあるAPIを指すために「不正API」を使用する組織もあります。
成功するAPIディスカバリーの実践は一貫しており、十分に文書化され、標準化されています。これらの原則に従うことで、社内外の開発者が現在および将来の開発者がAPIを効率的かつ安全に利用できるようになります。
標準化: OpenAPI 仕様 (OAS)、 REST、GraphQL などの標準仕様とプロトコルを使用すると、APIディスカバリーと API の互換性が向上し、消費者が API をすばやく理解できるようになります。
ドキュメンテーション: 強力で標準化されたドキュメンテーションを持つAPIはより簡単に見つけやすく、統合、コラボレーション、管理にメリットをもたらします。ドキュメンテーションが良くなればなるほど、より多くの API を使用して改善できるようになります。
一貫性: APIは継続的に追加、更新、廃止されるため、定期的にAPIディスカバリーを行うことが重要です。自動化されたシステムを使用するとこれを簡単になりますが、定期的な手動検出も効果的です。
APIディスカバリーツールには、手動のAPIディスカバリーツールから完全な自動化に依存するツールまで、さまざまなAPIディスカバリーツールがあります。それぞれに長所と短所があります。
多くの開発者は、何らかの形で手動でAPIを検出してきました。これには、ソースコードの調査や、異常の検索のためのリアルタイムのAPIトラフィックの監視などが含まれます。セキュリティ チームが探しているものを正確に把握している場合、これらの手動の方法は、自動化された方法よりも迅速かつ直接的になります。しかし、一般に手動でのAPIディスカバリーは時間がかかり、効率も悪く、より微妙な非公開APIを見逃す傾向があるため、より高度なノウハウが必要になる場合があります。
専門の自動化された APIディスカバリーツールが多数あります。たとえば、 API gatewayは、API 呼び出しを受信して誘導する集中型の「仲介者」です。GatewayはAPIのカタログ化と監視に役立ち、通常は業務の一環として多くのAPIディスカバリー作業を実行します。
自動APIディスカバリーを提供する特殊な API 保護サービスは他にもあります。このようなサービスを探すときは、セキュリティー体制、よく知られた標準への準拠 (OpenAPI 仕様、 OWASP トップ 10 API セキュリティー リスクの被害を防ぐなど)、組織のプラットフォームとの統合を提供するプロバイダーを探すのが一般的です。
オートメーションにより、APIのライフサイクルの改善が大幅に効率化され、安全なAPIのみがソフトウェアアプリケーションと関連参考情報にアクセスできるようになります。
進化するビジネス・ニーズに対応する、動的で拡張性の高い統合を可能にします。AIを活用したAPI駆動型のオートメーションです
アプリケーションとシステムを接続して重要なデータに迅速かつ安全にアクセスする IBM 統合ソリューションにより、ビジネスの可能性を最大限に引き出します。
エージェント型AIの時代にハイブリッドクラウドを最大限に活用しましょう