ADSelfService Plus ナレッジベース

パスワード同期/シングルサインオンの設定手順【Microsoft 365/Entra ID編】


本ページではADSelfService PlusとMicrodoft 365/Entra IDとのSSO(シングルサインオン)の設定手順をご説明いたします。

概要

本ページでは、Microsoft 365/Entra ID(旧Azure AD)ユーザー向けに、ADSelfService PlusをIDプロバイダー(IdP)、Microsoft 365/Entra IDをサービスプロバイダー(SP)として使用する、SAML SSOの設定方法を案内します。

  • SSOはMicrosoft Entra IDで認証されたドメインでのみ有効化可能です。
  • Microsoftが作成した「onmicrosoft.com」ドメインではSSOを有効にすることはできません。
  • SSOはデフォルトドメイン(ユーザーが作成される主なドメイン)では有効化できません。カスタムドメインのみの設定が可能です。Microsoft Entra IDは、IdPの問題に関わらず管理者がOffice 365にログインできるようにするために、デフォルトドメインのSSO設定を禁止しています。組織にカスタムOffice 365ドメインがない場合は、SSOを設定するために購入する必要があります。
  • SSOが有効化されたフェデレーションドメインでは、パスワード同期の設定ができません。

Microsoft 365/Entra IDとオンプレミスのADアカウントを連携する手順

Microsoft Entra Connectを使用する場合
  • sourceAnchorとしてGUIDを使用する:Microsoft Entra Connectを利用している場合は、それを使用してOffice 365のsourceAnchor属性を、ADのGUID属性で更新します。
  • sourceAnchorとして他のAD属性を使用する:すでにsourceAnchor属性にGUID以外の異なる属性値を割り当てている場合は、ADSelfService Plusの「アカウントのリンク」オプションを使用して、AD内の対応する属性とマッピングしてください。
サードパーティー製の変換ツールでGUIDをImmutableIDへ変換する場合
  • GUIDをImmutableIDへ変換する::Microsoft Entra Connectを使用していない場合は、GUIDをImmutableIDに変換するサードパーティ製ツールをダウンロードできます。ツールを使用して各ユーザーのGUID値をImmutableID値に変換し、Microsoft Entra IDでそれらを更新します。
  • Microsoft Entra IDでのImmutableIDの更新:GUIDをImmutableIDに変換した後、以下のPowerShellコマンドの手順に従って、各ユーザーのMicrosoft Entra IDの値を更新する必要があります。
    1. PowerShellを管理者権限で実行します。
    2. Microsoft Graph PowerShellがインストールされていない場合は、次のコマンドを実行してインストールします

      Install-Module Microsoft.Graph -Scope CurrentUser

      ImmutableIDを操作するためのMicrosoft Graph PowerShellコマンド
      • Microsoft Graph PowerShellへの接続コマンド

        Connect-MgGraph -Scopes "Directory.AccessAsUser.All"

        グローバル管理者権限を持つMicrosoft 365/Entra IDアカウントでサインインしてください。
      • 既存ユーザーのImmutableID属性を更新するコマンド

        Update-MgUserByUserPrincipalName -UserPrincipalName "<ユーザーのメールアドレス>" -OnPremisesImmutableId "<immutable_id>"

      • 新規ユーザー作成時にImmutableID属性を更新するコマンド

        New-MgUser -AccountEnabled:$true -UserPrincipalName "user01@selfservice.com" -MailNickname "user01" -OnPremisesImmutableId "<immutable_id>" -DisplayName "user01" -GivenName "user" -Surname "S"

      • ImmutableID属性の更新が成功したか確認するコマンド

        Get-MgUserByUserPrincipalName -UserPrincipalName "<ユーザーのメールアドレス>" -Property UserPrincipalName, OnPremisesImmutableId | select UserPrincipalName, OnPremisesImmutableId

ADSelfService PlusおよびMicrosoft 365/Entra IDにおける設定手順

前提条件

  1. ADSelfService Plusに管理者としてログインします。
  2. [設定]タブ→[セルフサービス]→[パスワード同期/シングルサインオン]→[アプリケーションの追加] の順に移動し、表示されたアプリケーションの中からMicrosoft 365/Entra ID を選択します。
    左ペインの検索バー、または右ペインのアルファベット順ナビゲーションからMicrosoft 365/Entra IDアプリケーションを探すことも可能です。
  3. 画面右上の [IdPの詳細] をクリックします。
  4. 表示されたポップアップで、「エンティティID」「ログインURL」「ログアウトURL」 をコピーし、[X.509証明書をダウンロード] をクリックしてSSO証明書をダウンロードします。

Microsoft 365/Entra ID(サービスプロバイダー側の)設定

  1. PowerShell を管理者権限で実行します。
  2. Microsoft Graph PowerShell がまだインストールされていない場合は、以下のコマンドを実行してインストールします。

    Install-Module Microsoft.Graph -Scope CurrentUser

  3. 以下のコマンドを使用して Microsoft Graph PowerShell に接続します。グローバル管理者権限を持つ Microsoft Entra ID アカウントでサインインしてください。

    Connect-MgGraph -Scopes "Directory.AccessAsUser.All"

  4. 以下のコマンドを実行してドメイン一覧を取得します。

    Get-MgDomain

  5. SSO を有効にしたいドメインを指定します。

    $dom = "selfservice.com"

  6. 前提条件のステップ4でコピーした、ログイン URL、エンティティ ID、ログアウト URL をそれぞれ $url$uri$logouturlコマンドで定義します。

    $url = "<ログイン URL の値>"
    $uri = "<エンティティ ID の値>"
    $logouturl = "<ログアウト URL の値>"

    設定例:

    $url = "https://selfservice.com:9251/iamapps/ssologin/office365/1352163ea82348a5152487b2eb05c5adeb4aaf73"
    $uri = "https://selfservice.com:9251/iamapps/ssologin/office365/1352163ea82348a5152487b2eb05c5adeb4aaf73"
    $logouturl = "https://selfservice.com:9251/iamapps/ssologout/office365/1352163ea82348a5152487b2eb05c5adeb4aaf73"

  7. 前提条件のステップ4でダウンロードした、SSO 証明書ファイルをテキストエディタ等で開き、記載内容を以下のように変数 $cert に割り当てます:

    $cert = "証明書ファイルの内容"

  8. 以下のコマンドを実行して、Microsoft Entra ID で SSO を有効にします。

    New-MgDomainFederationConfiguration -DomainId $dom -IssuerUri $uri -PassiveSignInUri $url -SignOutUri $logouturl -SigningCertificate $cert -PreferredAuthenticationProtocol saml -federatedIdpMfaBehavior rejectMfaByFederatedIdp

  9. 設定内容を確認するには、以下のコマンドを使用します。

    Get-MgDomainFederationConfiguration -DomainId $dom | Format-List

    他のIdPを使用して既にMicrosoft 365/Entra IDのSSOを有効にしている場合、またはADSelfService PlusのSSO設定を更新したい場合は、まずMicrosoft 365/Entra IDでSSOを無効にしてから、本ページに記載されている手順に従う必要があります。

    Microsoft 365/Entra IDでSSOを無効にするには、以下のコマンドを使用してください:

    $dom = "selfservice.com"
    $federations = Get-MgDomainFederationConfiguration -DomainId $dom
    Remove-MgDomainFederationConfiguration -DomainId $dom -InternalDomainFederationId $federations.Id<

    注意: 上記の変更がMicrosoft 365/Entra IDに反映されるまでには、時間がかかる場合があります。

ADSelfService Plus(IDプロバイダー側)の設定

  1. ADSelfService PlusのMicrosoft 365/Entra ID設定ページに切り替えます。
  2. 「アプリ名」「説明」を入力します。
  3. 「ドメイン名」フィールドに、Microsoft 365/Entra ID設定手順のステップ4で使用したドメイン名を入力します。
  4. 「ポリシーを割り当てる」フィールドで、Entra IDのSAML SSOを有効にする必要があるポリシーを選択します。
    ADSelfService Plusでは、ADドメインに対してOU(組織単位)およびグループベースのポリシーを作成できます。ポリシーを作成するには、[設定]タブ→[セルフサービス]→[ポリシー設定]→[新しくポリシーを追加]へ移動してください。
  5. 「SAML」タブを選択し、「シングルサインオンの有効化」チェックボックスにチェックを入れます。
  6. SAML応答で送信する「名前ID形式」を選択します。名前ID形式は、ユーザー識別情報の検証のためにSAMLレスポンスで送信される値の種類を指定するものです。
    アプリケーションで使用されるログイン属性値の形式が不明な場合は、デフォルトのオプションとして「詳細不明」を使用してください。
  7. 「アプリケーションの追加」をクリックします。
    ADSelfService Plusは、Microsoft 365/Entra IDに対して、SP-Initiatedおよび、IdP-InitiatedのSAML SSOフローをサポートしています。

 
以上