Microsoft 365(旧 Office 365)を導入する企業の多くが、ID 管理の課題に直面しています。Azure Active Directory(現在の Microsoft Entra ID)は企業向け ID 管理の標準ツールとなっていますが、SSO の適切な設定には詳細な技術知識が必要です。本記事では、Microsoft 365 と Entra ID の SAML 2.0 SSO 統合、オンプレミス Active Directory との連携、条件付きアクセスの実装までを解説します。
Microsoft 365 SSO 導入のメリット
セキュリティの向上
Microsoft 365 に SSO を導入することで、以下のセキュリティが実現します:
- 統一認証管理:全 Microsoft 365 サービス(Outlook、Teams、SharePoint)で一元管理
- 条件付きアクセス:デバイスの種類、位置情報、リスクレベルに基づくアクセス制御
- 多要素認証(MFA):パスワード+生体認証またはセキュリティキーで多層防御
業界規制(金融機関、医療など)や個人情報保護法への対応が必須な企業では、SSO と MFA の組み合わせがコンプライアンス要件となります。
運用効率の向上
- プロビジョニング自動化:SCIM を使用したユーザーアカウント自動作成・削除
- グループベースアクセス制御:部門やプロジェクトごとのアクセス権を一元管理
- ライセンス自動割り当て:ユーザー属性に基づく Microsoft 365 ライセンスの自動配分
IDaaS SSO選定ガイド
IDaaS/SSOの選定基準を体系的に整理。対応プロトコル、MFA、プロビジョニング機能など、比較検討に必要な視点を網羅しています。
Entra ID の SAML 2.0 設定手順
前提条件
- Entra ID の管理者アカウント:グローバル管理者または認証管理者権限
- 独自 IdP(LOCKED MSO など):SAML 2.0 対応
- カスタムドメイン:Microsoft 365 にカスタムドメインが設定済み(例:company.com)
ステップ 1:Entra ID でのエンタープライズアプリケーション作成
Azure Portal → Entra ID → エンタープライズ アプリケーション → 新しいアプリケーション
上記の経路で「ギャラリーアプリケーション」から SSO 対応のアプリを選択するか、「カスタムアプリケーション」として LOCKED MSO を登録します。
登録情報
- アプリケーション名:「LOCKED MSO - Microsoft 365 SSO」
- SAML 署名証明書:アップロード不要(Entra ID が自動管理)
ステップ 2:SAML メタデータの交換
LOCKED MSO の SAML メタデータ(XML)を Entra ID にアップロードし、Entra ID の SAML メタデータを LOCKED MSO に登録します。
必要な情報
| 項目 | 用途 |
|---|---|
| Entity ID | Entra ID を識別するための一意 ID |
| Single Sign-On URL | SAML Assertion を受け取る URL |
| Logout URL | ログアウト時のリダイレクト先 |
| Certificate | SAML 署名検証用の公開鍵 |
ステップ 3:属性とクレームマッピング
Entra ID から SAML Assertion に含められる属性をマッピングします。
推奨マッピング
| Entra ID 属性 | SAML クレーム | 説明 |
|---|---|---|
| user.mail | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress | メールアドレス |
| user.displayname | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name | 表示名 |
| user.surname | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname | 姓 |
| user.givenname | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname | 名 |
| user.department | department | 部門 |
| user.jobtitle | jobTitle | 役職 |
ステップ 4:ユーザー・グループの割り当て
SAML SSO を利用するユーザーをアプリケーションに割り当てます。
割り当て方法
- 個別ユーザー割り当て:パイロット段階(20~50 人)
- セキュリティグループ割り当て:部門単位(営業部、企画部など)
- 全ユーザー割り当て:本番展開時
段階的な展開により、トラブル時の影響範囲を最小化できます。
ステップ 5:SAML 署名証明書の管理
SAML 署名証明書は通常 3 年の有効期限を持ちます。期限切れ前の更新が必須です。
証明書更新の流れ
- Entra ID で新しい SAML 署名証明書を生成(「SAML 署名証明書」→「新しい証明書を作成」)
- 新しい証明書を LOCKED MSO にアップロード
- テスト環境で新証明書での SSO 動作を確認
- 本番環境へロールアウト(通常は即時、または段階的に)
推奨:証明書有効期限の 30~60 日前から更新作業を開始
Microsoft 365 と オンプレミス Active Directory の統合
大規模企業では、オンプレミス Active Directory(AD)と Entra ID をハイブリッド構成で運用することが一般的です。
Azure AD Connect による同期
Azure AD Connect は、オンプレミス AD と Entra ID の間でユーザー・グループ情報を同期するツールです。
同期対象
- ユーザーアカウント(samAccountName、mail など)
- グループ(配布グループ、セキュリティグループ)
- パスワードハッシュ同期(PHS)
- パススルー認証(PTA)
推奨構成
- オンプレミス AD が単一ソース
- Azure AD Connect で自動同期(同期間隔:デフォルト 30 分)
- Entra ID でクラウド専用属性(部門コードなど)を管理可能
パスワードハッシュ同期(PHS)vs パススルー認証(PTA)
| 方式 | メリット | デメリット |
|---|---|---|
| PHS | クラウド環境への依存が低い、障害耐性が高い | オンプレミス AD との遅延同期(15~30 分) |
| PTA | リアルタイム認証、新しいシステム | オンプレミス AD への依存、サーバー増設でスケーリング必要 |
推奨:大規模企業は PTA + LOCKED MSO の組み合わせで、セキュリティと可用性を両立
Microsoft 365 の条件付きアクセス
Entra ID の条件付きアクセスポリシーにより、ユーザーの認証環境に基づいて細かいアクセス制御が可能です。
条件付きアクセスの例
ポリシー:デバイス非準拠時のブロック
条件:
- デバイス状態:準拠していないデバイス
- ユーザー:全ユーザー(ゲストは除外)
- クラウドアプリ:Microsoft 365(Exchange Online、SharePoint Online など)
制御:
- ブロック
ポリシー:社外からの MFA 要求
条件:
- 場所:全て(信頼できる場所以外)
- ユーザー:全ユーザー
- クラウドアプリ:Microsoft 365
制御:
- MFA を要求
ポリシー:リスクベース認証
条件:
- サインインリスク:中・高
- ユーザー:機密部門(経営企画、財務など)
制御:
- MFA を要求、またはパスワード変更を強制
Microsoft Teams と SharePoint Online への SSO 統合
Microsoft 365 で特に利用頻度の高い Teams と SharePoint Online へのSSO 実装について解説します。
Teams への SSO 設定
Teams はデフォルトで Entra ID 認証を使用するため、追加設定は不要です。ただし、外部ユーザーとの連携(フェデレーション)が必要な場合は、以下を設定します:
- ゲスト アクセス:外部ユーザーの招待設定
- 外部アクセス:別のテナントの Teams ユーザーとの通信許可
SharePoint Online への認証設定
SharePoint Online は、クレーム ベース認証を使用します。SAML による外部 IdP 認証の場合、以下を設定:
- 信頼できる ID プロバイダー:LOCKED MSO の SAML メタデータを登録
- クレーム マッピング:ユーザー属性のマッピング
Microsoft 365 SSO のトラブルシューティング
よくあるエラーと対応
エラー:「AADSTS50005: ユーザーが無効です」
原因:SAML Assertion の NameID がEntra ID に存在しないユーザーを示している
対応:
- LOCKED MSO でName ID の属性マッピングを確認
- Entra ID のユーザー オブジェクト ID(UPN など)と一致しているか検証
エラー:「AADSTS650057: SAML アサーション署名が無効です」
原因:SAML 署名証明書が期限切れまたは不正
対応:
- LOCKED MSO の証明書有効期限を確認
- Entra ID アップロード済みの証明書と一致しているか確認
- 新しい証明書を再アップロード
エラー:「AADSTS50058: サイレント サインイン要求に失敗しました」
原因:ブラウザの Cookie 設定、サードパーティ Cookie の制限
対応:
- ブラウザの Cookie ポリシーを確認(Safari のサードパーティ Cookie 制限など)
- Entra ID の「エンタープライズ モビリティ + セキュリティ」設定を確認
Entra ID のライセンス体系と機能
Entra ID(Azure AD)にはいくつかのライセンス層があり、機能が異なります。
| ライセンス | 月額(ユーザー単位) | 主要機能 |
|---|---|---|
| Free | 無料 | 基本的なユーザー・グループ管理、SSO |
| Premium P1 | 約 600 円 | 条件付きアクセス、デバイス管理 |
| Premium P2 | 約 1,200 円 | リスク検出、自動対応 |
| Microsoft 365 E3/E5 | 3,000~5,000 円 | 全機能 + Microsoft 365 アプリ |
大規模企業では Microsoft 365 E5(全機能 + セキュリティ機能)の導入が推奨されます。
LOCKED MSO による Microsoft 365 SSO の最適化
LOCKED MSO は Microsoft 365 との SAML 統合に完全対応し、以下の利点を提供します:
- シンプルな管理画面:複雑な Entra ID 設定を簡素化
- 複数 IdP の統一管理:Entra ID + LOCKED MSO で、オンプレミス AD とクラウドを統一管理
- パスワードレス認証:FIDO2 セキュリティキーで Microsoft 365 へのログイン
- 日本語サポート:導入・運用時のサポートが充実
まとめ:Microsoft 365 SSO は段階的導入が重要
Microsoft 365 の SSO 設定は、Entra ID の機能と連携することで、エンタープライズレベルのセキュリティと運用効率を実現します。
導入の鍵は:
- 段階的導入:パイロット(部門) → 全社展開
- 属性マッピングの正確性:ユーザー識別情報の一元化
- 定期的な証明書更新:期限切れによるトラブルを事前予防
- 条件付きアクセスの活用:セキュリティと利便性のバランス
外部参考リンク
関連記事
- Azure AD SAML連携完全手順【証明書管理までの全手順】
- SAML 2.0仕様書日本語詳解【RFC 7114準拠実装】
- Microsoft Entra ID完全解説【旧Azure ADとの違い】
- アクセス制御ルール完全ガイド【12項目で柔軟な権限管理実現】
- MFA運用完全ガイド【TOTP/FIDO2/SMS比較と段階導入】
LOCKEDの詳細を見る
シングルサインオン・認証管理でお悩みなら、LOCKEDの無料デモをお試しください。