メインコンテンツへスキップ
このガイドでは、オンプレミス EK インスタンスの SAML SSO 用のイデンティティプロバイダー(IdP)として Okta を設定する方法を説明します。Okta に入力する SAML 設定、Okta メタデータの取得方法、統合を完了するために EK でドメインを登録する方法をカバーします。
EK の汎用 SAML フローは Okta とそのまま動作します。まだお読みでない場合は、開始前に統合の仕組みを理解するために SAML SSO の概要を参照してください。

前提条件

  • Okta 組織への管理者アクセス権があること。
  • オンプレミス EK インスタンスへのスーパーアドミンアクセス権があること。
  • EK バックエンドホストの完全修飾ドメイン名(FQDN)を知っていること(例:ek-api.corp.acme.com)。
  • SSO を有効にしたいメールドメインを知っていること(例:acme.com)。

パート1 — Okta の設定

Okta で新しい SAML アプリケーションを作成

1

新しいアプリインテグレーションを作成

Okta 管理者コンソールで、アプリケーション → アプリケーションに移動し、アプリインテグレーションを作成をクリックします。サインオン方法として SAML 2.0 を選択します。
2

SAML 設定を入力

SAML の設定ステップで、以下の値を入力します:
フィールド
Single Sign-On URLhttps://<your-FQDN>/backend/user/generic/sso/saml/acs/admin
受信者 URLhttps://<your-FQDN>/backend/user/generic/sso/saml/acs/admin
宛先 URLhttps://<your-FQDN>/backend/user/generic/sso/saml/acs/admin
オーディエンス制限(エンティティ ID)https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin
デフォルトリレーステートdefault またはドメイン名に設定
3

属性ステートメントを追加

SAML の設定ステップで、下にスクロールして属性ステートメントに以下の内容を追加します:
名前名前フォーマット
emailBasicuser.email
first_nameBasicuser.firstName
last_nameBasicuser.lastName
user_nameBasicuser.login
DisplayNameBasicuser.displayName
objectIdentifierUnspecifieduser.getInternalProperty("id")
4

設定を完了

アプリケーション作成ウィザードを完了します。EK への SSO アクセスを必要とするユーザーまたはグループにアプリケーションを割り当てます。

パート2 — Okta メタデータの取得

Okta アプリケーションが作成されたら、IdP メタデータ URL を取得します:
1

Sign On タブに移動

Okta でアプリケーションを開き、Sign On タブに移動します。
2

メタデータ URL を見つける

設定 → SAML 2.0 → メタデータの詳細の下で、Metadata URL をコピーします。パスは:
Sign On > Settings > SAML 2.0 > Metadata details > Metadata URL
この URL はパート3で必要です。
Okta メタデータ URL

パート3 — EK でドメインを登録

ドメイン登録エンドポイントに POST リクエストを送信します:
curl -X POST "https://<your-backend-host>/backend/sso/add_new_configuration" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: YOUR_API_KEY" \
  -H "X-API-SECRET: YOUR_API_SECRET" \
  -d '{
    "enterprise_id": "acme.com",
    "provider": "okta",
    "metadata_url": "https://your-okta-metadata-url",
    "backend_root_url": "<your-backend-host>/backend"
  }'

必須フィールド

フィールド説明
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 — フロントエンドの設定

ドメインが登録されたら、フロントエンドの環境変数を設定し、フロントエンドサービスを再起動します。
1

フロントエンドの環境ファイルを開く

オンプレミスデプロイメントサーバーで onprem-deployment/.env.web を開きます。
2

環境変数を追加

以下の行を追加し、acme.com を実際のメールドメインに置き換えます:
VITE_SSO_ENTERPRISE_ID=acme.com
3

フロントエンドサービスを再起動

docker compose -f docker-compose down
docker compose -f docker-compose up -d

統合のテスト

実際の @<domain> ユーザーで EK にサインインし、フローがエンドツーエンドで動作することを確認します。ユーザーが正常に認証されたがアクセスを拒否された場合、SAML アクセスコントロール設定を確認してください — EK SAML アクセスコントロールと自動チーム/プロジェクト割り当てガイドを参照してください。