どのようなときに Azure API Management を使用するか

完了

次に、Azure API Management を使用するのが適切な状況を示すいくつかのシナリオについて説明します。 例として食品配達サービスを使用し、API の標準化、API の管理と公開の一元化、API のセキュリティの強化に関する API ライフサイクル管理について調べましょう。 Azure API Management が組織の API インベントリの管理と公開に適した選択であるかどうかを判断するために使用する条件を次に示します。

意思決定の基準

条件 分析
API の数 主な考慮事項は、管理する API の数です。 デプロイする API が多いほど、デプロイの標準化と API 管理の集中化の必要性が高くなります。
API の変更率 次の考慮事項は、組織で API のリビジョンとバージョンの実装が行われる頻度です。 API のリビジョンが作成され、新しい API バージョンが公開される頻度が高いほど、堅牢で柔軟性の高いバージョン コントロール システムが必要になります。
API 管理の負荷 最後の考慮事項は、API に適用されるポリシーのオーバーヘッドの量です。 使用量クォータ、呼び出しペースの制限、要求の変換、要求の検証などのポリシー。 API に必要な構成とオプションが多いほど、標準化されて一元化されたポリシーの実装の必要性が高くなります。

基準を適用する

API のデプロイが大きく、頻繁に変更され、大量のポリシー オーバーヘッドが必要な場合、Azure API Management は、ライフサイクルを通して API を管理するための適切な選択肢です。 ただし、これらの条件は、すべてのユース ケースに等しく適用されるわけではありません。 このような条件がシナリオのユース ケースにどのように適用されるかを考えてみましょう。

Azure API Management を使用して API を標準化する必要があるか

Azure API Management を使用すると、1 つの管理インターフェイスから複数の API を管理することができ、複数の API で一貫性を維持することが容易になります。 次のような多くの API 機能を標準化できます。

  • 仕様。 API の仕様を標準化すると (すべての API への REST の使用や、JSON の名前と値のペアに対する一貫した名前付けスキームの使用など)、開発時間が短縮され、エラーが減少し、顧客の提案や市場の強制に迅速に対応できるようになります。
  • ドキュメント。 API のドキュメントを標準化すると、開発者は API を迅速に利用できるようになります。 また、テクニカル サポートへの問い合わせが減り、開発者による API の使用が促進されます。
  • URL。 API のベース URL を標準化すると、コンシューマーのエラーが減り、API のデプロイの見た目がいっそう専門的になります。
  • 分析。 API 分析を標準化すると、管理チームやエンジニアは複数の API 間で使用状況とパフォーマンスを比較できるようになります。
  • 規制。 政府機関または業界の規則と規制を満たす必要がある API の場合は、標準化によってすべての API のコンプライアンスを確保できます。

Several APIs with varying configurations are imported into Azure API Management. When they emerge from API Management, they have standardized configurations.

ほとんどの場合、以下のことに伴って標準化の必要性が増します。

  • API の数が増える。
  • API の変更頻度が増す。
  • API の管理負荷が大きくなる。

この必要性は、食品配達プラットフォームのシナリオにも当てはまります。これは、モバイル アプリ、Web アプリ、パートナー レストランのすべての API に一貫して必要です。

Azure API Management を使用して API の操作を一元化する必要があるか

Azure API Management を使用して、複数の API を 1 つの管理環境に置くことで、すべての API 操作の一元化が強化されます。 API 管理サービスを使用しないと、管理、デプロイ、開発者のアクセスは API ごとに独自に行われるようになります。 このような分散モデルを使用すると、重複する作業が発生し、オーバーヘッドが増加することがよくあります。 API 操作を一元化すると、次のような利点があります。

  • 管理。 ポリシー作成、ユーザー管理、分析などの管理操作を、Azure API Management によって提供される管理インターフェイスのような 1 つの場所に適用します。 管理タスクを一元化すると、これらのタスクをより簡単かつ効率的に実行できます。
  • デプロイ」を参照してください。 Azure API Management ゲートウェイによって作成されるエンドポイントなど、1 つのベース URL を通してすべての API 要求をルーティングします。 デプロイを一元化すると、ポリシーと変換の適用が容易になります。
  • 開発者アクセス。 ドキュメント、コード サンプル、テスト、サブスクリプションなどのすべての開発者向けリソースを、Azure API Management の開発者ポータルのような 1 つの場所に配置します。 開発者アクセスを一元化すると、開発者は API をいっそう簡単に見つけて使用できるようになります。

API 操作を一元化することによって得られる効率性は、API の数と、API にかかる全体的な管理負荷の量が増えるほど、高くなる傾向があります。 API が頻繁に更新される場合、API を一元化すると、すべての製品に 1 つのバージョン管理スキームを使用できるため、非常に役に立ちます。

これらの要因はすべて、食品配達プラットフォームのシナリオにもよく当てはまります。 たとえば、開発者ポータルによりコンシューマー アクセスを一元化すると、新しい開発者のサインアップが容易になり、プラットフォームの API の収益化が向上します。

Azure API Management を使用して API へのアクセスをセキュリティ保護する必要があるか

Azure API Management は、API のセキュリティを考慮して設計されています。 アプリとデバイスの間でデータを内部および外部交換するとき、本当に多くの組織が API を利用しています。 セキュリティに無計画な手法や一貫性な手法を採用すると、問題を招くだけです。 適切な API セキュリティ戦略では、次のベースが対象となります。

  • 権限: API を操作できるユーザーと、それを使ってできることを制御します。 Azure API Management では、すべての API コンシューマーをユーザーにして、それらのユーザーをグループにまとめることができるため、いっそう簡単かつ効率的に、API アクセスを制御するためのアクセス許可を適用できます。
  • アクセス。 承認されたユーザーのみが要求を送信することを許可します。 Azure API Management では、開発者ポータルでサブスクリプション キーがユーザーに提供され、複数の認証形式と JSON Web Token を使用して API へのアクセスを制限することができます。
  • 保護。 悪意のある使用から API をセキュリティで保護します。 Azure API Management を使用すると、レート制限と使用量クォータを使用して API アクセスを調整し、コンシューマーによる API の誤使用 (意図的または偶発的) を防ぐことができます。
  • コンプライアンス。 企業または政府のすべてのセキュリティ ポリシーを API が満たすようにします。 すべての API を Azure API Management にまとめると、コンプライアンスを実現するセキュリティ ポリシーによってそれらの API を簡単に構成できるようになります。

管理する API が多いほど、セキュリティの必要性が高まります。 API が多いほど、攻撃対象が大きくなり、偶発的なデータ侵害やリークのリスクが大きくなります。 また、API の変更頻度が高いほど、リビジョンまたは新しいバージョンでセキュリティの欠陥が発生する可能性が高くなります。

これらのセキュリティ上の懸念は、この食品配達シナリオにおいて最も重要なものです。 プラットフォームによって、レストランの支払い、顧客の名前と住所、配達車両の場所など、大量の機密データが生成されて格納されます。