このセクションに説明されている方法で、Apigee Edge 管理 UI を使用して API プロダクトを管理します。API を使って API プロダクトを管理するには、Edge 管理 API での API の公開をご覧ください。
API プロダクトの作成方法については、次の動画をご覧ください。
API プロダクトの概要については、API プロダクトとはをご覧ください。
[API Products] ページの詳細
下記の手順に従って [API Products] ページにアクセスします。
Edge
Edge UI で [API Products] ページにアクセスするには:
- https://apigee.com/edge にログインします。
- [Publish] > [API Products] を選択します。
[API Products] ページが表示されます。
上の図に示されているように、[API Products] ページでは次のタスクを行うことができます。このセクションでは、これらのタスクについて説明します。
- API プロダクトを追加する
- API プロダクトを編集、削除する
- API プロダクトのリストを検索する
Classic Edge(Private Cloud)
Classic Edge UI で [API Products] ページにアクセスするには:
http://ms-ip:9000
にログインします。ms-ip は Management Server ノードの IP アドレスまたは DNS 名です。- [Publish] > [Products] を選択します。
[API Products] ページでは、次のタスクを行うことができます。このセクションでは、これらのタスクについて説明します。
- API プロダクトを追加する
- API プロダクトを編集、削除する
- API プロダクトのリストを検索する
API プロダクトを追加する
UI を使用して API プロダクトを追加するには、以下の手順を行います。Edge API を使用する場合は、API を使用して API プロダクトを構成するをご覧ください。
Edge UI を使用して API プロダクトを追加するには:
- このセクションですでに説明した手順に従って [API Products] ページにアクセスします。
- [+ API Product] をクリックします。
- [Product details] に、API プロダクトの詳細を入力します。
フィールド 説明 Name API プロダクトの内部名。名前には特殊文字を使用しないでください。
注: API プロダクトの作成後に、この名前を編集することはできません。Display name API プロダクトの表示名。UI ではこの表示名が使用されます。表示名はいつでも編集できます。指定しない場合、[Name] に入力した値が使用されます。このフィールドには [Name] の値が自動的に入力されます。入力された値を編集または削除できます。表示名には特殊文字を含めることができます。 Description API プロダクトの説明。 Environment API プロダクトでのアクセス許可の対象となる環境。たとえば、 test
やprod
などです。Access アクセスレベル。詳しくは、アクセスレベルをご覧ください。 Automatically approve access requests この API プロダクトに対する任意のアプリからのキーリクエストの自動承認を有効にします。手動によるキーの承認を必須にするには、このオプションを無効にしてください。アプリの登録と API キーの管理(UI)、および Developer App Keys(API)をご覧ください。 Quota 割り当てポリシーから参照される割り当て制限。割り当て制限値を入力しても、このプロダクトを介して実行できる API 呼び出し回数に対して制限が自動的に適用されることはありません。割り当てを適用するには、プロダクトが参照する API プロキシに割り当てポリシーを組み込む必要があります。詳しくは、割り当てをご覧ください。 Allowed OAuth Scopes API プロダクトで OAuth を使用している場合、API プロダクトで許可される OAuth スコープ(アプリが API 呼び出しとともに送信する「読み取り」などのスコープ)。複数のスコープを指定する場合は、カンマ区切りのリストとして指定します。OAuth スコープをご覧ください。 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 リソースを追加するには:
- [API resources] セクションで [Add a proxy] または [Add a path] をクリックします。
- [API proxy]、[Path]、または [API proxy and path] をオンにして、API プロキシ、リソースパス、またはこの両方を追加できるようにします。
1 つ以上の API プロキシとリソースパスを追加します。
警告: API プロダクトに API プロキシを 1 つも追加しない場合、アプリ デベロッパーはすべての API プロキシとリソースパスにアクセスできます。
次の点にご注意ください。
- 定義したリソースパスは、API プロダクトに追加されたすべての API プロキシに適用されます。
- より包括的で一般的なリソースパスは、より具体的で限定的なリソースパスよりも優先されます。たとえば、
/
と/**
を追加した場合、/
リソースパスが優先され、/**
リソースパスは無視されます。
例:
- [Add] または [Add and Start another] をクリックします(さらに API リソースを指定する場合)。
注: API リソースを編集することはできません。代わりに、既存の API リソースを削除し、正しい値を設定した新しいバージョンを追加する必要があります。
- (省略可)[Istio Services] フィールドを使用して、プロダクトを 1 つ以上の Istio サービスにバインドします。Apigee Adapter for Istio のコンセプトを使用している場合を除き、この設定を無視できます。
(省略可)最大 18 個のカスタム属性を API プロダクトに追加します。
カスタム属性は、API プロキシの実行の制御など、さまざまな用途で使用できる Key-Value のペアです。たとえば値 true または false を持つ
deprecated
というカスタム属性を作成するとします。その場合、API プロキシフローでは、(たとえばカスタム属性の作成後に自動的に使用可能になるverifyapikey.{policy_name}.apiproduct.deprecated
変数を使って)API プロダクトのdeprecated
属性値を検査できます。値が true(つまり非推奨)の場合は、Raise Fault ポリシーでエラーをスローできます。- [保存] をクリックします。
リソースパス「/」、「/*」、「/**」の動作を構成する
次の表に、さまざまなリソースパスに対する 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 プロダクトを編集するには:
- このセクションですでに説明した手順に従って [API Products] ページにアクセスします。
- 編集する API プロダクトの行をクリックします。
- API プロダクトのページで [Edit] をクリックします。
- 必要に応じて、項目を編集します。
API プロダクトに追加したリソースを削除できます。これは、リソースに不具合がある場合や、さらに開発が必要な場合に行うことができます。リソースを削除すると、そのリソースは API プロダクトの一部ではなくなります。その API プロダクトを使用するすべてのアプリで、削除されたリソースにアクセスできなくなります。削除したリソースはプロダクトから削除されますが、システムからは削除されないので、他のプロダクトで引き続き使用できます。
- [保存] をクリックします。
Apigee Edge for Public Cloud を使用すると、次に示すエンティティにアクセスした場合、Edge はアクセスしたエンティティを少なくとも 180 秒間キャッシュに保持します。
- OAuth アクセス トークン。つまり、OAuth v2 ポリシーの
ExpiresIn
要素によって、アクセス トークンを 180 秒未満で期限切れにすることはできません。 - Key Management Service(KMS)エンティティ(アプリ、デベロッパー、API プロダクト)。
- OAuth トークンと KMS エンティティのカスタム属性
API プロダクトの削除
API プロダクトを削除するには:
- このセクションですでに説明した手順に従って [API Products] ページにアクセスします。
- リスト内の API プロダクトにカーソルを合わせます。
- [] をクリックします。
- [Delete] をクリックして削除操作を確認します。