メインコンテンツへスキップ

Okta を使用した EK SSO の設定

このガイドでは、オンプレミス 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 アクセスコントロールと自動チーム/プロジェクト割り当てガイドを参照してください。