Edge UI と Edge Management API は、Edge Management Server にリクエストを発行することによって動作します。Management Server は、これらのリクエストに対して次の認証タイプをサポートしています。
- 基本認証: Edge UI にログインするか、ユーザー名とパスワードを渡して Edge Management API にリクエストを送信します。
- OAuth2: Edge 基本認証の認証情報を、OAuth2 アクセス トークンおよび更新トークンと交換します。API 呼び出しの署名なしヘッダーで OAuth2 アクセス トークンを渡して、Edge Management API を呼び出します。
Edge では、認証に次の外部 ID プロバイダ(IDP)を使用できます。
- Security Assertion Markup Language(SAML)2.0: SAML ID プロバイダから返された SAML アサーションから OAuth アクセスを生成します。
- Lightweight Directory Access Protocol(LDAP): LDAP の検索およびバインディングまたはシンプルなバインディング認証方法を使用して、OAuth アクセス トークンを生成します。
SAML IDP と LDAP IDP はどちらもシングル サインオン(SSO)環境をサポートしています。Edge で外部 IDP を使用すると、Edge UI と API で SSO をサポートできるだけでなく、お客様が提供するほかのサービスでも、そのサービスが外部 IDP をサポートしていれば、同じように SSO を使用できます。
このセクションで説明する外部 IDP のサポートを有効にする手順は、次の点で外部認証とは異なります。
- このセクションでは SSO のサポートを追加
- このセクションは Edge UI(Classic UI 以外)のユーザーを対象としています。
- このセクションは 4.19.06 以降でのみサポートされています
Apigee SSO について
Edge で SAML または LDAP をサポートするには、Apigee SSO モジュール apigee-sso
をインストールします。次の図に、Edge for Private Cloud の Apigee SSO を示します。

Apigee SSO モジュールは、Edge UI および Management Server と同じノードにインストールすることも、独自のノードにインストールすることもできます。Apigee SSO がポート 8080 を介して Management Server にアクセスできることを確認します。
ブラウザ、外部 SAML または LDAP IDP、Management Server と Edge UI から Apigee SSO にアクセスするには、Apigee SSO ノードでポート 9099 を開く必要があります。Apigee SSO を構成する際、外部接続が HTTP または暗号化された HTTPS プロトコルを使用するように指定できます。
Apigee SSO は、ポート 5432 でアクセスできる Postgres データベースの Postgres データベースを使用します。通常、Edge でインストールした Postgres サーバーは、スタンドアロン Postgres サーバーか、マスター/スタンバイ モードで構成した 2 つの Postgres サーバーのいずれかで使用できます。Postgres サーバーの負荷が高い場合は、Apigee SSO 専用の Postgres ノードを別途作成することもできます。
Edge for Private Cloud に追加された OAuth2 サポート
前述のように、Edge の SAML 実装は OAuth2 アクセス トークンに依存します。そのため、OAuth2 のサポートが Edge for Private Cloud に追加されました。詳しくは、OAuth 2.0 の概要をご覧ください。
SAML について
SAML 認証には、いくつかの利点があります。SAML を使用すると、次のことが可能になります。
- ユーザー管理を完全に制御。ユーザーが組織を離れて一元的にデプロビジョニングされると、Edge へのアクセスが自動的に拒否されます。
- Edge へのアクセスの認証方法を制御します。Edge 組織ごとに異なる認証タイプを選択できます。
- 認証ポリシーを制御します。SAML プロバイダが、エンタープライズ標準により近い認証ポリシーをサポートしている場合があります。
- ログイン、ログアウト、失敗したログイン試行、Edge デプロイのリスクの高いアクティビティをモニタリングできます。
SAML が有効な場合、Edge UI と Edge Management API へのアクセスに OAuth2 アクセス トークンが使用されます。これらのトークンは、Apigee SSO モジュールが IDP から返された SAML アサーションに基づいて生成します。
SAML アサーションが生成された後の OAuth トークンの有効期間は 30 分、更新トークンの有効期間は 24 時間です。開発環境で、テストの自動化や継続的インテグレーション/継続的デプロイ(CI/CD)など、より長いトークンを必要とする一般的な開発タスクの自動化をサポートしている場合があります。自動タスク用の特別なトークンを作成する方法については、自動タスクでの SAML の使用をご覧ください。
LDAP について
Lightweight Directory Access Protocol(LDAP)は、分散ディレクトリ情報サービスにアクセスして維持するための、業界標準のオープン アプリケーション プロトコルです。ディレクトリ サービスでは、レコードセットが組織構造で提供される場合があります。たとえば、会社のメール ディレクトリなどが階層構造になっている場合があります。
Apigee SSO 内の LDAP 認証では、Spring Security LDAP モジュールを使用します。その結果、Apigee SSO の LDAP サポートの認証方法と構成オプションは、Spring Security LDAP のものに直接関連付けられます。
Edge for Private Cloud の LDAP では、LDAP 互換サーバーに対して次の認証方法がサポートされています。
- 検索とバインド(間接バインディング)
- シンプル バインド(直接バインディング)
Apigee が承認のためにこのメールアドレスを使用する場合、Apigee SSO はユーザーのメールアドレスを取得して、そのメールアドレスで内部ユーザー レコードの更新を試みます。これにより、現在登録されているメールアドレスがそこに登録されます。
Edge UI と API URL
Edge UI と Edge Management API へのアクセスに使用する URL は、SAML または LDAP を有効にした後も変わりません。Edge UI の場合:
http://edge_UI_IP_DNS:9000 https://edge_UI_IP_DNS:9000
ここで、edge_UI_IP_DNS は Edge UI をホストしているマシンの IP アドレスまたは DNS 名です。Edge UI を構成する際、接続プロトコルとして HTTP と暗号化 HTTPS のどちらを使用するかを指定できます。
Edge Management API の場合:
http://ms_IP_DNS:8080/v1 https://ms_IP_DNS:8080/v1
ここで、ms_IP_DNS は Management Server の IP アドレスまたは DNS 名です。API を構成する際、接続プロトコルとして HTTP と暗号化 HTTPS のどちらを使用するかを指定できます。
Apigee SSO で TLS を構成する
デフォルトでは、Apigee SSO への接続は Apigee SSO モジュールである apigee-sso
をホストしているノードのポート 9099 経由で HTTP を使用します。apigee-sso
には、HTTP リクエストと HTTPS リクエストを処理する Tomcat インスタンスが組み込まれています。
Apigee SSO と Tomcat は次の 3 つの接続モードをサポートしています。
- デフォルト: デフォルト構成では、ポート 9099 での HTTP リクエストがサポートされます。
- SSL_TERMINATION: 任意のポートで Apigee SSO への TLS アクセスを有効にします。このモードでは TLS 鍵と証明書を指定する必要があります。
- SSL_PROXY: プロキシモードで Apigee SSO を構成します。つまり、
apigee-sso
の前にロードバランサをインストールし、そのロードバランサで TLS を終端します。apigee-sso
でロードバランサからのリクエストに使用するポートを指定できます。
ポータルで外部 IDP のサポートを有効にする
Edge で外部 IDP のサポートを有効にした後、必要に応じて Apigee Developer Services ポータル(略して「ポータル」)でも外部 IDP のサポートを有効にできます。ポータルでは、Edge へのリクエストの発行時に SAML 認証と LDAP 認証がサポートされます。これは、デベロッパーがポータルにログインするときの SAML および LDAP 認証とは異なります。デベロッパー ログイン用の外部 IDP 認証は、別途構成します。詳細については、IDP を使用するようにポータルを構成するをご覧ください。
ポータルを構成する一環として、Edge と一緒にインストールした Apigee SSO モジュールの URL を指定する必要があります。