コンテンツにスキップ

SSO(Entra ID)設定マニュアル


1. 概要

1.1 目的

本書は、IDApex IAM へのシングルサインオン(SSO)環境を構築するため、以下の認証連携(フェデレーション)を設定する手順を解説したものです。

  1. Entra ID ⇔ IDApex IAM の連携
    Entra IDはIdP(アイデンティティ・プロバイダー)、IDApex IAM はサービスプロバイダ(SP)の役割を担っています。 そのため、ユーザーはEntra IDの認証情報を用いて、IAM 画面にセキュアにアクセスできます。

1.2 前提条件

本書での作業を開始するための前提条件です。

前提条件 備考
各システムの管理者権限 IDApex IAM(realm-admin)、Entra ID(クラウド アプリケーション管理者、アプリケーション管理者、またはサービス プリンシパルの所有者)の各権限が必要です。
『IAM_基本設定マニュアル』 の設定が完了していること 日本語化やクライアントの基本設定が完了している必要があります。
ユーザー情報の同期完了 Entra ID、IAM の間で、ユーザーを一意に識別するための属性(メールアドレス等)が正しく同期・登録されている必要があります。
ネットワークの疎通確認 各システム間(ブラウザを含む)で、OIDC 連携に必要なエンドポイントにアクセス可能である必要があります。
証明書とメタデータ 各連携においてやり取りするメタデータ XML ファイル、または信頼設定に必要な公開鍵証明書が必要です。
インターネット接続環境 IDApex IAM はインターネットを通じて操作を行います。

1.3 全体の流れ

本 SSO 連携は、以下のステップで設定を行います。

外部連携(Entra ID ⇔ IAM)

Entra ID 側で IAM をアプリとして登録する設定を行います。

IDApex IAM 側で Entra ID を IdP (アイデンティティ・プロバイダー)として登録し、 OIDC の設定を行います。

Entra ID 経由で IAM へログインした際に、IAM に登録されていないユーザーは IAM に新規登録させないための設定を行います。

疎通テスト

IAM へ Entra ID 経由でログインできることを確認します。

IAM 未登録ユーザーでEntra ID 経由でログインした際に IAM ユーザーが新規作成されないことを確認します。

2. SSO設定

本セクションでは、1.3章「全体の流れ」に示した各ステップに基づき、各システム間でシングルサインオン(SSO)を実現するための具体的な設定手順を説明します。

2.1 外部連携(Entra ID ⇔ IAM)

アプリの登録

  1. Microsoft Entra ID (https://entra.microsoft.com/) にサインインします。
  2. 左のメニューから「アプリの登録」を選択、「新規登録」を押下します。
    image

  3. アプリケーションの登録画面に遷移します。以下の内容を入力または選択して「登録」ボタンを押下します。

    項目 備考
    名前 IDApex IAM OIDC
    サポートされているアカウントの種類 シングルテナントのみ
    プロトコル Web
    URL https://auth.pre.id-apex.com/auth/realms/{realm-name}/broker/entraid-oidc/endpoint {realm-name}はお客様の環境のものに置き換えてください。

    image

  4. 作成したアプリの「概要」ページから「アプリケーション (クライアント) ID」と「ディレクトリ (テナント) ID」をメモしておきます。
    image

  5. 「証明書とシークレット」を選択し、「新しいクライアント シークレット」を押下します。
    image

  6. 「説明」と「有効期限」に任意の値を入力または選択して「追加」ボタンを押下します。
    image

  7. 作成されたクライアント シークレットの「値」と「シークレットID」をメモしておきます。
    image

IdP登録

  1. 左のメニューから「アイデンティティ・プロバイダー」を選択します。
  2. 「OpenID Connect v1.0」を押下して設定画面を開きます。
    image

  3. 以下の表 2-2と図 2-8を参考に設定を行い、「追加」ボタンを押下します。

    項目 備考
    リダイレクトURI https://auth.idlifecycle.dev.canday-town.com/auth/realms/{realm-name} /broker/entraid-oidc/endpoint 自動入力されます。
    エイリアス entraid-oidc 表 2-1 URLのendpointと合わせる必要があります。
    名前 Entra ID 任意の名前です。 ログイン画面に表示される値となります。 空欄の場合はエイリアスが表示されます
    Use discovery endpoint オン
    リモートIDPディスカバリー・ディスクリプターよりメタデータをインポートします。 https://login.microsoftonline.com/{ディレクトリ (テナント) ID } /v2.0/.well-known/openid-configuration
    クライアントID アプリの登録4 の手順で取得したアプリケーション (クライアント) ID
    クライアント・シークレット アプリの登録7 の手順で取得した「値」

    image

ユーザーの新規登録禁止

  1. 左のメニューから「認証」を選択します。
  2. 「Create flow」ボタンを押下して認証フローを作成します。
    image

  3. 「名前」に「Link Only」、「フロータイプ」は「Basic flow」を選択し、「作成」ボタンを押下します。
    image

  4. 「エグゼキューションを追加」または「Add step」 ボタンを押下して認証ステップを追加します。
    image

  5. 「Detect existing broker user」 、「Automatically set existing user」 の順で追加します。
    image

  6. 必要条件をすべて「Required」に変更します。
    image

  7. 左のメニューから「アイデンティティ・プロバイダー」を選択し、先ほど作成した「Entra ID」 を選択します。

  8. 「設定」タブを下までスクロールし、「First login flow override」 で「Link Only」 を選択します。
  9. 「保存」ボタンを押下します。
    image

以上で外部連携設定の完了です。

IAM へ Entra ID を経由してログインできるようになりました。

また、IAM に登録されていないユーザーはログイン時にログインを拒否されます。

次のセクションではこれらの動作を確認していきます。

2.2 疎通テスト

Entra ID を使用して IAM へログイン

  1. https://auth.pre.id-apex.com/auth/realms/{realm-name}/account/ へアクセスします。
  2. 「Or sign in with」 の下に作成したアイデンティティ・プロバイダーの「Entra ID」 が表示されていることを確認します。
  3. 「Entra ID」 ボタンを押下します。
    image

  4. Microsoft のログイン画面へ遷移するので、画面の案内に従ってログインします。

  5. ログインに成功するとアカウントコンソール画面が表示されます。

以上で疎通テストの完了です。

もう1パターン、Entra ID にアカウントがあるが IAM にアカウントが登録されていない場合の動作をご紹介します。

IAM と Entra ID のアカウントリンクはメールアドレスをもとに行っています。

IAM にアカウントが登録されていないユーザーがログイン

  1. https://auth.pre.id-apex.com/auth/realms/{realm-name}/account/ へアクセスします。
  2. 「Entra ID」 ボタンを押下します。
  3. Microsoft のログイン画面へ遷移するので、 IAM に登録のないユーザーでログインします。
  4. Microsoft の認証に成功後、 IAM の画面へ遷移し以下のメッセージが表示されます。
    image

以上がEntra ID にアカウントがあるが IAM にアカウントが登録されていない場合の動作となります。

IAM 側でログインを拒否され、新規にユーザーが登録されることはありません。