この記事は、Microsoft Entra のシームレス シングル サインオン (シームレス SSO) に関する一般的な問題のトラブルシューティング情報を見つけるうえで役立ちます。
既知の問題
- 場合によっては、シームレス SSO の有効化に最大 30 分かかることがあります。
- テナントでシームレス SSO を無効にして再度有効にすると、キャッシュされた Kerberos チケットが期限切れになるまで (通常は 10 時間有効)、シングル サインオン機能は利用できません。
- シームレス SSO が成功した場合、ユーザーは [ サインインしたままにする] を選択する機会がありません。
- バージョン 16.0.8730.xxxx 以降の Microsoft 365 Win32 クライアント (Outlook、Word、Excel など) は、非対話型フローを使用してサポートされています。 その他のバージョンはサポートされていません。それらのバージョンでは、ユーザーはパスワードではなく、ユーザー名を入力してサインインします。 OneDrive の場合は、サイレント サインオン エクスペリエンスのために OneDrive サイレント構成機能 をアクティブ化する必要があります。
- シームレス SSO は、Firefox のプライベート ブラウズ モードでは動作しません。
- シームレス SSO は、拡張保護モードがオンの場合は Internet Explorer で動作しません。
- Microsoft Edge (レガシ) のサポート終了
- シームレス SSO は、iOS および Android 上のモバイル ブラウザーでは動作しません。
- Active Directory でユーザーが属しているグループ数が多すぎる場合、ユーザーの Kerberos チケットが大きすぎて処理できなくなり、シームレス SSO が失敗する可能性があります。 Microsoft Entra HTTPS 要求のヘッダーは最大サイズが 50 KB です。Cookie など、他の Microsoft Entra アーティファクト (通常、2 から 5 KB) に対応するには、Kerberos チケットのサイズを、制限より小さくする必要があります。 ユーザーのグループ メンバーシップを減らし、再試行することをお勧めします。
- 30 以上の Active Directory フォレストを同期している場合は、Microsoft Entra Connect によるシームレス SSO を有効にすることはできません。 回避策として、テナントで機能を 手動で有効 にすることができます。
- ローカル イントラネット ゾーンではなく、信頼済みサイト ゾーンに Microsoft Entra サービス URL (
https://autologon.microsoftazuread-sso.com
) を追加すると、ユーザーが サインインできなくなります。 - シームレス SSO では、Kerberos の AES256_HMAC_SHA1、AES128_HMAC_SHA1、および RC4_HMAC_MD5 暗号化の種類がサポートされます。 AzureADSSOAcc$ アカウントの暗号化の種類を AES256_HMAC_SHA1 に設定するか、AES タイプまたは RC4 のいずれかに設定してセキュリティを強化することをお勧めします。 暗号化の種類は、Active Directory 内のアカウントの属性の msDS-SupportedEncryptionTypes 属性に格納されます。 AzureADSSOAcc$ アカウントの暗号化の種類が RC4_HMAC_MD5 に設定されていて、それを AES 暗号化の種類のいずれかに変更する場合は、関連する質問の 下の FAQ ドキュメント で説明されているように、AzureADSSOAcc$ アカウントの Kerberos 復号化キーを最初にロールオーバーしてください。そうしないと、シームレス SSO は発生しません。
- フォレストの信頼関係があるフォレストが複数ある場合、いずれかのフォレストで SSO を有効にすると、すべての信頼されたフォレストで SSO が有効になります。 SSO が既に有効になっているフォレストで SSO を有効にすると、フォレストで SSO が既に有効になっているというエラーが表示されます。
- シームレス SSO を有効にするポリシーには、25,600 文字の制限があります。 この制限は、シームレス SSO を有効にするフォレスト名を含め、ポリシーに含まれるすべてのものに適用されます。 環境内に多数のフォレストがある場合は、文字数の制限に達する可能性があります。 フォレスト間に信頼関係がある場合は、1 つのフォレストでのみシームレス SSO を有効にするだけで十分です。 たとえば、contoso.com と fabrikam.com があり、この 2 つの間に信頼関係がある場合、contoso.com でのみシームレス SSO を有効にすれば、fabrikam.com にも適用されます。 このようにポリシーで有効にするフォレスト数を減らして、ポリシーの上限を超えないようにすることができます。
機能の状態の確認
テナントでシームレス SSO 機能が引き続き 有効 になっていることを確認します。 状態を確認するには、[Microsoft Entra 管理センター](>) の [Entra ID>Entra Connecthttps://portal.azure.com/] ウィンドウに移動します。
クリックすると、シームレス SSO が有効になっているすべての AD フォレストが表示されます。
Microsoft Entra 管理センターでのサインインエラーの理由 (Premium ライセンスが必要)
テナントに Microsoft Entra ID P1 または P2 ライセンスが関連付けられている場合は、Microsoft Entra 管理センターの Microsoft Entra ID 内のサインイン アクティビティ レポートを確認することもできます。
[Microsoft Entra admin center](>) で Entra ID>Monitoring & healthhttps://portal.azure.com/ に移動し、特定のユーザーのサインイン アクティビティを選択します。 SIGN-IN ERROR CODE フィールドを探します。 次の表を使用して、そのフィールドの値を、失敗の理由と解決策にマップします。
サインイン エラー コード | サインインが失敗した理由 | 解像度 |
---|---|---|
81001 | ユーザーの Kerberos チケットが大きすぎます。 | ユーザーのグループ メンバーシップを減らしてやり直してください。 |
81002 | ユーザーの Kerberos チケットを検証できません。 | トラブルシューティングの チェックリストを参照してください。 |
81003 | ユーザーの Kerberos チケットを検証できません。 | トラブルシューティングの チェックリストを参照してください。 |
81004 | Kerberos 認証を試みましたが失敗しました。 | トラブルシューティングの チェックリストを参照してください。 |
81008 | ユーザーの Kerberos チケットを検証できません。 | トラブルシューティングの チェックリストを参照してください。 |
81009 | ユーザーの Kerberos チケットを検証できません。 | トラブルシューティングの チェックリストを参照してください。 |
81010 | シームレス SSO に失敗しました。ユーザーの Kerberos チケットが期限切れか無効です。 | ユーザーは、企業ネットワーク内のドメインに参加しているデバイスからサインインする必要があります。 |
81011 | ユーザーの Kerberos チケット内の情報では、ユーザー オブジェクトが見つかりません。 | Microsoft Entra Connect を使って、ユーザーの情報を Microsoft Entra ID に同期します。 |
81012 | Microsoft Entra ID にサインインしようとしているユーザーは、デバイスにサインインしているユーザーと異なります。 | ユーザーは別のデバイスからサインインする必要があります。 |
81013 | ユーザーの Kerberos チケット内の情報では、ユーザー オブジェクトが見つかりません。 | Microsoft Entra Connect を使って、ユーザーの情報を Microsoft Entra ID に同期します。 |
トラブルシューティングのチェックリスト
シームレス SSO の問題のトラブルシューティングを行うには、次のチェックリストを使用します。
- Microsoft Entra Connect でシームレス SSO 機能が有効になっていることを確認します。 機能を有効にできない場合 (たとえば、ポートがブロックされているため)、すべての 前提条件 が満たされていることを確認してください。
- テナントで Microsoft Entra 参加 とシームレス SSO の両方を有効にしている場合は、問題が Microsoft Entra 参加に含まれていないことを確認します。 デバイスが Microsoft Entra ID に登録されており、かつドメインに参加している場合は、[Microsoft Entra 参加] が [シームレス SSO] よりも優先されます。 Microsoft Entra 参加の SSO を使用している場合、"Windows に接続済み" というサインイン タイルが表示されます。
- Microsoft Entra の URL (
https://autologon.microsoftazuread-sso.com
) が、ユーザーのイントラネット ゾーンの設定に含まれていることを確認します。 - 会社のデバイスが Active Directory ドメインに参加していることを確認します。 シームレス SSO を機能させるために、デバイスを Microsoft Entra に参加させる必要はありません。
- ユーザーが Active Directory ドメイン アカウントでデバイスにログオンしていることを確認します。
- ユーザーのアカウントが、シームレス SSO が設定されている Active Directory フォレストからのものであることを確認します。
- デバイスが企業ネットワークに接続されていることを確認します。
- デバイスの時刻が、Active Directory とドメイン コントローラーの両方の時刻と同期されており、時刻のずれが 5 分以内であることを確認します。
- シームレス SSO を有効にする各 AD フォレストで
AZUREADSSOACC
コンピューター アカウントが存在し、有効になっていることを確認します。 コンピューター アカウントが削除された場合、または不足している場合は、 PowerShell コマンドレットを 使用して再作成できます。 - コマンド プロンプトから
klist
コマンド使用して、デバイス上の既存の Kerberos チケットを一覧表示します。AZUREADSSOACC
コンピューター アカウントに対して発行されたチケットが存在することを確認します。 ユーザーの Kerberos チケットは、通常は 10 時間有効です。 Active Directory で別の設定が行われていることがあります。 - テナントでシームレス SSO を無効にして再度有効にすると、キャッシュされた Kerberos チケットが期限切れになるまでシングル サインオン機能は利用できません。
klist purge
コマンドを使用してデバイスから既存の Kerberos チケットを消去し、やり直します。- JavaScript 関連の問題があるかどうかを判断するには、ブラウザーのコンソール ログ ( [開発者ツール] の下) を確認します。
- ドメイン コントローラーのログを確認します。
ドメイン コントローラーのログ
ドメイン コントローラーで成功の監査を有効にすると、ユーザーがシームレス SSO でサインインするたびに、セキュリティ エントリがイベント ログに記録されます。 こうしたセキュリティ イベントは、次のクエリを使用して検索できます (コンピューター アカウント AzureADSSOAcc$ に関連付けられているイベント 4769 を探します)。
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[EventData[Data[@Name='ServiceName'] and (Data='AZUREADSSOACC$')]]</Select>
</Query>
</QueryList>
機能の手動リセット
トラブルシューティングを行っても改善しなかった場合は、テナントでシームレス SSO 機能を手動でリセットできます。 Microsoft Entra Connect が実行されているオンプレミス サーバーで次の手順を実行します。
手順 1:Seamless SSO PowerShell モジュールのインポート
- まず、 Azure AD PowerShell をダウンロードしてインストールします。
%programfiles%\Microsoft Azure Active Directory Connect
フォルダーを参照します。Import-Module .\AzureADSSO.psd1
コマンドを使用して、Seamless SSO PowerShell モジュールをインポートします。
手順 2:シームレス SSO が有効になっている Active Directory フォレストのリストを取得する
- PowerShell を管理者として実行します。 PowerShell で、
New-AzureADSSOAuthenticationContext
を呼び出します。 テナントの ハイブリッド ID の管理者資格情報を入力するよう求められたら、入力してください。 Get-AzureADSSOStatus
を呼び出します。 このコマンドでは、この機能が有効になっている Active Directory フォレストの一覧 ("ドメイン" リストを参照) が表示されます。
手順 3:機能を設定した各 Active Directory フォレストのシームレス SSO を無効にする
$creds = Get-Credential
を呼び出します。 求められたら、目的の Active Directory フォレストのドメイン管理者の資格情報を入力します。Note
ドメイン管理者の資格情報ユーザー名は、SAM アカウント名の形式 (contoso\johndoe または contoso.com\johndoe) で入力する必要があります。 Microsoft はユーザー名のドメイン部分を使用して、DNS を使用してドメイン管理者のドメイン コントローラーを検索します。
Note
使用するドメイン管理者アカウントは、保護されているユーザー グループのメンバーであってはなりません。 そうである場合、操作は失敗します。
Disable-AzureADSSOForest -OnPremCredentials $creds
を呼び出します。 このコマンドは、この特定の Active Directory フォレスト用のオンプレミスのドメイン コントローラーからAZUREADSSOACC
コンピューター アカウントを削除します。Note
何らかの理由でオンプレミスの AD にアクセスできない場合は、 手順 3.1 と 3.2 をスキップして、代わりに
Disable-AzureADSSOForest -DomainFqdn <Domain name from the output list in step 2>
呼び出すことができます。機能を設定した Active Directory フォレストごとに、前の手順を繰り返します。
手順 4:各 Active Directory フォレストのシームレス SSO を有効にする
Enable-AzureADSSOForest
を呼び出します。 求められたら、目的の Active Directory フォレストのドメイン管理者の資格情報を入力します。Note
ドメイン管理者の資格情報ユーザー名は、SAM アカウント名の形式 (contoso\johndoe または contoso.com\johndoe) で入力する必要があります。 Microsoft はユーザー名のドメイン部分を使用して、DNS を使用してドメイン管理者のドメイン コントローラーを検索します。
Note
使用するドメイン管理者アカウントは、保護されているユーザー グループのメンバーであってはなりません。 そうである場合、操作は失敗します。
機能を設定する Active Directory フォレストごとに、前の手順を繰り返します。
手順 5: テナントで機能を有効にする
テナントで機能を有効にするには、Enable-AzureADSSO -Enable $true
を呼び出します。