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

Edge for Private Cloud v4.18.05

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 の認証に対する 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. SAML の構成に使用していた構成ファイルを編集して、次を設定します。
    DEVPORTAL_SSO_ENABLED=n
  2. ポータルを構成します。
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile