Edge for Private Cloud での SAML のサポート

Edge for Private Cloud v4.19.01

Edge UI と Edge Management API は、Edge Management Server にリクエストを発行することによって動作します。Management Server は、これらのリクエストに対して次の認証タイプをサポートしています。

  • Basic 認証: Edge UI にログインするか、ユーザー名とパスワードを渡して Edge Management API にリクエストを送信します。
  • OAuth2: Edge Basic 認証の認証情報を OAuth2 アクセス トークンおよび更新トークンと交換します。API 呼び出しの Bearer ヘッダーで OAuth2 アクセス トークンを渡して、Edge Management API を呼び出します。

Edge は認証メカニズムとして Security Assertion Markup Language(SAML)2.0 もサポートしています。SAML が有効になっていても、Edge UI と Edge Management API へのアクセスには OAuth2 アクセス トークンが使用されます。ただし、SAML ID プロバイダから返された SAML アサーションからこれらのトークンを生成できるようになりました。

SAML はシングル サインオン(SSO)環境をサポートしています。Edge で SAML を使用することで、SAML に対応した他のサービスに加えて、Edge UI と API でも SSO をサポートできます。

Edge for Private Cloud に OAuth2 のサポートが追加される

前述のように、Edge の SAML の実装は OAuth2 アクセス トークンに依存します。そのため、Edge for Private Cloud に OAuth2 のサポートが追加されました。詳細については、OAuth 2.0 の概要をご覧ください。

SAML の利点

SAML 認証には、いくつかの利点があります。SAML を使用すると、次のことが可能になります。

  • ユーザー管理を完全に制御できます。組織を離れたユーザーが中央でプロビジョニング解除されると、そのユーザーは Edge へのアクセスを自動的に拒否されます。
  • Edge にアクセスするためのユーザーの認証方法を制御する。Edge 組織ごとに異なる認証タイプを選択できます。
  • 認証ポリシーを制御します。SAML プロバイダは、企業の標準により適した認証ポリシーをサポートしている場合があります。
  • Edge デプロイメントでのログイン、ログアウト、ログイン試行の失敗、高リスクのアクティビティを監視できます。

Edge での SAML の使用

Edge で SAML をサポートするには、Edge SSO モジュールである apigee-sso をインストールします。次の図は、Edge for Private Cloud インストール環境における Edge SSO を示しています。

Edge SSO モジュールは、Edge UI および Management Server と同じノードにインストールすることも、専用のノードにインストールすることもできます。Edge SSO から Management Server にポート 8080 でアクセスできること。

ブラウザ、外部 SAML IDP、Management Server と Edge UI から Edge SSO にアクセスできるようにするには、Edge SSO ノード上でポート 9099 を開く必要があります。Edge SSO の構成時に、外部接続プロトコルとして HTTP または暗号化された HTTPS プロトコルを指定できます。

Edge SSO では、Postgres ノードのポート 5432 でアクセスできる Postgres データベースが使用されます。通常は、Edge と一緒にインストールした Postgres サーバーを使用できます。スタンドアロンの Postgres サーバーか、マスター/スタンバイ モードで構成された 2 台の Postgres サーバーを使用できます。Postgres サーバーの負荷が高い場合は、Edge SSO 専用の Postgres ノードを別途作成することもできます。

SAML が有効になっている場合、Edge UI と Edge Management API へのアクセスで OAuth2 アクセス トークンが使用されます。これらのトークンは、IDP から返された SAML アサーションを受け入れる Edge SSO モジュールによって生成されます。

SAML アサーションから生成されると、OAuth トークンは 30 分間、更新トークンは 24 時間有効です。開発環境では、テストの自動化や継続的インテグレーション/継続的デプロイ(CI/CD)など、より長い期間のトークンを必要とする一般的な開発タスクの自動化をサポートしている場合があります。自動タスク用の特別なトークンの作成については、自動タスクでの SAML の使用をご覧ください。

Edge UI と API の URL

Edge UI と Edge Management API へのアクセスに使用する URL は、SAML を有効にする前に使用した URL と同じです。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 プロトコルのどちらを使用するかを指定できます。

Edge SSO での TLS の構成

デフォルトでは、Edge SSO への接続には、apigee-sso(Edge SSO モジュール)をホストするノード上のポート 9099 を介して HTTP が使用されます。apigee-sso には、HTTP リクエストと HTTPS リクエストを処理する Tomcat インスタンスが組み込まれています。

Edge SSO と Tomcat は次の 3 つの接続モードをサポートしています。

  • DEFAULT - デフォルト構成では、ポート 9099 で HTTP リクエストがサポートされます。
  • SSL_TERMINATION - 選択したポートで Edge SSO への TLS アクセスが有効になります。このモードの TLS 鍵と証明書を指定する必要があります。
  • SSL_PROXY - Edge SSO をプロキシモードで構成します。つまり、apigee-sso の前面にロードバランサをインストールし、そのロードバランサで TLS を終端します。ロードバランサからのリクエスト用に apigee-sso で使用するポートを指定できます。

ポータルの SAML サポートを有効にする

Edge で SAML サポートを有効にした後、必要に応じて Apigee Developer Services ポータル(略して「ポータル」)で SAML を有効にできます。ポータルでは、Edge へのリクエスト時に SAML 認証がサポートされています。これは、デベロッパーがポータルにログインする際の SAML 認証とは異なります。デベロッパーのログイン用に SAML 認証を個別に構成します。詳細については、SAML を使用して Edge と通信するようにポータルを構成するをご覧ください。

ポータルの構成の一環として、Edge とともにインストールした Edge SSO モジュールの URL を指定する必要があります。