API Management とはWhat is API Management?

API Management (APIM) が組織にもたらす利点は、外部のパートナーや社内の開発者に API を公開することによって、社内に眠っているデータやサービスの可能性を発掘できることです。API Management (APIM) helps organizations publish APIs to external, partner, and internal developers to unlock the potential of their data and services. どの企業も、その業務をデジタル プラットフォームで拡大し、新しい販路と顧客を開拓すると共に、既存の顧客との絆を深めようと模索しています。Businesses everywhere are looking to extend their operations as a digital platform, creating new channels, finding new customers and driving deeper engagement with existing ones. API Management は、開発者の取り組み、ビジネス インサイト、分析、セキュリティ、保護を通じて API プログラムの価値を高め、企業にコア コンピテンシーをもたらします。API Management provides the core competencies to ensure a successful API program through developer engagement, business insights, analytics, security, and protection. Azure API Management を任意のバックエンドで実行し、それに基づいて本格的な API プログラムを起動できます。You can use Azure API Management to take any backend and launch a full-fledged API program based on it.

Azure API Management の概要や、API Management を使用して最小限の操作で多くの機能 (アクセス制御、レート制限、監視、イベント ログ、応答のキャッシュなど) を API に追加する方法については、次のビデオをご覧ください。Watch the following video for an overview of Azure API Management and learn how to use API Management to add many features to your API, including access control, rate limiting, monitoring, event logging, and response caching, with minimal work on your part.

このトピックでは、APIM に関連する一般的なシナリオの概要について説明します。This topic provides an overview of common scenarios that involve APIM. また、APIM システムの主要コンポーネントの概要についても説明します。It also gives a brief overview of the APIM system's main components. さらに、各コンポーネントの詳細な概要を示します。The topic, then, gives a more detailed overview of each component.

概要Overview

API Management を使用するには、管理者が API を作成します。To use API Management, administrators create APIs. API はそれぞれ、少なくとも 1 つの操作で構成され、1 つまたは複数の成果物に追加することができます。Each API consists of one or more operations, and each API can be added to one or more products. API を使用する開発者は、その API を含んだ成果物をサブスクライブしたうえで、使用ポリシーが適用されていればその範囲の中で、API の操作を呼び出すことができます。To use an API, developers subscribe to a product that contains that API, and then they can call the API's operation, subject to any usage policies that may be in effect. 一般的なシナリオは、次のとおりです。Common scenarios include:

  • モバイル インフラストラクチャのセキュリティを強化する。API キーによるアクセス制御、スロットル処理による DOS 攻撃の防止、JWT トークン検証などの高度なセキュリティ ポリシーの使用によって、これを行います。Securing mobile infrastructure by gating access with API keys, preventing DOS attacks by using throttling, or using advanced security policies like JWT token validation.
  • ISV パートナー エコシステムを可能にする。開発者ポータルを通したパートナーとの迅速な協力の提供と、パートナーによる使用の準備が整っていない内部実装から切り離された API ファサードの構築によって、これを行います。Enabling ISV partner ecosystems by offering fast partner onboarding through the developer portal and building an API facade to decouple from internal implementations that are not ripe for partner consumption.
  • 内部 API プログラムを実行する。組織が可用性と API に対する最新の変更を伝達するための一元的な場所の提供と、組織アカウントに基づいたアクセスの制限によって、これを行います。そのすべてが、API ゲートウェイとバックエンドの間のセキュリティ保護されたチャネルに基づいて実行されます。Running an internal API program by offering a centralized location for the organization to communicate about the availability and latest changes to APIs, gating access based on organizational accounts, all based on a secured channel between the API gateway and the backend.

システムは、次のコンポーネントで構成されます。The system is made up of the following components:

  • API ゲートウェイ。これは次の機能を持つエンドポイントです。The API gateway is the endpoint that:

    • API 呼び出しを受け入れ、バックエンドにルーティングします。Accepts API calls and routes them to your backends.
    • API キー、JWT トークン、証明書、その他の資格情報を検証します。Verifies API keys, JWT tokens, certificates, and other credentials.
    • 使用量クォータとレート制限を適用しますEnforces usage quotas and rate limits.
    • コードを変更せずにその場で API を変換します。Transforms your API on the fly without code modifications.
    • セットアップ時にバックエンドの応答をキャッシュします。Caches backend responses where set up.
    • 分析目的で呼び出しメタデータを記録します。Logs call metadata for analytics purposes.
  • パブリッシャー ポータル は、API プログラムをセットアップする管理インターフェイスです。The publisher portal is the administrative interface where you set up your API program. このインターフェイスを使用して、次の操作を行います。Use it to:

    • API スキーマを定義またはインポートします。Define or import API schema.
    • API を製品にパッケージします。Package APIs into products.
    • API のクォータや変換などのポリシーを設定します。Set up policies like quotas or transformations on the APIs.
    • 分析から洞察を得ます。Get insights from analytics.
    • ユーザーを管理します。Manage users.
  • 開発者ポータル は、開発者用のメイン Web として機能し、次の操作を実行できます。The developer portal serves as the main web presence for developers, where they can:

    • API のドキュメントを読みます。Read API documentation.
    • 対話型コンソールを使用して API を試します。Try out an API via the interactive console.
    • API キーを取得するために、アカウントを作成してサブスクライブします。Create an account and subscribe to get API keys.
    • 自分自身の使用に関する分析にアクセスします。Access analytics on their own usage.

詳細については、 クラウド ベースの API Management: API が持つ力の活用 に関する PDF ホワイトペーパーをご覧ください。For more information, see the Cloud-based API Management: Harnessing the Power of APIs PDF whitepaper. CITO Research 社が作成した API Management に関するこの概要ホワイト ペーパーでは、次のトピックが取り上げられています。This introductory whitepaper on API Management by CITO Research covers:

  • API の一般的な要件と課題Common API requirements and challenges
  • API の分離とファサードの提供Decoupling APIs and presenting facades
  • 開発者の準備時間の短縮Getting developers up and running quickly
  • アクセスのセキュリティ保護Securing access
  • 分析とメトリックAnalytics and metrics
  • API Management プラットフォームを使用した制御と把握Gaining control and insight with an API Management platform
  • クラウド ソリューションとオンプレミス ソリューションの利用の違いUsing cloud vs on-premises solutions
  • Azure API ManagementAzure API Management

API と操作 APIs and operations

API Management サービス インスタンスの基礎となるのは API です。APIs are the foundation of an API Management service instance. それぞれの API は、開発者が利用できる一連の操作を表します。Each API represents a set of operations available to developers. 各 API は、それを実装するバックエンド サービスへの参照を含んでおり、その操作は、バックエンド サービスに実装されている操作と対応します。Each API contains a reference to the back-end service that implements the API, and its operations map to the operations implemented by the back-end service. 操作は、API Management で細かく設定することができます。URL のマッピング、クエリとパスのパラメーター、要求と応答の内容、操作から返される応答のキャッシュを制御することが可能です。Operations in API Management are highly configurable, with control over URL mapping, query and path parameters, request and response content, and operation response caching. また、レート制限、クォータ、IP 制限のポリシーを API レベルや個々の操作レベルで導入することもできます。Rate limit, quotas, and IP restriction policies can also be implemented at the API or individual operation level.

詳細については、API の作成方法に関するページと API に操作を追加する方法に関するページを参照してください。For more information, see How to create APIs and How to add operations to an API.

成果物 Products

開発者から見える API の全体像が成果物です。Products are how APIs are surfaced to developers. API Management の成果物には、少なくとも 1 つの API が含まれており、タイトルや説明、使用条件などが設定されます。Products in API Management have one or more APIs, and are configured with a title, description, and terms of use. 成果物の種類には、オープンな成果物と保護された成果物があります。Products can be Open or Protected. 保護された成果物を使用するには、事前にサブスクライブする必要があります。一方、オープンな成果物は、サブスクライブせずに使用できます。Protected products must be subscribed to before they can be used, while open products can be used without a subscription. 開発者に使用してもらう準備が整ったら、成果物を発行することができます。When a product is ready for use by developers, it can be published. 発行された成果物は、開発者が見ることができます (保護された成果物の場合は、開発者がサブスクライブできるようになります)。Once it is published, it can be viewed (and in the case of protected products subscribed to) by developers. サブスクリプションの承認は成果物レベルで構成します。管理者による承認を必須とするか自動的に承認するかを選択できます。Subscription approval is configured at the product level and can either require administrator approval, or be auto-approved.

開発者に成果物の表示を許可するかどうかは、グループを使用して管理します。Groups are used to manage the visibility of products to developers. 成果物の表示の可否はグループに対して付与されます。開発者は、自分が所属するグループから見える成果物を表示してサブスクライブすることができます。Products grant visibility to groups, and developers can view and subscribe to the products that are visible to the groups in which they belong.

グループ Groups

開発者に成果物の表示を許可するかどうかは、グループを使用して管理します。Groups are used to manage the visibility of products to developers. API Management には、次に示すシステム グループが用意されています。これらのシステム グループを変更することはできません。API Management has the following immutable system groups:

  • 管理者 - Azure サブスクリプション管理者は、このグループのメンバーです。Administrators - Azure subscription administrators are members of this group. 管理者は、API Management サービス インスタンスを管理します。開発者が使用する API とその操作、成果物は、管理者が作成します。Administrators manage API Management service instances, creating the APIs, operations, and products that are used by developers.
  • 開発者 - 認証された開発者ポータル ユーザーは、このグループに分類されます。Developers - Authenticated developer portal users fall into this group. 開発者は、API の利用者です。管理者によって作成された API を使用してアプリケーションを構築します。Developers are the customers that build applications using your APIs. 開発者は、開発者ポータルへのアクセスが認められており、API の操作を呼び出すアプリケーションを構築します。Developers are granted access to the developer portal and build applications that call the operations of an API.
  • ゲスト - API Management インスタンスの開発者ポータルに訪れる開発者ポータル ユーザーのうち、認証を受けていないもの (利用予定者など) がこのグループに該当します。Guests - Unauthenticated developer portal users, such as prospective customers visiting the developer portal of an API Management instance fall into this group. 特定の読み取り専用アクセスを許可することができます (API の閲覧はできるが、呼び出すことはできないなど)。They can be granted certain read-only access, such as the ability to view APIs but not call them.

管理者は、これらのシステム グループに加えてカスタム グループを作成できるほか、 関連付けられている Azure Active Directory テナントの外部グループを活用することもできます。In addition to these system groups, administrators can create custom groups or leverage external groups in associated Azure Active Directory tenants. カスタム グループと外部グループをシステム グループと共に使用することにより、開発者には API 成果物の可視性とアクセスが提供されます。Custom and external groups can be used alongside system groups in giving developers visibility and access to API products. たとえば、特定のパートナー企業に所属する開発者向けにカスタム グループを 1 つ作成し、関連する API のみが含まれている成果物の API に対してアクセスを許可することができます。For example, you could create one custom group for developers affiliated with a specific partner organization and allow them access to the APIs from a product containing relevant APIs only. ユーザーは 複数のグループのメンバーになることができます。A user can be a member of more than one group.

詳細については、グループを作成して使用する方法に関するページを参照してください。For more information, see How to create and use groups.

開発者 Developers

開発者は、API Management サービス インスタンス内のユーザー アカウントです。Developers represent the user accounts in an API Management service instance. 開発者アカウントは、管理者が作成したり参加を呼びかけたりすることができるほか、開発者ポータルからサインアップすることもできます。Developers can be created or invited to join by administrators, or they can sign up from the Developer portal. それぞれの開発者はグループ (複数可) に所属し、そのグループに閲覧が認められている成果物のサブスクリプションを得ることができます。Each developer is a member of one or more groups, and can be subscribe to the products that grant visibility to those groups.

成果物のサブスクリプションを持つ開発者には、その成果物へのプライマリ キーとセカンダリ キーが付与されます。When developers subscribe to a product they are granted the primary and secondary key for the product. 成果物の API を呼び出す際は、このキーを使用することになります。This key is used when making calls into the product's APIs.

詳細については、開発者を作成または招待する方法に関するページと、グループを開発者に関連付ける方法に関するページを参照してください。For more information, see How to create or invite developers and How to associate groups with developers.

ポリシー Policies

ポリシーは、発行者がその構成を通じて API の動作を変更できる、API Management の強力な機能の 1 つです。Policies are a powerful capability of API Management that allow the publisher to change the behavior of the API through configuration. API の要求または応答に対して順に実行される一連のステートメントが集まってポリシーが形成されます。Policies are a collection of statements that are executed sequentially on the request or response of an API. 代表的なステートメントとしては、XML 形式から JSON 形式への変換や、(開発者からの呼び出しの回数を制限する) 呼び出しレート制限が挙げられ、他にも数多くのポリシーが利用できます。Popular statements include format conversion from XML to JSON and call rate limiting to restrict the number of incoming calls from a developer, and many other policies are available.

ポリシーの式は、ポリシーで特に指定されていない限り、任意の API Management ポリシーで属性値またはテキスト値として使用できます。Policy expressions can be used as attribute values or text values in any of the API Management policies, unless the policy specifies otherwise. 制御フロー ポリシーや変数の設定ポリシーなど、一部のポリシーはポリシーの式に基づいています。Some policies such as the Control flow and Set variable policies are based on policy expressions. 詳細については、「詳細なポリシー」と「ポリシーの式」をご覧ください。For more information, see Advanced policies and Policy expressions.

API Management の全ポリシー一覧については、ポリシー リファレンスに関するページを参照してください。For a complete list of API Management policies, see Policy reference. ポリシーの使用と構成の詳細については、API Management のポリシーに関するページを参照してください。For more information on using and configuring policies, see API Management policies. レート制限ポリシーとクォータ ポリシーを持つ成果物の作成に関するチュートリアルについては、成果物の詳細設定を作成して構成する方法に関するページを参照してください。For a tutorial on creating a product with rate limit and quota policies, see How create and configure advanced product settings.

開発者ポータル Developer portal

開発者ポータルは、開発者が API の使用法を習得したり、操作を確認して呼び出したり、成果物をサブスクライブしたりすることができる場です。The developer portal is where developers can learn about your APIs, view and call operations, and subscribe to products. 利用予定者は、開発者ポータルにアクセスして、API と操作を閲覧したうえで、サインアップすることができます。Prospective customers can visit the developer portal, view APIs and operations, and sign up. 開発者ポータルの URL は、API Management サービス インスタンスの Azure Portal のダッシュボードに示されます。The URL for your developer portal is located on the dashboard in the Azure portal for your API Management service instance.

カスタム コンテンツを追加したり、スタイルをカスタマイズしたり、貴社のブランドを追加したりすることによって、開発者ポータルのルック アンド フィールをカスタマイズすることができます。You can customize the look and feel of your developer portal by adding custom content, customizing styles, and adding your branding.

API Management と API エコノミーAPI Management and the API economy

API Management の詳細については、Microsoft Ignite 2017 カンファレンスの次のプレゼンテーションを参照してください。To learn more about API Management, watch the following presentation from the Microsoft Ignite 2017 conference.

次のステップNext steps

次のクイックスタートを完了して、Azure API Management の使用を開始します。Complete the following quickstart and start using Azure API Management: