LOCKED
ブログ一覧に戻る
SSO・IDaaSLOCKED MSO

Azure AD SAML連携完全手順【証明書管理までの全手順】

関連トピック: SAML認証の実装ガイド【仕様から設定まで完全解説】

Microsoft Entra ID(旧Azure AD)は、全世界の数百万組織で採用されているクラウドベースのIdentity管理プラットフォームです。本記事では、Entra IDとエンタープライズアプリケーション(SaaS、オンプレミスシステム)を、SAML 2.0で安全に連携させるための完全な設定手順を解説します。

Microsoft Entra IDの概要

エンタープライズアプリケーション(Enterprise Applications)の役割

Entra IDでは、組織内で利用するすべてのアプリケーション(SaaS、オンプレミス)を「エンタープライズアプリケーション」として登録します。

Entra ID(IdP)
  ├─ Microsoft 365(内部アプリ)
  ├─ Salesforce(SAML連携)
  ├─ SAP SuccessFactors(SAML連携)
  ├─ Slack(SAML/OIDC連携)
  ├─ 社内基幹システム(SAML連携)
  └─ ...その他SaaS

この構造により、1つの従業員アカウント(user@company.onmicrosoft.com)で、複数のアプリケーションへのシングルサインオンが実現されます。

RFPテンプレート(無料)

IDaaS導入RFPテンプレート

IDaaS導入の社内稟議に使えるRFPテンプレート。SSO、MFA、プロビジョニングなどの要件を網羅したフォーマットです。

無料でダウンロード

SAML連携の5つのステップ

ステップ1:エンタープライズアプリケーションの追加

1-1. Azure Portalへログイン

Azure Portal URL: https://portal.azure.com
ユーザー: Entra ID管理者アカウント

1-2. Entra IDダッシュボード → エンタープライズアプリケーション → 新しいアプリケーション

【新規アプリケーション追加ダイアログ】
- 「ギャラリーから参照」:Salesforce、Slack等の事前統合テンプレート
- 「独自のアプリケーション」:カスタムアプリケーション(オンプレミスシステム等)

1-3. アプリケーション情報を入力

例:オンプレミス基幹システムの場合

【アプリケーション設定】
- 名前:「SAP System - Production」
- ロゴ:会社ロゴ(オプション)
- ホームページURL:https://sap.company.local/
- ユーザーアクセスURL:https://sap.company.local/sso

ステップ2:SAML設定の構成

2-1. SAML設定(最初に設定を行う)タブをクリック

【[SAML認証](/article/mso/saml-authentication-implementation)構成】ページが開く
- セクション1:基本的なSAML構成
- セクション2:SAML設定(証明書、メタデータURL)
- セクション3:属性とクレーム
- セクション4:SAML署名証明書

2-2. 基本的なSAML構成(セクション1)

ここでアプリケーション側の設定情報を入力します。

【識別子(エンティティID)】
https://sap.company.local/saml/metadata

【応答URL(Assertion Consumer Service URL)**
https://sap.company.local/acs

【サインオンURL】
https://sap.company.local/sso

【ログアウトURL】(オプション)
https://sap.company.local/logout

【リレーステート】(オプション)
ユーザーがSSO後に遷移するURL
https://sap.company.local/home

重要な注意点

  • 識別子とログアウトURLは一意である必要があります(複数アプリ間での重複は不可)
  • 応答URLはHTTPSであることが必須(HTTPはセキュリティリスク)

2-3. Entra IDのメタデータ情報を確認

セクション2に表示される情報:

【Entra IDが提供する情報】

- ログインURL:
  https://login.microsoftonline.com/{tenant-id}/saml2

- Azure AD識別子(Entra ID のエンティティID):
  https://sts.windows.net/{tenant-id}/

- ログアウトURL:
  https://login.microsoftonline.com/{tenant-id}/saml2/logout

これらをアプリケーション側(SAP等)に設定します

ステップ3:属性マッピングの設定(セクション3)

Entra IDからアプリケーションへ送信されるユーザー属性を定義します。

3-1. デフォルト属性マッピング(初期状態)

Entra ID属性 → アプリケーション側のクレーム名

user.mail → http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
user.givenname → http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
user.surname → http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
user.objectid → http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

3-2. カスタム属性の追加

例:部門情報をアプリケーションに送信

【新しいクレームの追加】

クレーム名:department
ソース属性:user.department
属性値形式:urn:oasis:names:tc:SAML:2.0:attrname-format:uri

【保存】

3-3. 属性マッピングのベストプラクティス

# 最小限必須
user.mail → email
user.objectid → uid(または nameidentifier)

# 推奨
user.givenname → firstName
user.surname → lastName
user.department → department
user.officeLocation → location

# 高度な設定(カスタム拡張属性)
extension_d4d30e1b4d3c4f2e8b1a7c6f5d4e3c2b_department → dept_code

ステップ4:SAML署名証明書の管理(セクション4)

Entra IDがSAML Assertionに署名するための証明書を管理します。

4-1. 証明書情報の確認

【現在のSAML署名証明書】

- サムプリント:
  3D82A8B5C4E2F1D9A6B7C8E9F0D1A2B3C4D5E6F7

- 有効期限:
  2026年3月5日(約2年)

- 署名アルゴリズム:
  SHA-256

- X.509証明書:
  -----BEGIN CERTIFICATE-----
  MIIDXTCCAkWgAwIBAgIJAKHHCgVDRV2dMA0GCSqGSIb3...
  -----END CERTIFICATE-----

4-2. 証明書のダウンロード

アプリケーション側に証明書をアップロードするため、PEM形式またはBase64形式でダウンロードします。

【証明書ダウンロード】
- Base64エンコード済み証明書(推奨:大多数のアプリ対応)
- フェデレーションメタデータXML(全ての設定情報を含む)

4-3. 証明書更新の自動化(重要)

証明書有効期限を超過すると、SSO認証が一切機能しなくなります。Entra IDは自動的に30日前から新しい証明書を発行します。

【Entra ID側の自動更新プロセス】
- T-30日:新証明書を生成(Entra ID管理画面に表示)
- T日:新証明書が自動的に有効化
- T+30日:旧証明書は無効化

アプリケーション側では、これ以前に新証明書を導入済みにしておく必要があります。

推奨手順

  1. T-30日の段階で、新しい証明書をダウンロード
  2. アプリケーション側の管理画面で新証明書を登録
  3. 両証明書が並行して動作することを確認(トランジション期間)
  4. T+30日後、旧証明書を削除

ステップ5:テストとトラブルシューティング

5-1. シングルサインオンのテスト

Entra ID管理画面から直接テストを実施:

【テストの実施】
1. 「ユーザーを試す」ボタンをクリック
2. Entra IDのテストユーザーでログイン
3. アプリケーションのACSに正常にリダイレクト
4. アプリケーションで正常にセッションが作成される

5-2. SAML Responseの検証ツール

ブラウザの開発者ツール(F12)またはSAML検証ツールを用いて、Responseの内容を確認:

<samlp:Response>
  <saml:Issuer>
    https://sts.windows.net/{tenant-id}/
  </saml:Issuer>

  <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
  </samlp:Status>

  <saml:Assertion>
    <!-- Assertion内容を確認 -->
    <saml:Subject>
      <saml:NameID>user@example.com</saml:NameID>
    </saml:Subject>

    <saml:AttributeStatement>
      <!-- 属性が正しく含まれているか確認 -->
      <saml:Attribute Name="email">
        <saml:AttributeValue>user@example.com</saml:AttributeValue>
      </saml:Attribute>
    </saml:AttributeStatement>
  </saml:Assertion>
</samlp:Response>

5-3. 一般的なトラブル

エラー原因対応
エンティティIDの不一致識別子の設定が間違っているEntra ID側と APP側の識別子を確認
署名検証エラー証明書が期限切れ新しい証明書をダウンロードし再登録
属性がない属性マッピングが未設定Entra IDの属性マッピングを確認
ACSへのリダイレクト失敗応答URLが間違っているHTTPS & 完全なURLを確認

グループベースのアクセス制御(Advanced)

Entra IDのグループ機能を用いて、アプリケーションへのアクセスを制御できます。

【グループマッピング設定】

1. Entra ID上でセキュリティグループを作成
   - "SAP-Users"(全従業員)
   - "SAP-Admins"(管理者のみ)
   - "SAP-Finance"(経理部門のみ)

2. グループ属性をアプリケーションに送信
   - アプリケーション側で、ユーザーのグループメンバーシップを確認
   - グループに基づいて、アプリケーション内での権限を自動割り当て

3. Entra ID内でグループメンバーを管理
   - 新入社員がグループに追加される
   - 自動的にアプリケーション内でも権限が付与される

LOCKED MSO での自動化

LOCKED MSO は、Entra ID連携の複雑さを大幅に軽減します。

LOCKED MSO の役割

ユーザー → LOCKED MSO(Conditional Access層)
   ↓
【リスクベース認証判定】
- デバイス確認
- 異常ログイン検知
- 地理情報確認

   ↓
Entra ID(SAML IdP)
   ↓
アプリケーション(SAML SP)

LOCKED MSO を導入すると

  • Entra IDの属性に加え、LOCKED MSO側でも追加の認証・認可判定が可能
  • Entra IDで管理できない細粒度の制御(IPアドレス、デバイスチェックなど)を実装
  • 全ログインイベントの統一的な監査ログ(90日以上保持)

大規模企業での運用事例

日本の大手電機メーカー(従業員10,000名)

課題

  • 複数国の子会社の従業員が、異なるアカウント体系で運用されていた
  • オンプレミスActive DirectoryとOffice 365が同期していない箇所が存在
  • SaaS申し込み時の認可フローが手動で、申請~承認に2週間要する

実装内容

  1. グローバルEntra IDテナント統合:6ヶ月かけて全拠点を統一テナントに移行
  2. SAML連携自動化:LOCKED MSO により、新規SaaS追加時の設定を1日で完了
  3. アクセス制御の自動化:Entra IDグループ + LOCKED MSO リスク判定で、99%自動承認

成果

  • パスワードリセット:年間3,000件 → 500件(83%削減)
  • SaaS申請処理時間:14日 → 1日(93%短縮)
  • セキュリティインシデント(フィッシング):0件(100%防止)

まとめ

Entra IDのSAML連携は、正確な設定と証明書管理が必要ですが、一度確立すると極めて堅牢です。大企業では、複数部門のSaaS利用、ハイブリッド環境でのアクセス制御、グローバル展開など、複雑な要件に対応可能です。

LOCKED MSO を組み合わせることで、Entra IDの機能を最大限に活かしながら、追加のセキュリティ層を実装できます。


参考資料・外部リンク

関連記事

LOCKEDの詳細を見る

シングルサインオン・認証管理でお悩みなら、LOCKEDの無料デモをお試しください。

資料請求・デモ依頼はこちら →

商標について:本記事に記載されているOneLoginAzure ADMicrosoft Entra IDMicrosoft 365SalesforceSlack等の製品名・サービス名は、各社の商標または登録商標です。

免責事項:本記事の情報は執筆時点のものであり、各製品の最新の機能・料金・仕様については、各社の公式サイトをご確認ください。本記事の内容に基づく判断・行動について、当社は一切の責任を負いかねます。

LOCKED MSO

この課題、LOCKEDで解決できます

「IDaaS導入RFPテンプレート」など、検討に役立つ資料を無料でご用意しています

LOCKEDシリーズの詳細資料を無料でダウンロード

導入事例、機能詳細、他社比較など、検討に必要な情報をまとめた資料をご用意しています

まずは資料で詳細を確認

製品資料で機能・料金・導入事例をまとめてご確認いただけます

資料をダウンロード