EK の汎用 SAML フローは Okta とそのまま動作します。まだお読みでない場合は、開始前に統合の仕組みを理解するために SAML SSO の概要を参照してください。
前提条件
- Okta 組織への管理者アクセス権があること。
- オンプレミス EK インスタンスへのスーパーアドミンアクセス権があること。
- EK バックエンドホストの完全修飾ドメイン名(FQDN)を知っていること(例:
ek-api.corp.acme.com)。 - SSO を有効にしたいメールドメインを知っていること(例:
acme.com)。
パート1 — Okta の設定
Okta で新しい SAML アプリケーションを作成
新しいアプリインテグレーションを作成
Okta 管理者コンソールで、アプリケーション → アプリケーションに移動し、アプリインテグレーションを作成をクリックします。サインオン方法として SAML 2.0 を選択します。
SAML 設定を入力
SAML の設定ステップで、以下の値を入力します:
| フィールド | 値 |
|---|---|
| Single Sign-On URL | https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin |
| 受信者 URL | https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin |
| 宛先 URL | https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin |
| オーディエンス制限(エンティティ ID) | https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin |
| デフォルトリレーステート | default またはドメイン名に設定 |
属性ステートメントを追加
SAML の設定ステップで、下にスクロールして属性ステートメントに以下の内容を追加します:
| 名前 | 名前フォーマット | 値 |
|---|---|---|
email | Basic | user.email |
first_name | Basic | user.firstName |
last_name | Basic | user.lastName |
user_name | Basic | user.login |
DisplayName | Basic | user.displayName |
objectIdentifier | Unspecified | user.getInternalProperty("id") |
パート2 — Okta メタデータの取得
Okta アプリケーションが作成されたら、IdP メタデータ URL を取得します:パート3 — EK でドメインを登録
ドメイン登録エンドポイントにPOST リクエストを送信します:
必須フィールド
| フィールド | 説明 |
|---|---|
enterprise_id | ユーザーのメールドメイン(例:acme.com)。 |
provider | "okta" |
metadata_url | パート2の Metadata URL。 |
backend_root_url | (オプション) プロキシ環境でのみ、正しいルーティングに必要。 |
認証
このエンドポイントにはX-API-KEY および X-API-SECRET ヘッダーとして渡す EK API Key と Secret が必要です。
成功すると、バックエンドの sso_providers テーブルにレコードが作成されます。
パート4 — フロントエンドの設定
ドメインが登録されたら、フロントエンドの環境変数を設定し、フロントエンドサービスを再起動します。統合のテスト
実際の@<domain> ユーザーで EK にサインインし、フローがエンドツーエンドで動作することを確認します。ユーザーが正常に認証されたがアクセスを拒否された場合、SAML アクセスコントロール設定を確認してください — EK SAML アクセスコントロールと自動チーム/プロジェクト割り当てガイドを参照してください。