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

Azure AD を使用した EK SSO の設定

このガイドでは、オンプレミス EK インスタンスの SAML SSO 用のイデンティティプロバイダー(IdP)として Azure Active Directory(Entra ID)を設定する方法を説明します。Azure AD に入力する SAML 設定、フェデレーションメタデータの取得方法、統合を完了するために EK でドメインを登録する方法をカバーします。

注意

EK の汎用 SAML フローは Azure AD / Entra ID とそのまま動作します。まだお読みでない場合は、開始前に統合の仕組みを理解するために SAML SSO の概要を参照してください。

前提条件​

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

パート1 — Azure AD の設定​

Azure AD で新しいエンタープライズアプリケーションを作成​

  1. 新しいエンタープライズアプリケーションを作成

    Azure ポータルで、Azure Active Directory → エンタープライズアプリケーションに移動し、新しいアプリケーションをクリックします。独自のアプリケーションを作成を選択し、名前(例:EK SSO)を付け、**ギャラリーにない他のアプリケーションを統合(Non-gallery)**を選択します。

  2. SSO 設定を開く

    アプリケーションが作成されたら、管理 → シングルサインオンに移動し、サインオン方法として SAML を選択します。

  3. 基本 SAML 設定を入力

    基本 SAML 設定セクションで、以下の値を入力します:

    フィールド値
    識別子(エンティティ ID)https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin
    応答 URL(ACS URL)https://<your-FQDN>/backend/user/generic/sso/saml/acs/admin
    サインオン URL空欄のまま
    リレーステートdefault
    ログアウト URL空欄のまま
  4. 属性とクレームを設定

    属性とクレームセクションで、以下のマッピングを確認または追加します:

    属性値
    givennameuser.givenname
    surnameuser.surname
    emailaddressuser.mail
    nameuser.userprincipalname
    DisplayNameuser.displayname
    emailuser.mail
    一意のユーザー識別子(Name ID)user.userprincipalname

パート2 — Azure AD メタデータの取得​

Azure AD アプリケーションが設定されたら、フェデレーションメタデータ URL を取得します:

  1. SAML 証明書セクションに移動

    アプリケーションで、管理 → シングルサインオン → SAML 証明書に移動します。

  2. App Federation Metadata URL をコピー

    App Federation Metadata URL を見つけてコピーします。

    パスは:

    Manage > Single sign-on > SAML Certificates > App Federation Metadata URL

    この URL はパート3で必要です。
    Azure AD メタデータ 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": "azure",
"metadata_url": "https://your-azure-federation-metadata-url",
"backend_root_url": "<your-backend-host>/backend"
}'

必須フィールド​

フィールド説明
enterprise_idユーザーのメールドメイン(例:acme.com)。
provider"azure"
metadata_urlパート2の App Federation 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 アクセスコントロールと自動チーム/プロジェクト割り当てガイドを参照してください。