Microsoft Entra シームレス シングル サインオンのトラブルシューティング
この記事は、Microsoft Entra のシームレス シングル サインオン (シームレス SSO) に関する一般的な問題のトラブルシューティング情報を見つけるのに役立ちます。
既知の問題
- 場合によっては、シームレス SSO の有効化に最大 30 分かかることがあります。
- テナントでシームレス SSO を無効にして再度有効にすると、キャッシュされた Kerberos チケットが期限切れになるまで (通常は 10 時間有効)、シングル サインオン機能は利用できません。
- シームレス SSO が成功すると、ユーザーは [サインインしたままにする] を選択できません。
- Microsoft 365 Win32 クライアント (Outlook、Word、Excel など) のバージョン 16.0.8730.xxxx 以降は、非インタラクティブ フローを使用することでサポートされます。 その他のバージョンはサポートされていません。それらのバージョンでは、ユーザーはパスワードではなく、ユーザー名を入力してサインインします。 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 管理センター](https://portal.azure.com/) の [ID]>[ハイブリッド管理]>[Microsoft Entra Connect]>[Connect 同期] ペインに移動します。
クリックすると、シームレス SSO が有効になっているすべての AD フォレストが表示されます。
Microsoft Entra 管理センターでのサインイン失敗の理由 (Premium ライセンスが必要)
テナントに Microsoft Entra ID P1 または P2 ライセンスが関連付けられている場合は、Microsoft Entra 管理センターの Microsoft Entra ID 内でサインイン アクティビティ レポートを調べることもできます。
[Microsoft Entra 管理センター](>) の [ID]>[監視と正常性]https://portal.azure.com/[サインイン] に移動し、特定のユーザーのサインイン アクティビティを選びます。 [サインインのエラー コード] フィールドを探します。 次の表を使用して、そのフィールドの値を、失敗の理由と解決策にマップします。
サインイン エラー コード | サインインが失敗した理由 | 解像度 |
---|---|---|
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 フォレストのドメイン管理者の資格情報を入力します。注意
ドメイン管理者の資格情報ユーザー名は、SAM アカウント名の形式 (contoso\johndoe または contoso.com\johndoe) で入力する必要があります。 Microsoft はユーザー名のドメイン部分を使用して、DNS を使用してドメイン管理者のドメイン コントローラーを検索します。
注意
使用するドメイン管理者アカウントは、保護されているユーザー グループのメンバーであってはなりません。 そうである場合、操作は失敗します。
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 フォレストのドメイン管理者の資格情報を入力します。注意
ドメイン管理者の資格情報ユーザー名は、SAM アカウント名の形式 (contoso\johndoe または contoso.com\johndoe) で入力する必要があります。 Microsoft はユーザー名のドメイン部分を使用して、DNS を使用してドメイン管理者のドメイン コントローラーを検索します。
注意
使用するドメイン管理者アカウントは、保護されているユーザー グループのメンバーであってはなりません。 そうである場合、操作は失敗します。
機能を設定する Active Directory フォレストごとに、前の手順を繰り返します。
手順 5: テナントで機能を有効にする
テナントで機能を有効にするには、Enable-AzureADSSO -Enable $true
を呼び出します。