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 アクセス トークンとリフレッシュ トークンに交換します。Edge Management API を呼び出すには、API 呼び出しの Bearer ヘッダーに OAuth2 アクセス トークンを含めて渡します。
Edge では認証メカニズムとして Security Assertion Markup Language(SAML)2.0 もサポートしています。SAML が有効な場合も、Edge UI と Management API へのアクセスでは OAuth2 アクセス トークンが使用されます。ただし、SAML ID プロバイダから返される SAML アサーションに基づいてアクセス トークンを生成できるようになりました。
SAML ではシングル サインオン(SSO)環境がサポートされます。Edge で SAML を使用することで、Edge UI と API での SSO をサポートできるだけでなく、提供する他のサービスが SAML をサポートしていれば、それらのサービスでも SSO を使用できます。
Edge for Private Cloud に追加された OAuth2 サポート
前述のとおり、Edge の SAML 実装は OAuth2 アクセス トークンに依存します。そのため、OAuth2 サポートが Edge for Private Cloud に追加されました。詳細については、OAuth 2.0 の概要をご覧ください。
SAML の利点
SAML 認証には、いくつかの利点があります。SAML を使用すると、次のことが可能になります。
- ユーザー管理を完全に制御できます。組織を離れたユーザーが中央でプロビジョニング解除されると、そのユーザーに対しては Edge へのアクセスが自動的に拒否されます。
- Edge にアクセスするユーザーの認証方法を制御できます。さまざまな Edge 組織にそれぞれ異なる認証タイプを選択できます。
- 認証ポリシーを制御できます。SAML プロバイダのほうが、企業の標準とより一致した認証ポリシーをサポートしている場合もあります。
- Edge デプロイでのログイン、ログアウト、失敗したログイン試行、および高リスクのアクティビティをモニタリングできます。
Edge で SAML を使用する
Edge で SAML をサポートするには、apigee-sso
という Edge SSO モジュールをインストールします。次の図に、Edge for Private Cloud インストール環境内での Edge SSO を示します。
Edge SSO モジュールは、Edge UI および Management Server と同じノードにインストールすることも、専用のノードにインストールすることもできます。Edge SSO がポート 8080 で Management Server にアクセスできるようにしてください。
ブラウザ、外部 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
SAML を有効にした後も、Edge UI と Edge Management API にアクセスするために使用する URL は変わりません。Edge UI の URL は次のとおりです。
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 の URL は次のとおりです。
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
に組み込まれている Tomcat インスタンスが HTTP リクエストと HTTPS リクエストを処理します。
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 を指定する必要があります。