SAML IDP を構成する

SAML の仕様では、次の 3 つのエンティティが定義されています。

  • プリンシパル(新しい Edge UI ユーザー)
  • サービス提供者(Apigee SSO)
  • ID プロバイダ(SAML アサーションを返す)

SAML が有効な場合、プリンシパル(New Edge UI ユーザー)がサービス プロバイダ(Apigee SSO)へのアクセスをリクエストします。Apigee SSO(フェデレーション ID ブローカーとしての役割)は、SAML IDP に ID アサーションをリクエストして取得し、そのアサーションを使用して、新しい Edge UI へのアクセスに必要な OIDC トークンと OAuth2 トークンを生成します。その後、ユーザーは新しい Edge UI にリダイレクトされます。

このプロセスは次のとおりです。

SAML 認証フロー

図の説明:

  1. ユーザーが Edge UI のログイン URL にリクエストを送信して、新しい Edge UI にアクセスしようとします。例: https://edge_management_ui_IP_DNS:3001
  2. 認証されていないリクエストは Apigee SSO にリダイレクトされます。
  3. SSO はリクエストを SAML IDP にリダイレクトします。例: https://idp.customer.com
  4. ユーザーが ID プロバイダにログインしていない場合は、ログインを求めるプロンプトが表示されます。
  5. ユーザーがログインします。
  6. ユーザーは SAML IDP によって認証されます。SAML IDP は SAML 2.0 アサーションを生成し、Apigee SSO に返します。
  7. Apigee SSO は、アサーションを検証し、アサーションからユーザー ID を抽出して、New Edge UI の OIDC/OAuth2 認証トークンを生成し、次の URL のメインの New Edge UI ページにユーザーをリダイレクトします。
    https://edge_management_ui_IP_DNS:3001/edge

Edge は、Okta や Microsoft Active Directory フェデレーション サービス(ADFS)など、多くの IDP をサポートしています。Okta については、次のセクションをご覧ください。

SAML IDP を構成するには、Edge でユーザーを識別するためのメールアドレスが必要です。したがって、ID プロバイダは ID アサーションの一部としてメールアドレスを返す必要があります。

また、Apigee SSO と通信できるように、次の情報を使用して IDP を構成する必要があります。

設定 説明
Assertion Consumer Service URL(シングル サインオン URL)

これは、ユーザーが IDP 認証情報を入力した後に Apigee SSO に戻るリダイレクト URL です。形式は次のとおりです。

protocol://apigee_sso_IP_DNS:port/callback

次に例を示します。

http://1.2.3.4:9099/callback
SP エンティティ ID(またはオーディエンス URI)

デフォルトでは、Apigee SSO は SP エンティティ ID が apigee-saml-login-opdk であると想定します。

構成で lib_settings_saml_entity_issuer プロパティを設定してこのデフォルトをオーバーライドする場合は、代わりにカスタム エンティティ ID を指定します。

Okta の構成

Okta を構成するには:

  1. Okta にログインします。
  2. [Applications] を選択し、SAML アプリケーションを選択します。
  3. [Assignments] タブを選択して、アプリケーションにユーザーを追加します。これらのユーザーは、新しい Edge UI にログインして Edge API 呼び出しを行うことができます。ただし、最初に各ユーザーを Edge 組織に追加し、ユーザーのロールを指定する必要があります。詳細については、新しい Edge ユーザーの登録をご覧ください。
  4. [Sign on] タブを選択して、ID プロバイダのメタデータ URL を取得します。これは、/opt/apigee/customer/application/openldap.properties ファイルで SAML 設定を構成するために必要になります。
  5. 次の表に示すように、[全般] タブを選択して Okta アプリケーションを構成します。
    設定 説明
    シングル サインオン URL

    ユーザーが Okta 認証情報を入力した後に使用する SSO へのリダイレクト URL を指定します。この URL の形式は次のとおりです。

    http://apigee_sso_IP_DNS:9099/callback

    Apigee SSO が TLS を終端する場合:

    https://apigee_sso_IP_DNS:9443/callback

    ロードバランサが TLS を終端する場合:

    https://load_balancer_IP_or_DNS:443/callback
    受信者 URL とリンク先 URL に使用する このチェックボックスを設定します。
    オーディエンス URI(SP エンティティ ID) apigee-saml-login-opdk に設定します。これはデフォルトの Edge SP エンティティ ID です。構成の lib_settings_saml_entity_issuer プロパティを使用してこの値をオーバーライドする場合は、代わりにカスタム エンティティ ID を指定します。
    デフォルトの RelayState 空白のままにします。
    名前 ID の形式 EmailAddress を指定します。
    アプリケーションのユーザー名 Okta username を指定します。
    属性ステートメント 構成で SAML_USERNAME_ATTR、SAML_EMAIL_ATTR、SAML_GROUPS_ATTR プロパティにマッピングする属性を指定します。通常は、name、email、groups をマッピングする必要があります。

構成が完了すると、Okta はログイン時に SAML アサーションを Apigee SSO に正常に渡します。