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

Edge for Private Cloud v4.18.01

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

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

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

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

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

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

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

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

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

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

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

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

デベロッパーの認証に SAML を使用するようにポータルを構成することもできます。サードパーティの Drupal モジュールを使用して SAML を有効にする例については、 https://community.apigee.com/articles/29201/sso-integration-via-saml-with-developer-portal.html をご覧ください。

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 キー] フィールドと [Consumer secret] フィールドが入力されていること、[Test Connection] ボタンの下に「Connection Successful」というメッセージが表示されていることを確認します。

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

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

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

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

注意: SAML を無効にした場合は、ポータルを再構成して SAML を使用するか、Edge が基本認証をサポートするように構成されている場合は、基本認証を使用して Edge と通信するようにポータルを構成する必要があります。基本認証の使用方法については、ポータルと Edge とのやり取りをご覧ください。

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

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