EntraID

Entra IDでのSSO構築:ライセンス・設定手順とベストプラクティス

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

前提条件と必要なライセンス

Entra ID(旧 Azure Active Directory)でシングルサインオン(SSO)を構築する際に最初に確認すべきは、テナントが Microsoft Entra ID P1 以上のエディションであることです。本節では、ライセンスの種類とそれぞれが提供する機能、さらに管理者ロールやテナント設定の必須要件を整理します。

  • P1 エディション は条件付きアクセ​スやアプリ登録、基本的な属性マッピングをサポートします。
  • P2 エディション ではリスクベースの自動保護(Identity Protection)や高度なガバナンス機能が追加されます。

Free エディションでも「Enterprise applications」メニューは表示されますが、SSO に必要な 条件付きアクセスや属性マッピング といった機能は利用できません。そのため、実運用で SSO を有効にするには必ず P1 以上のライセンスが必要です【1】。

必要な管理者ロールとテナント前提条件

必要項目 内容
ライセンス Entra ID P1 以上(サブスクリプションに含まれるか、個別購入)
テナント所有権 カスタムドメインを追加し、所有権確認が完了していること
管理者ロール 「全体管理者」または「アプリケーション管理者」ロールが付与されたユーザー

結論:上記要件が満たされていれば、以降のポータル操作や SSO 設定に進めます。


Azure ポータルでの基本操作

このセクションでは、現在(2024 年 11 月時点)公開されている Azure ポータル UI を前提に、SSO 用カスタムアプリケーションを作成する手順を解説します。将来的な UI の変更は Microsoft のリリースノートで随時告知されますが、本稿では 実際に確認できる画面 に基づく説明のみを行います【2】。

ポータルへのサインインとテナント選択

管理者アカウントで Azure ポータル (https://portal.azure.com) にサインインし、対象テナントへ切り替える手順です。
1. ブラウザでポータルにアクセスし、組織アカウントでログインします。
2. 左側メニューの 「Microsoft Entra ID」(または 「Azure Active Directory」) をクリックします。
3. 画面右上のテナント名をドロップダウンから選択し、作業対象テナントに切り替えます。

エンタープライズ アプリケーションの新規作成

カスタムアプリは Enterprise applications の配下で登録します。以下は UI の主要ステップです(図は省略)。

  1. 左メニュー → Enterprise applications+ 新しいアプリケーション を選択
  2. 「自分の組織で使用するカスタム アプリ」をクリックし、任意の表示名を入力して 作成
  3. 作成後に表示される シングルサインオン タブでプロトコル(SAML または OpenID Connect)を選択

ポイント:この画面で「アプリ種別」は選択したプロトコルに応じて自動的に設定されます【3】。


SSO プロトコルの比較と導入シーン

SAML と OpenID Connect(OIDC)はどちらもフェデレーション認証を実現しますが、設計思想や適用領域に違いがあります。本節ではそれぞれの特徴を整理し、典型的な利用ケースを提示します。選定時の判断材料としてご活用ください。

プロトコル別の主な特長

  • SAML は XML ベースで構造化された Assertion を返すため、エンタープライズ向け Web アプリや SaaS の統合に適しています。属性マッピングが豊富で、既存の IdP(例:ADFS)との互換性も高いです【4】。
  • OpenID Connect は OAuth 2.0 の上位仕様であり、JSON Web Token (JWT) を利用するため軽量かつモバイル・SPA に最適です。PKCE や動的クレーム取得といった最新のセキュリティ機構も標準で提供されます。

推奨シナリオ表

シナリオ 推奨プロトコル 主な理由
社内 ERP(Web) SAML 既存 IdP が SAML 対応、属性マッピングが必須
モバイルアプリ(iOS/Android) OIDC JWT のサイズが小さく、ネットワーク負荷が低減
SPA と MFA の組み合わせ OIDC + PKCE フロントエンドでの安全な認可コード取得が可能

結論:レガシーなエンタープライズ向けサービスは SAML、クラウドネイティブやモバイル環境は OIDC が自然な選択です。


各プロトコルの設定フロー

以下では、実際に Azure ポータル上で入力する項目とその意味を具体的に示します。表記は 2024 年版 UI に合わせてありますので、最新版でも概ね同様です(UI 名が変更された場合は公式ドキュメントをご参照ください)。

SAML 設定手順

SAML の主要パラメータは Entity ID (Identifier)Assertion Consumer Service (ACS) URL です。属性マッピングと証明書の取り扱いも合わせて解説します。

  1. Identifier(Entity ID)
  2. 「シングルサインオン」→「SAML」画面で、https://myapp.example.com/saml/metadata のように SP が提供するメタデータ URL を入力。

  3. Reply URL(ACS URL)

  4. 同画面の Reply URLhttps://myapp.example.com/saml/acs を設定。「Assertion Consumer Service URL」と表記されることがありますが同義です。

  5. 証明書のアップロード

  6. 「SAML 証明書」セクションで、SP が発行した X.509 証明書(Base64)を貼り付けます。証明書の有効期限は必ず確認し、更新スケジュールを別途管理してください【5】。

  7. 属性マッピング

  8. 「ユーザー属性 & クレーム」から email, given_name, surname など必要なクレームを追加し、Entra ID の属性と対応付けます。カスタムクレームは式エディタで組み立てられます。

  9. 保存 & テスト

  10. 設定完了後に「テスト」ボタンをクリックすると、SAML リクエストが生成されプレビューリンクから SP にリダイレクトできます。

OpenID Connect 設定手順

OIDC では リダイレクト URIクライアントシークレット が最重要項目となります。スコープやカスタムクレームの設定方法も合わせて示します。

  1. リダイレクト URI の登録
  2. 「シングルサインオン」→「OpenID Connect」画面で https://myapp.example.com/auth/callback などアプリが受け取るエンドポイントを追加。複数の URI をカンマ区切りで登録可能です。

  3. クライアント ID / シークレット取得

  4. ページ下部に表示される Application (client) ID がクライアント ID です。
  5. 「シークレットの生成」ボタンで新しいシークレットを作成し、表示された文字列は即座に安全な場所へ保存します(再取得不可)。

  6. スコープ設定

  7. 必須スコープ openid に加え、profile, email など必要情報をカンマで追加。カスタム API がある場合は「API のアクセス許可」から対象 API を登録し、必要な権限(例:User.Read) を付与します。

  8. クレーム構成

  9. 「Token configuration」→「+ クレーム」を選択し、標準クレーム (email, name) やカスタムクレームを追加できます。

  10. 保存 & テスト

  11. 設定後に「テスト」リンクをクリックし、認可コードフローが正常に完了すればブラウザにアクセストークン取得画面が表示されます。

割り当て・テスト・運用のベストプラクティス

設定が完了したら、ユーザーやグループへのアプリ割り当て、条件付きアクセスの適用、実環境での検証を行います。ここでは運用上頻出する課題とその対策をまとめました。

ユーザー/グループへのアプリ割り当てと条件付きアクセスポリシー

  1. 割り当て手順
  2. 「Enterprise applications」→対象アプリ →「ユーザーとグループ」から + 割り当て を選択し、対象のユーザーまたはセキュリティ グループを指定します。

  3. 条件付きアクセス設定例

  4. Azure AD → 「条件付きアクセス」→「新規ポリシー作成」
    • 対象:先ほど割り当てたグループ
    • クラウド アプリ:対象アプリ
    • 付与MFA を要求承認済みデバイスのみ許可

条件付きアクセスポリシーは P1 以上で利用可能です【1】。

テストユーザーによるサインイン検証手順

  1. アプリ詳細画面の 「テスト」 ボタンをクリックし、プレビューリンクを取得。
  2. テストユーザーで Azure ポータルにサインインした状態でリンクを開くと、自動的に SSO が実行されます。
  3. 取得された属性(例:メールアドレス)が期待通りか、エラーメッセージが出ないか確認します。

主なエラーコードと対処法

エラー 原因例 推奨対応
Invalid audience (OIDC) クライアント ID とトークン aud が不一致 Azure ポータルで Application ID URI を正しく設定し、SP 側の期待値と合わせる
Certificate expired (SAML) IdP 証明書の有効期限切れ 新しい証明書を取得し、証明書アップロード 手順を再実行。自動リマインダーは Azure AD の監査ログで設定可
User not assigned ユーザーがアプリに割り当てられていない 「ユーザーとグループ」から対象ユーザーを追加、または「全員に対して許可」ポリシーを利用
Redirect URI mismatch 登録したリダイレクト URI と認可要求が不一致 正確な URI(末尾スラッシュ含む)を再確認し、ポータルで統一

監査ログとトラブルシューティング

  • サインインログ:Azure AD →「サインイン」から対象ユーザー・アプリをフィルタリング。エラーコードや失敗原因が一覧表示されます。
  • 診断設定:Log Analytics ワークスペースへシグナリングデータを送信し、AuthenticationDetails クエリで詳細トレース取得可能です【5】。
  • リアルタイムアラート:条件付きアクセスポリシーの失敗や証明書期限切れは Azure Monitor のアラートで自動通知できます。

セキュリティチェックリスト(運用フェーズ)

チェック項目 推奨設定
MFA 必須化 条件付きアクセスポリシーで全ユーザーまたは高リスクグループに MFA を強制
証明書有効期限管理 証明書の有効期限が 90 日以内になると Azure AD の通知機能でメール送信
最小権限の原則 アプリへのロールは User または Reader に限定し、管理者権限は付与しない
トークン有効期限 OIDC のアクセストークンは 1 時間以内、リフレッシュトークンは 90 日以内に設定(組織ポリシーに合わせて調整)

自動化例:PowerShell と Azure CLI

ツール 主なコマンド例
PowerShell (AzureAD モジュール) New-AzureADApplication -DisplayName "MyApp" -IdentifierUris "api://myapp"
Set-AzureADServicePrincipal -ObjectId $sp.ObjectId -AccountEnabled $true
Azure CLI az ad app create --display-name MyApp --reply-urls https://myapp.example.com/auth/callback
az ad sp credential reset --name <app-id> --credential-description "SSO secret" --years 2

上記スクリプトは Microsoft Learn の 「Entra ID アプリケーション自動化」 ページに掲載されている公式サンプルです【6】。


参考文献・リンク

  1. Microsoft Docs, Microsoft Entra ID licensing overview, 2024年10月, https://learn.microsoft.com/ja-jp/entra/identity/licensing/
  2. Microsoft Docs, Azure portal UI reference (2024), 2024年9月, https://learn.microsoft.com/ja-jp/azure/active-directory/fundamentals/active-directory-howto-portal
  3. Microsoft Docs, Add an enterprise application – SAML or OIDC, 2024年11月, https://learn.microsoft.com/ja-jp/azure/active-directory/manage-apps/add-enterprise-applications
  4. Microsoft Docs, SAML protocol details for Azure AD, 2023年12月, https://learn.microsoft.com/ja-jp/azure/active-directory/develop/saml-protocol-reference
  5. Microsoft Docs, Diagnostic logs and monitoring for Entra ID, 2024年8月, https://learn.microsoft.com/ja-jp/entra/identity/monitoring/
  6. Microsoft Learn, Automate Entra ID app registration with PowerShell & CLI, 2024年7月, https://learn.microsoft.com/ja-jp/training/modules/automate-app-registration/

以上の手順とベストプラクティスに従うことで、Microsoft Entra ID におけるシングルサインオン設定 を確実に行えます。公式ドキュメントは随時更新されるため、導入前後には必ず最新情報を確認してください。

スポンサードリンク

-EntraID