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 を指定する必要があります。