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 基本認証の認証情報を OAuth2 アクセス トークンおよび更新トークンと交換します。API 呼び出しの署名なしヘッダーで 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 を使用すると、Edge UI と API で SSO をサポートできるだけでなく、お客様が提供する他のサービスも SAML をサポートします。
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 をサポートするには、Edge SSO モジュールである apigee-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
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 を指定する必要があります。