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

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

ポータルは常に単一の 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 が有効になっている場合は、マシンユーザーを使用した OAuth2 トークンの自動生成がサポートされます。マシンユーザーは、パスコードを指定しなくても、OAuth2 トークンを取得できます。つまり、OAuth2 トークンを取得および更新するプロセスを完全に自動化できます。

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

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

外部 IDP を使用するようにポータルを構成すると、ポータルは Edge にリクエストを発行する際に SAML と LDAP のどちらかを使用して Edge の認証を受けることができます。ただし、ポータルでは「デベロッパー」というユーザータイプもサポートされています。

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

デベロッパーがポータルにログインするとき、ポータルはデベロッパーを認証し、ロールベースの権限を与えます。ポータルと Edge の間で IDP 認証を有効にした後も、ポータルによるデベロッパーの認証には引き続き Badic 認証が使用されます。詳細については、ポータルと 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 key] フィールドと [Consumer Secret] フィールドが入力されている
    • [Test Connection] ボタンの下に「Connection Successful」というメッセージが表示されている
  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