SAML を使用して Edge と通信するようにポータルを構成する

Edge for Private Cloud v4.19.01

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

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

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

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

  1. Edge 向けの SAML のインストールと構成の説明に従って、Edge で SAML を構成します。: ポータルをインストールするには、Edge で Basic 認証を有効にする必要があります。SAML を使用するようにポータルを構成するまで、Edge の Basic 認証を無効にしないでください。
  2. ポータルをインストールし、適切に動作していることを確認します。Edge for Private Cloud ポータルのインストールをご覧ください。
  3. ポータルで SAML を構成します。
  4. Edge で Basic 認証を無効にできるようになりました。

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

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

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

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

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

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

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

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

Edge と通信するようにポータルで SAML を構成する

ポータルの SAML を構成するには、構成ファイルを作成してポータルを構成する必要があります。

# IP address of Edge Management Server and apigee-sso node.
IP1=22.222.22.222

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

# Org associated with the portal.
EDGE_ORG=myorg

# Information about 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

# Default is "n" to disable SAML support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth 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 chars. 
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 SAML. 
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 new one is created.
# The default value is "n".
# Set to "y" when you configure SAML and change the value of 
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

ポータルで SAML サポートを有効にするには:

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

    ここで、samlConfigFile は SAML 構成ファイルです。

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

    [This org is SAML-enabled] チェックボックスがオンになり、Edge SSO モジュールのエンドポイントが入力され、ポータル OAuth クライアントの [API key] フィールドと [Consumer Secret] フィールドに値が入力され、[Connection Successful] というメッセージが [Test Connection] ボタンの下に表示されます。

  5. [Test Connection] ボタンを押すと、いつでも接続を再テストできます。

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

ポータルで SAML を無効にする

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

ポータルで SAML を無効にするには:

  1. SAM の構成に使用した構成ファイルを編集し、次のように設定します。
    DEVPORTAL_SSO_ENABLED=n
  2. ポータルを構成します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile