外部 IDP を使用するようにポータルを構成する

Apigee Developer Services ポータル(略して「ポータル」)は、Apigee Edge のクライアントとして機能します。つまり、ポータルはスタンドアロン システムとして機能しません。ポータルで使用される情報のほとんどは、実際には Edge に保存されます。必要に応じて、ポータルは Edge から情報を取得するか、Edge に情報を送信するリクエストを発行します。

ポータルは常に 1 つの Edge 組織に関連付けられます。ポータルを構成するときに、ポータルが Edge との通信に使用する組織内のアカウントの基本認証の認証情報(ユーザー名とパスワード)を指定できます。

Edge 認証に SAML や LDAP などの外部 IDP を有効にすることを選択した場合は、Edge へのリクエストを行うときにその認証を使用するようにポータルを構成できます。外部 IDP を使用するようにポータルを構成すると、Edge 組織に新しいマシン ユーザー アカウントが自動的に作成され、ポータルはこれを使用して Edge にリクエストを送信します。マシンユーザーの詳細については、外部 IDP のタスクを自動化するをご覧ください。

ポータルで外部 IDP をサポートするには、Edge Management Server ノードに Apigee SSO モジュールをインストールして構成しておく必要があります。ポータルで外部 IDP を有効にする一般的なプロセスは次のとおりです。

  1. 高可用性のために Apigee SSO をインストールするの説明に従って、Apigee SSO モジュールをインストールします。
  2. ポータルをインストールし、インストールが正しく機能していることを確認します。ポータルをインストールするをご覧ください。
  3. このセクションの説明に沿って、ポータルで SAML または LDAP を構成します。
  4. (省略可)Edge で Basic 認証を無効にするの説明に従って、Edge で Basic 認証を無効にします。

ポータルのマシンユーザーを作成する

外部 IDP が有効になっている場合、Edge はマシンユーザーを使用して OAuth2 トークンの自動生成をサポートします。マシンユーザーは、パスコードを指定せずに OAuth2 トークンを取得できます。つまり、OAuth2 トークンの取得と更新のプロセスを完全に自動化できます。

ポータルの IDP 構成プロセスでは、ポータルに関連付けられた組織にマシンユーザーが自動的に作成されます。ポータルは、このマシン ユーザー アカウントを使用して Edge に接続します。マシンユーザーの詳細については、外部 IDP のタスクを自動化するをご覧ください。

ポータル デベロッパー アカウントの認証について

外部 IDP を使用するようにポータルを構成すると、ポータルは SAML または LDAP を使用して Edge で認証を行い、Edge にリクエストを送信できるようになります。ただし、ポータルでは、デベロッパーと呼ばれるタイプのユーザーもサポートされています。

デベロッパーは、API を使用してアプリを構築するユーザーのコミュニティを構成します。アプリ デベロッパーは、ポータルを使用して API について学習し、API を使用するアプリを登録し、デベロッパー コミュニティとやり取りし、ダッシュボードでアプリの使用状況に関する統計情報を確認します。

デベロッパーがポータルにログインすると、ポータルはデベロッパーの認証とロールベースの権限の適用を担当します。ポータルと Edge の間で IDP 認証を有効にした後も、ポータルはデベロッパーとの間で Basic 認証を引き続き使用します。詳細については、ポータルと Edge とのやり取りをご覧ください。

デベロッパーの認証に SAML または LDAP を使用するようにポータルを構成することもできます。サードパーティの Drupal モジュールを使用して SAML を有効にする例については、デベロッパー ポータルでの SAML による SSO 統合をご覧ください。

ポータルの IDP 構成ファイル

ポータルに外部 IDP を構成するには、ポータルの設定を定義する構成ファイルを作成する必要があります。

次の例は、IDP をサポートするポータル構成ファイルを示しています。

# IP address of Edge Management Server and the node on which the Apigee SSO module is installed.
IP1=22.222.22.222

# URL of Edge management API.
MGMT_URL=http://$IP1:8080/v1

# Organization associated with the portal.
EDGE_ORG=myorg

# Information about the Apigee SSO module (apigee-sso).
# Externally accessible IP or DNS of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP1
SSO_PUBLIC_URL_PORT=9099
# Default is http. Set to https if you enabled TLS on apigee-sso.
SSO_PUBLIC_URL_SCHEME=http

# SSO admin credentials as set when you installed apigee-sso.
SSO_ADMIN_NAME=ssoadmin
SSO_ADMIN_SECRET=Secret123

# Enables or disables external IDP support.
# Default is "n", which disables external IDP support.
# Change it to "y" to enable external IDs support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth2 client used to connect to apigee-sso.
# The default client name is portalcli.
PORTALCLI_SSO_CLIENT_NAME=portalcli
# OAuth client password using uppercase, lowercase, number, and special characters.
PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1

# Email address and user info for the machine user created in the Edge org specified
# above by EDGE_ORG.
# This account is used by the portal to make requests to Edge.
# Add this email as an org admin before configuring the portal to use an external IDP.
DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com
DEVPORTAL_ADMIN_FIRSTNAME=DevPortal
DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin
DEVPORTAL_ADMIN_PWD=Abcdefg@1

# If set, the existing portal OAuth client is deleted and a new one is created.
# The default value is "n".
# Set to "y" when you configure the external IDP and change the value of
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

ポータルで外部 IDP のサポートを有効にするには:

  1. Edge UI で、DEVPORTAL_ADMIN_EMAIL で指定されたマシンユーザーを、ポータルに関連付けられた組織に組織管理者として追加します。
  2. 次のコマンドを実行して、ポータルで外部 IDP を構成します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    ここで、configFile は前述の構成ファイルです。

  3. ポータル管理者としてポータルにログインします。
  4. Drupal のメインメニューで、[Configuration] > [Dev Portal] を選択します。外部 IDP 設定を含むポータル構成画面が表示されます。

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

    • [This org is SAML-enabled] チェックボックスがオンになっている
    • Apigee SSO モジュールのエンドポイントが入力されている
    • ポータル OAuth クライアントの [API キー] フィールドと [Consumer secret] フィールドが入力されている
    • [接続テスト] ボタンの下に「接続に成功しました」というメッセージが表示されます。
  5. [Test Connection] ボタンをクリックすると、いつでも接続を再テストできます。

後でこれらの値を変更するには、構成ファイルを更新して、この手順を再度実行します。

ポータルで外部 IDP を無効にする

ポータルと Edge 間の通信で外部 IDP を無効にすると、ポータルは Edge にリクエストを送信できなくなります。デベロッパーはポータルにログインできますが、プロダクトの表示やアプリの作成はできません。

ポータルで外部 IDP 認証を無効にするには:

  1. 以前に外部 IDP を有効にするために使用した構成ファイルを開きます。
  2. 次の例に示すように、DEVPORTAL_SSO_ENABLED プロパティの値を n に設定します。
    DEVPORTAL_SSO_ENABLED=n
  3. 次のコマンドを実行してポータルを構成します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile