外部 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 を使用するようにポータルを構成する場合、ポータルが Edge にリクエストを送信できるように、SAML または LDAP のいずれかを使用して 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 の設定を含むポータルの構成画面が表示されます。

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

    • [この組織は SAML に対応しています] チェックボックスがオンになっている
    • Apigee SSO モジュールのエンドポイントが入力されています。
    • ポータル OAuth クライアントの [API キー] フィールドと [コンシューマ シークレット] フィールドに値が入力されています。
    • [Test Connection] ボタンの下に「Connection 正常に」というメッセージが表示されます。
  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