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

Edge for Private Cloud バージョン 4.17.09

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

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

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

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

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

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

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

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

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

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

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

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

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

ポータルで SAML を構成して Edge と通信する

ポータルで 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 設定を含むポータルの構成画面が表示されます。

    [この組織は SAML 対応です] チェックボックスがオンになり、Edge SSO モジュールのエンドポイントが入力されます。また、ポータル OAuth クライアントの [API キー] フィールドと [コンシューマ シークレット] フィールドに値が入力され、[接続をテスト] ボタンの下に「接続成功」というメッセージが表示されます。

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

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

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

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

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

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

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