API ライフサイクルとは

アプリケーション・プログラミング・インターフェース(API)は、デジタル経済の不可欠な構成要素となっています。さまざまなソフトウェアコンポーネントが簡単に相互通信できるようになるため、API はイノベーション、迅速なソフトウェア開発、プラットフォーム間でのデータ共有機能に不可欠です。

API ライフサイクルとは、API を設計、構築、管理し、最終的に廃止するプロセスです。API ライフサイクルは、新しい API のアイデアから始まり、設計、開発、テスト、展開へと進み、最終段階であるデプリケーションへ至ります。ライフサイクルの各段階が、API の機能、安全性、ユーザーに対する価値の維持に寄与します。

API ライフサイクル管理

API ライフサイクル管理とは、ライフサイクルのすべての段階において API を戦略的に監視し、管理することを指します。API ライフサイクル管理は、API の開発と展開のさまざまな段階を連係させることで、API が高品質の機能を提供し、サイバー脅威から保護され、API 関係者のニーズを満たすようにします。

通常、複数のチームが API ライフサイクル管理の責任を負います。

  • 開発チームは API の設計、開発、テストを担当します。

  • DevOps チームは展開、自動化、本番環境のメンテナンスに注力します。 

  • 製品マネージャーは API 戦略の策定やユースケースの定義に関与する場合があります。

API ライフサイクルの段階

ライフサイクル全体を通じた API 管理のさまざまなフェーズを示す図。

ライフサイクル全体を通じた API 管理にはさまざまなフェーズがあり、それらの定義もさまざまです。しかし、ほとんどの API プログラムには次の段階が含まれます。

1.計画と設計

API ライフサイクルの初期設計フェーズでは、API 戦略を確立し、API の目的を定め、潜在的なユースケースを特定し、API の機能の概要をまとめます。API の設計では、API アーキテクチャを決定する必要があります。API アーキテクチャとは、特にマイクロサービスアーキテクチャにおける他のシステムやコンポーネントとのインタラクションの方法を定める、API の構造に関する大まかな計画です。API コントラクトに、期待される API のふるまいの概要をまとめます。API の設計には、API の仕様とスキーマの作成も含まれます。多くの場合、REST API には OpenAPI、GraphQL API には SDL、さまざまなタイプの API のドキュメント化とテストには Swagger というように、さまざまなツールを使用します。

2.開発

開発フェーズでは、開発チームが API コントラクトに記載されている仕様に合わせて API をコーディングします。また、さまざまな設定やパラメーターを使用して API を設定し、API がどのように動作し、他のシステムとのインタラクションを行うかを定めます。設定には、エンドポイント、メソッド、認証メカニズム、レート制限、応答形式、および API が正常かつ安全に機能するようにするその他の重要な要素を指定することが含まれます。

3.テスト

このフェーズでは、API をランタイム環境での厳格なテストに送り、ソフトウェアの脆弱性やバグを特定して修正します。API テストでは、API が定められた仕様を満たし、意図したとおりにエンドポイントと連携するようにします。品質保証テスターは、各 API の機能、パフォーマンス、セキュリティを手動でテストします。組織は、開発ライフサイクルの早い段階で API のテストを開始し、次のことを行う必要があります。

  • 各 API に適切なセキュリティ制御が組み込まれるようにする 

  • API が本番環境に到達する前に、コーディングエラーや誤設定などの潜在的な脆弱性に対処する

API テストは、地理的に異なる地域から行われる場合もあれば、CI/CD パイプライン内で自動的に行われる場合もあります。API テストには次のようなさまざまなテストが含まれます。

  • API が設計段階で示された期待に沿っていることを確認するコントラクトテスト

  • API が指定された時間内に応答できることを確認するパフォーマンステスト

  • API の脆弱性を見つけて修正するための API セキュリティテスト

API セキュリティテストの詳細については、以下の「API セキュリティのための主な機能」を参照してください。

4.展開

テストに合格したら、API は本番環境に展開されます。開発チームは、CI/CD パイプラインと API ゲートウェイを使用して、展開プロセスの標準化と自動化を行うことができます。展開中に、外部ユーザーや開発者がパブリック API を利用できるようになります。

5.監視とメンテナンス

展開後、API のパフォーマンス、セキュリティ、使用状況が継続的に監視されます。DevOps エンジニアは、API のパフォーマンスとセキュリティが一定のしきい値や指標を満たしていない場合に自動的に通知するようにアラートを設定できます。このフェーズでは、メンテナンスやアップデートによって対処されるであろうセキュリティ上の脆弱性、エラー、レイテンシーが明らかになります。

6.バージョン管理とアップデート

API 内の問題が発見された場合、開発チームと DevOps チームが新しいバージョンの API を開発してリリースする可能性があります。これらのバージョンは、後方互換性を確保するように管理する必要があります。

7.デプリケーションおよび廃止

デプリケーションとは、API が時代遅れになった場合や、重大な問題があるため新しいバージョンが必要である場合に、API を置き換えることを意味します。デプリケーション時には、関係者とユーザーに通知し、廃止のタイムラインを提示します。廃止の際には、DevOps チームが 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 トラフィックを分析する

  • 既存のワークフロー(チケット発行、SIEM など)と統合して、セキュリティ/運用チームに警告する

  • 攻撃や悪用をリアルタイムで阻止し、修復の一部または全部を自動化する 

API セキュリティテスト:API 開発チームは、1 秒でも早く作業するよう求められています。あらゆるアプリケーションの開発において、スピードは非常に重要です。しかし、急ぐあまり脆弱性や設計上の欠陥が発生しやすくなったり、検知されないまま進行してしまったりするものです。開発中の API は、本番環境にリリースする前にテストを実施しておくことで、リスクだけでなく、脆弱な API を修正するコストも大幅に軽減することができます。必要なコア機能は次のとおりです。

  • さまざまな自動テストを実行して、悪性トラフィックをシミュレーションする

  • API を本番環境に展開する前に脆弱性を発見し、攻撃が成功するリスクを緩和する

  • 定められたガバナンスポリシーやルールに照らして、API の仕様を確認する

  • API に特化したセキュリティテストをオンデマンドで、または CI/CD パイプラインの一環として実行する

API ライフサイクル管理の利点

効果的な API ライフサイクル管理は、組織やチームにいくつかの大きなメリットをもたらします。

  • 高品質の API:適切なライフサイクル管理により、API が適切に設計され、セキュリティが確保され、ユーザーのニーズが満たされるようになります。

  • 強力な API セキュリティ:チームはライフサイクル管理を通じて API の脆弱性を特定して修正し、攻撃者が API を攻撃ベクトルとして使用できないようにすることで、API セキュリティを強化できます。

  • 効率的な開発:質の高いライフサイクル管理により、開発プロセスが合理化されるため、チームは新しい API やバージョンを迅速に作成できます。

  • パフォーマンスの向上:API ライフサイクル中の継続的な監視は、API パフォーマンスを最大限に高めるために役立ちます。

  • バージョン管理:API ライフサイクル管理により、チームは API を新しいバージョンにシームレスにアップグレードしたり、必要に応じて過去のバージョンに戻したりできるようになります。

API ライフサイクル管理の課題

API ライフサイクル管理は、IT チームにいくつかの課題をもたらす可能性があります。

  • セキュリティ:API は機微な情報を公開することが多く、セキュリティが不十分であることが多いため、サイバー犯罪者にとって主要な攻撃ベクトルとなっています。脅威を防止するために、セキュリティチームはレート制限、堅牢な認証、コード内のセキュリティ上の脆弱性の特定と根絶のための機能を導入する必要があります。

  • バージョン管理:チームは、既存の統合で問題が発生しないようにするために、API の新しいバージョンごとに後方互換性を確保する必要があります。

  • ドキュメンテーション:最新のドキュメントを維持することは、開発者や API を利用する関係者にとって不可欠です。チームは急いで新しいバージョンの開発と展開を行うため、このタスクは見落とされがちです。

API ライフサイクルを管理するためのツール

IT チームはさまざまな API 管理ソリューションを使用し、API ライフサイクルを進めることができます。

  • API 管理プラットフォーム:AWS API Gateway や Microsoft Azure API Management などのプラットフォームは、API エコシステムの管理、セキュリティ確保、監視のための包括的なソリューションを提供します。

  • API 設計ツール:Swagger や OpenAPI などのソリューションは、API の仕様やドキュメントを作成するためのツールを提供します。

  • 自動化ツール:API のテストと展開の際に、Jenkins や GitLab CI/CD などのツールを使用してワークフローを合理化できます。

  • API 分析:Google Analytics for API などのプラットフォームは、API の使用状況、パフォーマンス、指標を追跡します。

  • 開発者ポータル:これは、API ドキュメント、テスト、コミュニティエンゲージメントのための一元化されたハブを提供します。

よくある質問

API(アプリケーション・プログラミング・インターフェース)は、さまざまなソフトウェアコンポーネントやプログラムが相互に通信してデータを共有するための一連のプロトコルと定義です。API は、アプリケーションがインタラクションを行う方法を定めることで、さまざまなアプリケーションが情報を要求して共有できるようにします。

API ライフサイクルとは、IT チームが API の設計、開発、テスト、展開、監視、廃止を行うために実行する一連のステップです。

API ファーストは、開発プロセス全体を通じて API を重視する開発モデルです。API ファーストのアプローチでは、API を開発の基礎的要素として認識し、API を後回しで処理するのではなく、他のアプリケーションよりも前に API のコードを記述します。

Akamai が選ばれる理由

Akamai はサイバーセキュリティとクラウドコンピューティングを提供することで、オンラインビジネスの力となり、守っています。市場をリードするセキュリティソリューション、優れた脅威インテリジェンス、そして世界中の運用チームが、あらゆるところで企業のデータとアプリケーションを多層防御で守ります。Akamai のフルスタック・クラウドコンピューティング・ソリューションは、世界で最も分散されたプラットフォーム上で、パフォーマンスと手頃な価格を両立します。安心してビジネスを展開できる業界トップクラスの信頼性、スケール、専門知識の提供により、Akamai はグローバル企業の信頼を獲得しています。

Akamai の全セキュリティソリューションをご紹介