AppleデバイスでのKerberosシングルサインオン機能拡張
Kerberosシングルサインオン(Kerberos SSO)機能拡張によって組織のオンプレミスのActive Directoryドメインやその他のIDプロバイダドメインからKerberos TGT(ticket-granting ticket)を取得するプロセスを簡素化することで、ユーザはWebサイト、アプリ、ファイルサーバなどのリソースからシームレスに認証されます。
Kerberos SSO機能拡張を使用するための要件
Kerberos SSO機能拡張を使用するには、以下のものが必要です:
拡張シングルサインオン(SSO)構成プロファイルペイロードに対応しているモバイルデバイス管理(MDM)ソリューションで管理されたデバイス。
オンプレミスのActive Directoryドメインがホスティングされているネットワークへのアクセス。このネットワークアクセスにはWi-Fi、Ethernet、またはVPNを使用できます。
Windows Server 2008以降を使用中のActive Directoryドメイン。Kerberos SSO機能拡張は、従来方式のオンプレミスのActive Directoryドメインが必要なMicrosoft Entra IDで使用することを想定していません。
iOS、iPadOS、およびvisionOS 1.1での機能拡張
iOS、iPadOS、およびvisionOS 1.1では、Kerberos SSO機能拡張は、HTTP 401ネゴシエーションチャレンジを受信したあとにのみアクティブ化されます。バッテリー駆動時間を延ばすため、この機能拡張はチャレンジが行われるまで、Active Directoryサイトコードを要求したり、Kerberos TGTを更新したりすることはありません。
iOS、iPadOS、およびvisionOS 1.1のKerberos SSO機能拡張には次のものが含まれます:
認証方式:パスワードや証明書ID(PKINIT)を含む複数の異なる認証方法のサポートを追加します。証明書IDは、CryptoTokenKitスマートカード、MDM提供のID、またはローカルキーチェーンにあります。この機能拡張は、認証ダイアログが表示されているとき、または別のWebサイトへのURLを使用しているときの、Active Directoryパスワードの変更もサポートしています。
パスワード期限切れ: 認証の直後、パスワードの変更後、および日中に定期的に、ドメインにパスワード期限切れの情報を要求します。この情報を使用して、ユーザが別のデバイスでパスワードを変更した場合に、パスワード期限切れの通知を提供し、新しい資格情報を要求します。
VPNのサポート: アプリ別VPNなどのさまざまなVPNテクノロジーを含む多くの異なるネットワーク構成に対応しています。アプリ別VPNが使用されている場合、Kerberos SSO機能拡張は、要求元のアプリまたはWebサイトがそれを使用するように構成されている場合にのみアプリ別VPNを使用します。
ドメインの接続可能性: ドメインへのLDAP pingを使用して、ドメインへの現在のネットワーク接続のActive Directoryサイトコードを要求してキャッシュします。サイトコードをほかのプロセスのKerberos要求と共有します。これはバッテリー駆動時間を維持するために行います。詳しくは、Microsoftのドキュメント「6.3.3 LDAP Ping」を参照してください。
ネゴシエーションのチャレンジ: Webサイト、NSURLSession要求、およびバックグラウンドNSURLSessionタスクのHTTP 401ネゴシエーションチャレンジを処理します。
macOSの機能拡張
macOSでは、Kerberos SSO機能拡張は、ネットワークの状態が変わったときにKerberos TGTを事前に取得して、ユーザが必要なときに認証できるようにします。Kerberos SSO機能拡張を使用すると、ユーザが自分のActive Directoryアカウントを管理することもできます。また、これを使用すると、ユーザが自分のActive Directoryパスワードを変更でき、パスワードの期限が近づいたときに通知が送信されます。ユーザは、Active Directoryのパスワードと一致するようにローカルアカウントのパスワードを変更することもできます。
Kerberos SSO機能拡張は、オンプレミスのActive Directoryドメインで使用する必要があります。Kerberos SSO機能拡張を使用するために、デバイスをActive Directoryドメインに接続する必要はありません。また、ユーザはActive DirectoryまたはモバイルアカウントでMacコンピュータにログインする必要はありません。代わりに、ローカルアカウントを使用することをおすすめします。
ユーザはKerberos SSO機能拡張から認証される必要があります。このプロセスは次のいずれかの方法で開始できます:
MacがActive Directoryドメインが利用可能なネットワークに接続されている場合、ユーザは拡張SSO構成プロファイルがインストールされた直後に認証を求められます。
プロファイルがすでにインストールされている場合は、MacがActive Directoryドメインを利用できるネットワークに接続されるときは、ユーザはすぐに認証を求められます。
Kerberos認証を受け入れたり必要としたりするWebサイトにアクセスするためにSafariなどのアプリを使用する場合、ユーザは認証を求められます。
ユーザは、Kerberos SSO機能拡張のメニューエクストラを選択してから、「サインイン」をクリックできます。
macOSのKerberos SSO機能拡張には次のものがあります:
認証方式:この機能拡張はパスワードや証明書ID(PKINIT)を含む複数の異なる認証方法に対応しています。証明書IDは、CryptoTokenKitスマートカード、MDM提供のID、またはローカルキーチェーンにあります。この機能拡張は、認証ダイアログが表示されているとき、または別のWebサイトへのURLを使用しているときの、ADパスワードの変更もサポートしています。
パスワード期限切れ: この機能拡張は、認証の直後、パスワードの変更後、および日中に定期的に、ドメインにパスワード期限切れの情報を要求します。この情報を使用して、ユーザが別のデバイスでパスワードを変更した場合に、パスワード期限切れの通知を提供し、新しい資格情報を要求します。
VPNのサポート: この機能拡張は、アプリ別VPNなどのVPNサービスを含め、多くの異なるネットワーク構成に対応しています。VPNがNetwork Extension VPNの場合は、パスワードの認証または変更時に自動的に接続をトリガします。これに対し、接続がアプリ別VPNの場合は、Kerberos SSO機能拡張のメニューエクストラは常にネットワークが利用可能であることを示しています。これは、企業ネットワークの使用可能性を判断するためにLDAP Pingが使用されるためです。アプリ別VPNが切断されるとLDAP Pingによって再度接続されるため、アプリ別VPNが継続されているように見えます。実際には、オンデマンドのKerberosトラフィックに対してKerberos SSO機能拡張がトリガされています。
アプリ別VPNでこのKerberos SSO機能拡張を使用するには、アプリごとのレイヤーVPNマッピングに次のエントリーを追加します:
com.apple.KerberosExtension(指定された要件を使用: identifier com.apple.KerberosExtension and anchor apple)
com.apple.AppSSOAgent(指定された要件を使用: identifier com.apple.AppSSOAgent and anchor apple)
com.apple.KerberosMenuExt(指定された要件を使用: identifier com.apple.KerberosMenuExtra and anchor apple)
ドメインの接続可能性: この機能拡張はドメインへのLDAP pingを使用して、ドメインへの現在のネットワーク接続のADサイトコードを要求してキャッシュします。これは、バッテリー駆動時間を維持するために行います。また、サイトコードをほかのプロセスのKerberos要求と共有します。詳しくは、Microsoftのドキュメント「6.3.3 LDAP Ping」を参照してください。
Kerberos TGTの更新: この機能拡張は、Kerberos TGTを常に最新の状態に保とうとします。これは、ネットワーク接続とKerberosキャッシュの変更を監視することによって行います。企業ネットワークが利用可能なときに新しいチケットが必要になると、事前に新しいチケットを要求します。ユーザが自動的にサインインすることを選択した場合、この機能拡張は、ユーザのパスワードの有効期限が切れるまで、シームレスに新しいチケットを要求します。ユーザが自動的にサインインすることを選択しない場合、ユーザには、Kerberos資格情報の有効期限が切れると、通常は10時間以内に資格情報の入力を求められます。
パスワードの同期: この機能拡張は、ローカルアカウントのパスワードをActive Directoryのパスワードと同期します。最初の同期後、ローカルおよびActive Directoryアカウントのパスワード変更日を監視して、アカウントのパスワードがまだ同期されているかどうかを確認します。ログインを試行する代わりに日付を使用して、試行の失敗が多すぎるためにローカルアカウントまたはADアカウントがロックされるのを防ぎます。
スクリプトの実行: この機能拡張は、さまざまなイベントが発生したときに通知を投稿します。これらの通知は、この機能の拡張をサポートするために実行するスクリプトをトリガできます。Kerberos機能拡張プロセスはサンドボックス化されており、サンドボックスはスクリプトの実行を防ぐのに役立つため、スクリプトを直接実行する代わりに通知が送信されます。スクリプトが機能拡張の状態を読み取り、サインインなどの一般的なアクションを要求できるようにするコマンドラインツール、
app-sso
もあります。メニューエクストラ: この機能拡張には、ユーザがサインイン、再接続、パスワードの変更、サインアウト、および接続ステータスの表示を行うためのメニューエクストラが含まれています。再接続オプションは常に新しいTGTを取得し、ドメインからパスワード期限切れの情報を更新します。
アカウントの使用
Kerberos SSO機能拡張では、MacがActive Directoryにバインドされている必要はなく、ユーザがモバイルアカウントでMacにログインしている必要もありません。Appleでは、Kerberos SSO機能拡張をローカルアカウントで使用することをおすすめしています。Kerberos SSO機能拡張は、ローカルアカウントからのActive Directory統合を強化するために特別に作成されました。ただし、モバイルアカウントを引き続き使用することを選択した場合でも、Kerberos SSO機能拡張を使用できます。モバイルアカウントで使用する場合:
パスワード同期は機能しません。Kerberos SSO機能拡張を使用してActive Directoryパスワードを変更し、Kerberos SSO機能拡張で使用しているのと同じユーザアカウントでMacにログインしている場合、パスワード変更は「ユーザとグループ」環境設定パネルからの場合と同じように機能します。ただし、外部パスワードの変更を実行した場合(つまり、Webサイトでパスワードを変更した場合、またはヘルプデスクがパスワードをリセットした場合)、Kerberos SSO機能拡張でモバイルアカウントのパスワードをActive Directoryのパスワードと同期させることはできません。
Kerberos機能拡張でのパスワード変更URLの使用はサポートされていません。