API プロダクトを管理する

このセクションに説明されている方法で、Apigee Edge 管理 UI を使用して API プロダクトを管理します。API を使って API プロダクトを管理するには、Edge 管理 API での API の公開をご覧ください。

API プロダクトの作成方法については、次の動画をご覧ください。

API プロダクトの概要については、API プロダクトとはをご覧ください。

[API Products] ページの詳細

下記の手順に従って [API Products] ページにアクセスします。

Edge

Edge UI で [API Products] ページにアクセスするには:

  1. https://apigee.com/edge にログインします。
  2. [Publish] > [API Products] を選択します。

[API Products] ページが表示されます。

API プロダクトのリストが表示されている [API Products] ページ。図の下で一覧表示されている実行可能なタスクが、コールアウトとして示されています。

上の図に示されているように、[API Products] ページでは次のタスクを行うことができます。このセクションでは、これらのタスクについて説明します。

Classic Edge(Private Cloud)

Classic Edge UI で [API Products] ページにアクセスするには:

  1. http://ms-ip:9000 にログインします。ms-ip は Management Server ノードの IP アドレスまたは DNS 名です。
  2. [Publish] > [Products] を選択します。

[API Products] ページでは、次のタスクを行うことができます。このセクションでは、これらのタスクについて説明します。

API プロダクトを追加する

UI を使用して API プロダクトを追加するには、以下の手順を行います。Edge API を使用する場合は、API を使用して API プロダクトを構成するをご覧ください。

Edge UI を使用して API プロダクトを追加するには:

  1. このセクションですでに説明した手順に従って [API Products] ページにアクセスします。
  2. [+ API Product] をクリックします。
  3. [Product details] に、API プロダクトの詳細を入力します。
    フィールド 説明
    Name API プロダクトの内部名。名前には特殊文字を使用しないでください。
    注: API プロダクトの作成後に、この名前を編集することはできません。
    Display name API プロダクトの表示名。UI ではこの表示名が使用されます。表示名はいつでも編集できます。指定しない場合、[Name] に入力した値が使用されます。このフィールドには [Name] の値が自動的に入力されます。入力された値を編集または削除できます。表示名には特殊文字を含めることができます。
    Description API プロダクトの説明。
    Environment API プロダクトでのアクセス許可の対象となる環境。たとえば、testprod などです。
    Access アクセスレベル。詳しくは、アクセスレベルをご覧ください。
    Automatically approve access requests この API プロダクトに対する任意のアプリからのキーリクエストの自動承認を有効にします。手動によるキーの承認を必須にするには、このオプションを無効にしてください。アプリの登録と API キーの管理(UI)、および Developer App Keys(API)をご覧ください。
    Quota 割り当てポリシーから参照される割り当て制限。割り当て制限値を入力しても、このプロダクトを介して実行できる API 呼び出し回数に対して制限が自動的に適用されることはありません。割り当てを適用するには、プロダクトが参照する API プロキシに割り当てポリシーを組み込む必要があります。詳しくは、割り当てをご覧ください。
    Allowed OAuth Scopes API プロダクトで OAuth を使用している場合、API プロダクトで許可される OAuth スコープ(アプリが API 呼び出しとともに送信する「読み取り」などのスコープ)。複数のスコープを指定する場合は、カンマ区切りのリストとして指定します。OAuth スコープをご覧ください。
  4. API プロダクト内で使用可能にする API リソースを追加します(API プロキシやリソースパスなど)。

    警告: API プロダクトに API プロキシを 1 つも追加しない場合、アプリ デベロッパーはすべての API プロキシとリソースパスにアクセスできます。

    たとえば、ベースパス /music を指定した「music」API プロキシをプロダクトに追加すると、API プロダクトは /music に対する呼び出しを許可します。一方、URI が /music/venues であるリソースパス venues へのアクセスだけを API プロダクトで許可する必要がある場合は、リソースパス /venues をプロダクトに追加します。この場合、/music/venues?name=paramount に対する呼び出しは許可されますが、/music/artists?name=Jack%Johnson に対する呼び出しはブロックされます。

    特定のリソースパスを設定します。またはリソースパスを / と指定すると、ベースパスおよび可能なすべてのサブパスが設定されます。リソースパスにはワイルドカードとして /**/* を含めることができます。アスタリスク 2 個のワイルドカードを指定した場合、ベースパスのすべてのサブパスがサポートされますが、ベースパスはサポートされません。アスタリスク 1 個は、ベースパスから 1 レベル下の URI のみがサポートされることを示します。このセクションで後述するリソースパス「/」、「/*」、「/**」の動作を構成するをご覧ください。

    API リソースを追加するには:

    1. [API resources] セクションで [Add a proxy] または [Add a path] をクリックします。
    2. [API proxy]、[Path]、または [API proxy and path] をオンにして、API プロキシ、リソースパス、またはこの両方を追加できるようにします。

      [Add API resource] セクションを使用して、API プロキシ、リソースパス、またはこの両方を追加できます。

    3. 1 つ以上の API プロキシとリソースパスを追加します。

      警告: API プロダクトに API プロキシを 1 つも追加しない場合、アプリ デベロッパーはすべての API プロキシとリソースパスにアクセスできます。

      次の点にご注意ください。

      • 定義したリソースパスは、API プロダクトに追加されたすべての API プロキシに適用されます。
      • より包括的で一般的なリソースパスは、より具体的で限定的なリソースパスよりも優先されます。たとえば、//** を追加した場合、/ リソースパスが優先され、/** リソースパスは無視されます。

      例:

      すべての API プロキシに適用されるリソースパスとより具体的なリソースパスは無視されます。

    4. [Add] または [Add and Start another] をクリックします(さらに API リソースを指定する場合)。

    : API リソースを編集することはできません。代わりに、既存の API リソースを削除し、正しい値を設定した新しいバージョンを追加する必要があります。

  5. (省略可)[Istio Services] フィールドを使用して、プロダクトを 1 つ以上の Istio サービスにバインドします。Apigee Adapter for Istio のコンセプトを使用している場合を除き、この設定を無視できます。
  6. (省略可)最大 18 個のカスタム属性を API プロダクトに追加します。

    カスタム属性は、API プロキシの実行の制御など、さまざまな用途で使用できる Key-Value のペアです。たとえば値 true または false を持つ deprecated というカスタム属性を作成するとします。その場合、API プロキシフローでは、(たとえばカスタム属性の作成後に自動的に使用可能になる verifyapikey.{policy_name}.apiproduct.deprecated 変数を使って)API プロダクトの deprecated 属性値を検査できます。値が true(つまり非推奨)の場合は、Raise Fault ポリシーでエラーをスローできます。

  7. [保存] をクリックします。

リソースパス「/」、「/*」、「/**」の動作を構成する

次の表に、さまざまなリソースパスに対する API プロダクトのデフォルトの動作を記載します。この例では、API プロキシのベースパスは /v1/weatherapikey です。API プロダクトのリソースパスは、このベースパスに続くパス接尾辞です。

リクエスト URI / で許可される /* で許可される /** で許可される /*/2/** で許可される /*/2/* で許可される

/v1/weatherapikey

Y

N

N

N

N

/v1/weatherapikey/

Y

N

N

N

N

/v1/weatherapikey/1

Y

Y

Y

N

N

/v1/weatherapikey/1/

Y

Y

Y

N

N

/v1/weatherapikey/1/2

Y

N

Y

N

N

/v1/weatherapikey/1/2/

Y

N

Y

Y

N

/v1/weatherapikey/1/2/3/

Y

N

Y

Y

Y

/v1/weatherapikey/1/a/2/3/

Y

N

Y

N

N

API プロダクトではデフォルトで、リソースパス「/」がベースパスとそのすべてのサブパスをサポートします。たとえば API プロキシのベースパスが /v1/weatherapikey である場合、API プロダクトは /v1/weatherapikey に対するリクエストと、/v1/weatherapikey/forecastrss/v1/weatherapikey/region/CA などのすべてのサブパスに対するリクエストをサポートします。

このデフォルトを変更して、リソースパス「/」を API プロキシのベースパスだけに一致させることができます。つまり API プロダクトは、「/」の後にさらにパスが続く URI へのアクセスを許可しません。このように変更すると、上記の表の「/ で許可される」の下の最初の 2 行にのみ「Y」が記載されることになります。

デフォルトを変更するには、システム管理者が組織の features.isSingleForwardSlashBlockingEnabled プロパティの値を true に設定する必要があります。Cloud のお客様は Apigee サポートにこの変更をリクエストできます。

API プロダクトの編集

API プロダクトを編集するには:

  1. このセクションですでに説明した手順に従って [API Products] ページにアクセスします。
  2. 編集する API プロダクトの行をクリックします。
  3. API プロダクトのページで [Edit] をクリックします。
  4. 必要に応じて、項目を編集します。

    API プロダクトに追加したリソースを削除できます。これは、リソースに不具合がある場合や、さらに開発が必要な場合に行うことができます。リソースを削除すると、そのリソースは API プロダクトの一部ではなくなります。その API プロダクトを使用するすべてのアプリで、削除されたリソースにアクセスできなくなります。削除したリソースはプロダクトから削除されますが、システムからは削除されないので、他のプロダクトで引き続き使用できます。

  5. [保存] をクリックします。

Apigee Edge for Public Cloud を使用すると、次に示すエンティティにアクセスした場合、Edge はアクセスしたエンティティを少なくとも 180 秒間キャッシュに保持します。

  • OAuth アクセス トークン。つまり、OAuth v2 ポリシーの ExpiresIn 要素によって、アクセス トークンを 180 秒未満で期限切れにすることはできません。
  • Key Management Service(KMS)エンティティ(アプリ、デベロッパー、API プロダクト)。
  • OAuth トークンと KMS エンティティのカスタム属性

API プロダクトの削除

API プロダクトを削除するには:

  1. このセクションですでに説明した手順に従って [API Products] ページにアクセスします。
  2. リスト内の API プロダクトにカーソルを合わせます。
  3. [削除アイコン] をクリックします。
  4. [Delete] をクリックして削除操作を確認します。