Drupal ベースポータルと Edge の通信

Developer Services ポータルは、Apigee Edge のクライアントとして機能します。スタンドアロンのシステムとしては機能しません。その代わりに、ポータルで使用される情報の多くは実際に Edge に保存されます。ポータルでは、必要に応じて HTTP や HTTPS リクエストを行い、Edge との間で情報の取得や送信を行います。

Edge は、ポータルに対してリクエストを行いません。ポータルから行われたリクエストに応答するだけです。したがって、ポータルと Edge の間のすべての対話はポータルから開始されます。

ポータルと Edge 間の接続の構成

ポータルが Edge と通信するには、次に示す 3 つの情報が必要です。

  • Edge エンドポイントの URL

    クラウドベース バージョンの Edge 用のデフォルト エンドポイントは、https://api.enterprise.apigee.com/v1 です。

    Private Cloud インストールの場合、この URL は、http://EdgePrivateCloudIp:8080/v1 または https://EdgePrivateCloudIp:TLSport/v1 の形式になります。

    ここで、EdgePrivateCloudIp は Edge Management Server の IP アドレス、TLSport は Edge management API の TLS/SSL ポートです。たとえば、8443 です。
  • Apigee 組織名

    Edge 上の組織の名前。アカウントを Edge に作成する際に組織を設定します。
  • デベロッパー管理者のユーザー名とパスワード

    ポータルから Edge への呼び出しが認証され、デベロッパー管理者権限を持つユーザーが必要となります。デベロッパー ポータルがプロビジョニングされる際には、デベロッパー管理者ロールがユーザーの組織に追加されます。このロールには devadmin+{org_name}@apigee.com という 1 人のユーザーが含まれますが、このロールはデベロッパー ポータルを Edge 組織に接続する目的でのみ使用されます。ポータルには Edge デベロッパー アプリや API プロダクトなどが表示されるため、認証が必要な Management API 呼び出しを行うことで、Edge 組織と同期した状態を保持する必要があります。devadmin ユーザーには、必要な権限が付与されています。

接続情報を表示するには:

  1. Drupal の管理メニューで、[Configuration] > [Dev Portal] > [Application Settings] の順に選択します。

構成を変更するには:

構成をどのように変更するかは、ポータルのインストールとポータルのバージョンによって次のように異なります。

  • ポータルのバージョンが 15.01.06 以降のクラウドベースのインストールの場合: 接続情報の変更を Apigee サポートにリクエストします。たとえば、組織の名前を変更する場合です。
  • オンプレミス インストールでクラウドベースのポータルのバージョンが 15.01.06 より前の場合: 次に示すように、接続情報を変更します。
  1. Drupal の管理メニューで、[Configuration] > [Dev Portal Settings] の順に選択します。
  2. [Management API Organization] に組織名を入力します。
  3. [Management API Endpoint URL] に Edge エンドポイントの URL を入力します。
  4. [Endpoint Authenticated User] と [Authenticated User's Password] に組織管理者の認証情報を入力します。
  5. [Test Connection] を選択して、正常に接続されることを確認します。
  6. [Save Configuration] を選択します。

ポータルから Edge へのアクセスを確保する

ポータルで使用される情報の多くは Edge に格納されるため、ポータルが Edge にアクセスできるようにする必要があります。ポータルは、HTTP と HTTPS を介した REST リクエストを行い、Edge とのやり取りを開始します。たとえば、デベロッパーがポータルに新しいアプリを登録する場合、ポータルでは、Edge へのリクエストを行って、アプリに関する情報を Edge に送信します。

Edge とポータルのどちらもクラウドやオンプレミスでデプロイでき、デプロイタイプを混在させることもできます。たとえば、両方をクラウドにデプロイすることも、両方をオンプレミスにデプロイすることも、クラウドとプレミスに 1 つずつデプロイすることもできます。

  • Apigee でポータルと Edge の両方がクラウドにデプロイされている場合、ポータルから Edge へのリクエストを行うときの問題はありません。
  • ポータルをオンプレミスにデプロイする場合は、Edge をクラウドにデプロイするかオンプレミスでデプロイするかに関係なく、ポータルから Edge にリクエストを行うことができるかを確認する必要があります。
  • Edge をオンプレミスにデプロイする場合は、ポータルから Edge にアクセスできることを確認する必要があります。これは、ポータルがクラウドにデプロイされるか、オンプレミスでデプロイされるかに関係なく、Edge サーバーで、ポータルからのリクエストを受け入れる必要があることを意味します。

動画: デベロッパー ポータルで Apigee Edge と通信し、接続を確認する方法に関する動画をご覧ください。

ポータルからアプリと API キーを管理する

デベロッパーがポータル上でアプリ登録プロセスを完了すると、ポータルでは、アプリ名やアプリに関連付けられる API プロダクトなど、アプリに関する情報が Edge に送信されます。

Edge は、正常にアプリを登録した場合、ポータルへの単一の API キーを返します。次に、デベロッパーは、その API キーを使用して、アプリに関連付けられる API プロダクトにアクセスします。

アプリと API キーに関する情報は、実際にはポータルに格納されません。代わりに、その情報はすべて Edge に格納されます。したがって、デベロッパーがポータルを使用してアプリに関する情報を表示するときはいつでも、ポータルでは Edge へのリクエストを行い、その情報にアクセスします。また、デベロッパーがアプリを変更するときはいつでも、ポータルでは、これらの変更内容が Edge に自動的に送信されます。

たとえば、デベロッパーはポータルにログインして、自分の [My Apps] ページに移動します。[My Apps] ページに入力するために、ポータルでは Edge へのリクエストを行い、デベロッパーのアプリと API キーに関する情報を取得します。次に、その情報がポータル内のデベロッパーの [My Apps] ページに表示されます。

その後、デベロッパーがアプリを追加、削除、変更すると、ポータルではこの変更内容が Edge に送信されます。

アプリと API キーに関するすべての情報は Edge に格納されるため、Edge 管理者は、Edge UI を使用してその情報を操作できます。たとえば、管理者は次の操作を行うことができます。

  • デベロッパーのアプリの追加、削除、変更
  • アプリの API キーの取り消し、承認

次に示しているのは、同じアプリ「My Weather App」を管理者が Edge UI 上で表示した場合です。

ポータルからデベロッパーを管理する

デベロッパーは、新しいポータル ユーザーとして登録されると、Edge とポータル上に作成されます。したがって、アプリや API キーとは異なり、デベロッパーに関する情報は、実際には Edge 上とポータル上の両方に格納されます。

Edge 上に格納されるデベロッパー情報には、次が含まれます。

  • メールアドレス
  • ポータルから送信された、オプションの追加情報

ポータルには、Edge と同じ情報が格納されますが、次を含む追加情報も格納されます。

  • ポータルのパスワード
  • ポータルのアカウント ステータス: active や blocked
  • ポータルのロール: authenticated user、administrator、other
  • ロールベースの権限: ポータル上でデベロッパーが実行することを許可されるアクションを決定する

デベロッパーがポータルにログインする際に、デベロッパーの認証とロールベースの権限の強制はポータルで行われます。

ポータルにはデベロッパーに関するすべての情報が格納されているため、Edge ではなくポータルをデベロッパー情報の記録のシステムと考えてください。デベロッパーがポータル上の自分の情報を変更すると、その情報はポータル上に格納され、該当する場合は Edge に送信されます。たとえば、デベロッパーが自分の名を変更すると、その情報は Edge に送信されます。一方、デベロッパーが自分のパスワードを変更すると、その情報はポータル上にローカルで保存されるだけです。

詳細については、ユーザー アカウントの追加と管理をご覧ください。

ポータルと Edge の間でアプリ デベロッパーを同期する

Edge から、ポータルとのやり取りが開始されるわけではありません。Edge 管理者が Edge UI でデベロッパーに関する情報を操作した場合、その情報がポータルにいつ push されるかは保証されません。したがって、Edge ではなくポータルの管理機能を使用して、デベロッパーを作成、変更、削除してください。

ポータル管理者は、ポータルと Edge の間の同期を強制して、Edge からポータルに情報をダウンロードできます。一方、Edge 上ではなくポータル上でのみデベロッパーを変更する場合は、このように同期する必要はありません。また、Edge では、デベロッパーの作成時にパスワードを設定できないため、Edge で作成されたすべてのデベロッパーは、ポータルのパスワードがランダム値に設定されます。したがって、デベロッパーがポータルにログインするには、パスワード回復プロセスを行う必要があります。

ポータルと Edge のアプリ デベロッパーを同期するには

:
  • 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  • Drupal の管理メニューで [People] を選択します。
  • ページの上部にある [Dev Portal Developer Sync] ボタンを選択して、Edge のアプリ デベロッパーと同期します。