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

Edge for Private Cloud v4.18.05

Apigee Developer Services ポータル(略して「ポータル」)は、Apigee 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 の認証に対する SAML の使用を有効にします。ただし、ポータルでは「デベロッパー」というユーザータイプもサポートされています。

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

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

  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