Apple デバイス用の Microsoft Enterprise SSO プラグイン
Apple デバイス用の Microsoft Enterprise SSO プラグインは、Apple のエンタープライズ シングル サインオン機能をサポートするすべてのアプリケーションで、macOS、iOS、iPadOS 上の Microsoft Entra アカウントに対するシングル サインオン (SSO) を提供します。 このプラグインにより、業務に必要だが、最新の ID ライブラリやプロトコルはまだサポートしていない古いアプリケーションにも SSO が提供されます。 Microsoft は Apple と密接に連携してこのプラグインを開発し、アプリケーションの使いやすさを向上させ、利用可能な最高の保護を提供しています。
Enterprise SSO プラグインは現在、次のアプリの組み込み機能です。
- Microsoft Authenticator: iOS、iPadOS
- Microsoft Intune ポータル サイト: macOS
特徴
Apple デバイス用の Microsoft Enterprise SSO プラグインには、次のような利点があります。
- Apple のエンタープライズ SSO 機能をサポートするすべてのアプリケーションで、Microsoft Entra アカウントに対する SSO を提供します。
- すべてのモバイル デバイス管理 (MDM) ソリューションで有効にすることができ、デバイスとユーザーの両方の登録でサポートされます。
- Microsoft Authentication Library (MSAL) をまだ使用していないアプリケーションにまで SSO を拡張します。
- OAuth 2、OpenID Connect、SAML を使用するアプリケーションに SSO を拡張します。
- MSAL とネイティブに統合されるため、Microsoft Enterprise SSO プラグインが有効になっている場合にエンド ユーザーにスムーズなネイティブ エクスペリエンスを提供します。
Note
2024 年 5 月に、Microsoft は、macOS デバイスのプラットフォーム SSO が Microsoft Entra ID のパブリック プレビューで利用可能であることを発表しました。。
詳細については、「macOS プラットフォーム シングル サインオンの概要 (プレビュー)」を参照してください。
要件
Apple デバイス用の Microsoft Enterprise SSO プラグインを使用するには:
Apple デバイス用の Microsoft Enterprise SSO プラグインを含むアプリが、デバイスでサポートおよびインストールされている必要があります。
- iOS 13.0 以降: Microsoft Authenticator アプリ
- iPadOS 13.0 以降: Microsoft Authenticator アプリ
- macOS 10.15 以降: Intune ポータル サイト アプリ
Microsoft Intune を使用するなどして、デバイスが MDM に登録されている必要があります。
構成をデバイスにプッシュして、Enterprise SSO プラグインを有効にする必要があります。 このセキュリティ制約は Apple の要件です。
追加のインターセプトなしで Apple デバイスから ID プロバイダーの URL とその独自の URL の両方に到達できるようにする必要があります。 つまり、これらの URL は、ネットワーク プロキシ、インターセプト、その他のエンタープライズ システムから除外する必要があります。
SSO プラグインが機能するために許可する必要がある、最小限の URL セットを次に示します。
app-site-association.cdn-apple.com
app-site-association.networking.apple
login.microsoftonline.com
(*)login.microsoft.com
(*)sts.windows.net
(*)login.partner.microsoftonline.cn
(*)(**)login.chinacloudapi.cn
(*)(**)login.microsoftonline.us
(*)(**)login-us.microsoftonline.com
(*)(**)config.edge.skype.com
(***)
(*)Microsoft ドメイン の許可は、2022 年より前にリリースされたオペレーティング システムのバージョンでのみ必要です。 最新のオペレーティング システム バージョンでは、Apple は CDN に完全に依存しています。
(**)ソブリン クラウド ドメインを許可する必要があるのは環境内のクラウド ドメインに依存している場合のみです。
(***) Experimentation Configuration Service (ECS) とのコミュニケーションを維持することで、Microsoft は重大なバグにタイムリーに対応できるようになります。
Microsoft Enterprise SSO プラグインは、Apple の Enterprise SSO フレームワークに依存しています。 Apple の Enterprise SSO フレームワークを使用すると、Associated Domains と呼ばれるテクノロジを利用して、承認された SSO プラグインのみが各 ID プロバイダーで機能できるようになります。 SSO プラグインの ID を確認するために、各 Apple デバイスでは ID プロバイダーが所有するエンドポイントにネットワーク要求を送信し、承認された SSO プラグインに関する情報を読み取ります。Apple では、ID プロバイダーに直接アクセスすることに加え、この情報のための別のキャッシュも実装しています。
警告
データ損失防止やテナントの制限などのシナリオで SSL トラフィックを傍受するプロキシ サーバーを組織で使用している場合、それらの URL へのトラフィックが TLS の中断と検査から除外されていることを確認してください。 これらの URL を除外しないと、クライアント証明書の認証に干渉し、デバイス登録とデバイスベースの条件付きアクセスに問題が発生します。 SSO プラグインは、Apple CDN ドメイン をインターセプトから完全に除外しないと確実に機能せず、そのようにするまで断続的な問題が発生します。
組織でこれらの URL がブロックされている場合、ユーザーに
1012 NSURLErrorDomain error
、1000 com.apple.AuthenticationServices.AuthorizationError
や1001 Unexpected
などのエラーが表示される場合があります。許可する必要があるその他の Apple URL については、サポート記事「エンタープライズ ネットワークで Apple 製品を使用する」を参照してください。
iOS の要件
- iOS 13.0 以降がデバイスにインストールされている必要があります。
- Apple デバイス用の Microsoft Enterprise SSO プラグインを提供する Microsoft アプリケーションが、デバイスにインストールされている必要があります。 このアプリは、Microsoft Authenticator アプリです。
macOS の要件
- macOS 10.15 以降がデバイスにインストールされている必要があります。
- Apple デバイス用の Microsoft Enterprise SSO プラグインを提供する Microsoft アプリケーションが、デバイスにインストールされている必要があります。 このアプリは、Intune ポータル サイト アプリです。
SSO プラグインの有効化
MDM を使用して SSO プラグインを有効にするには、次の情報を使用します。
Microsoft Intune の構成
MDM サービスとして Microsoft Intune を使用する場合は、組み込みの構成プロファイル設定を使用して、Microsoft Enterprise SSO プラグインを有効にすることができます。
- 構成プロファイルの SSO アプリ プラグインの設定を構成します。
- プロファイルがまだ割り当てられていない場合、プロファイルをユーザーまたはデバイス グループに割り当てます。
SSO プラグインを有効にするプロファイル設定は、各デバイスが次回 Intune でチェックインするときに、グループのデバイスに自動的に適用されます。
他の MDM サービスの手動構成
MDM に Intune を使用しない場合は、Apple デバイス用に拡張可能なシングル サインオン プロファイル ペイロードを構成できます。 Microsoft Enterprise SSO プラグインとその構成オプションを構成するには、次のパラメーターを使用します。
iOS の設定:
- 拡張機能 ID:
com.microsoft.azureauthenticator.ssoextension
- チーム ID: iOS ではこのフィールドは不要です。
macOS の設定:
- 拡張機能 ID:
com.microsoft.CompanyPortalMac.ssoextension
- チーム ID:
UBF8T346G9
共通設定:
- 種類: リダイレクト
https://login.microsoftonline.com
https://login.microsoft.com
https://sts.windows.net
https://login.partner.microsoftonline.cn
https://login.chinacloudapi.cn
https://login.microsoftonline.us
https://login-us.microsoftonline.com
デプロイ ガイド
選択した MDM ソリューションを使用して Microsoft Enterprise SSO プラグインを有効にするには、次のデプロイ ガイドを使用します。
Intune:
Jamf Pro:
その他の MDM:
その他の構成オプション
構成オプションをさらに追加して、SSO 機能を他のアプリに拡張することができます。
MSAL を使用しないアプリで SSO を有効にする
SSO プラグインを使用すると、Microsoft 認証ライブラリ (MSAL) などの Microsoft SDK を使用して開発されていないアプリケーションでも、SSO に参加させることができます。
SSO プラグインは、次の条件を満たすデバイスによって自動的にインストールされます。
- Authenticator アプリ (iOS、iPadOS の場合) または Intune ポータル サイト アプリ (macOS の場合) がダウンロード済みである。
- デバイスが組織に MDM 登録されている。
組織では、多要素認証、パスワードレス認証、条件付きアクセスなどのシナリオで Authenticator アプリを使用している可能性があります。 MDM プロバイダーを使用して、アプリケーション用の SSO プラグインを有効にすることができます。 Microsoft では、プラグインの構成を Microsoft Intune を使用して簡単にできるようにしました。 許可リストは、SSO プラグインを使用するようにこれらのアプリケーションを構成するために使用されます。
重要
Microsoft Enterprise SSO プラグインでは、ネイティブの Apple ネットワーク テクノロジまたは Web ビューを使用するアプリのみをサポートしています。 独自のネットワーク レイヤー実装が組み込まれているアプリケーションはサポートしていません。
MSAL を使用しないアプリ用に Microsoft Enterprise SSO プラグインを構成するには、次のパラメーターを使用します。
重要
Microsoft Authentication Library を使用するアプリをこの許可リストに追加する必要はありません。 これらのアプリは、既定で SSO に参加します。 Microsoft で構築されたほとんどのアプリでは、Microsoft Authentication Library を使用します。
すべてのマネージド アプリに対して SSO を有効にする
- キー:
Enable_SSO_On_All_ManagedApps
- 型:
Integer
- 値: 1 または 0。 既定では、この値は 0 に設定されます。
このフラグがオンの場合 (その値は 1
に設定されます)、AppBlockList
に含まれていないすべての MDM マネージド アプリが SSO に参加する可能性があります。
SSO を特定のアプリで有効にする
- キー:
AppAllowList
- 型:
String
- 値: SSO への参加が許可されているアプリケーションのアプリケーション バンドル ID のコンマ区切りの一覧。
- 例:
com.contoso.workapp, com.contoso.travelapp
注意
Safari と Safari View Service は、既定で SSO に参加できます。 AppBlockList に Safari と Safari View Service のバンドル ID を追加することで、SSO に参加"しない"構成を行えます。 iOS バンドル ID: [com.apple.mobilesafari, com.apple.SafariViewService] macOS バンドル ID: [com.apple.Safari]
SSO を特定のバンドル ID プレフィックスを持つすべてのアプリに対して有効にする
- キー:
AppPrefixAllowList
- 型:
String
- 値: SSO への参加が許可されているアプリケーションのアプリケーション バンドル ID プレフィックスのコンマ区切りの一覧です。 このパラメーターによって、特定のプレフィックスで始まるすべてのアプリを SSO に参加させることができます。 iOS の場合、既定値は
com.apple.
に設定され、すべての Apple アプリの SSO が有効になります。 macOS の場合、既定値はcom.apple.
とcom.microsoft.
に設定され、すべての Apple と Microsoft アプリの SSO が有効になります。 管理者は、既定値をオーバーライドするか、 にアプリをAppBlockList
追加して、SSO に参加できないようにすることができます。 - 例:
com.contoso., com.fabrikam.
SSO を特定のアプリで無効にする
- キー:
AppBlockList
- 型:
String
- 値: SSO への参加が許可されていないアプリケーションのアプリケーション バンドル ID のコンマ区切りの一覧。
- 例:
com.contoso.studyapp, com.contoso.travelapp
Safari または Safari View Service の SSO を"無効"にするには、バンドル ID を AppBlockList
に追加して明示的に行う必要があります。
- iOS:
com.apple.mobilesafari
、com.apple.SafariViewService
- macOS:
com.apple.Safari
特定のアプリケーションに対して Cookie を使用して SSO を有効にする
高度なネットワーク設定を持つ一部の iOS アプリでは、SSO が有効になっていると予期しない問題が発生するおそれがあります。 たとえば、ネットワーク要求が取り消されたか、中断されたことを示すエラーが表示される場合があります。
ユーザーがアプリケーションへサインインできず、他の設定からそれを有効にした後でも問題がある場合は、それを AppCookieSSOAllowList
に追加して問題を解決してみてください。
Note
Cookie メカニズムを介した SSO の使用には、重大な制限があります。 たとえば、Microsoft Entra ID 条件付きアクセス ポリシーとは互換性がありません。また、1 つのアカウントのみがサポートされます。 通常の SSO と互換性がないと判断された一連の限られたアプリケーションに対して、Microsoft のエンジニアリングまたはサポート チームが明示的に推奨しない限り、この機能を使用しないでください。
- キー:
AppCookieSSOAllowList
- 型:
String
- 値: SSO への参加が許可されているアプリケーションのアプリケーション バンドル ID プレフィックスのコンマ区切りの一覧です。 一覧に含まれるプレフィックスで始まるすべてのアプリが、SSO への参加を許可されます。
- 例:
com.contoso.myapp1, com.fabrikam.myapp2
その他の要件: AppCookieSSOAllowList
を使用してアプリケーションの SSO を有効にするには、バンドル ID プレフィックス AppPrefixAllowList
も追加する必要があります。
この構成は、予期しないサインイン エラーが発生したアプリケーションに対してのみ試してください。 このキーは、iOS アプリにのみ使用され、macOS アプリでは使用されません。
キーの概要
キー | Type | 値 |
---|---|---|
Enable_SSO_On_All_ManagedApps |
Integer | 1 はすべてのマネージド アプリで SSO を有効にします。0 はすべてのマネージド アプリで SSO を無効にします。 |
AppAllowList |
String (コンマ区切りのリスト) |
SSO に参加することが許可されているアプリケーションのバンドル ID。 |
AppBlockList |
String (コンマ区切りのリスト) |
SSO に参加することが許可されていないアプリケーションのバンドル ID。 |
AppPrefixAllowList |
String (コンマ区切りのリスト) |
SSO に参加することが許可されているアプリケーションのバンドル ID プレフィックス。 iOS の場合、既定値は com.apple. に設定され、すべての Apple アプリの SSO が有効になります。 macOS の場合、既定値は com.apple. と com.microsoft. に設定され、すべての Apple と Microsoft アプリの SSO が有効になります。 開発者、顧客または管理者は、既定値をオーバーライドするか、 にアプリを AppBlockList 追加して、SSO に参加できないようにすることができます。 |
AppCookieSSOAllowList |
String (コンマ区切りのリスト) |
SSO に参加することが許可されているが、特別なネットワーク設定を使用し、他の設定を使用した SSO に問題があるアプリケーションのバンドル ID プレフィックス。 AppCookieSSOAllowList に追加するアプリは、AppPrefixAllowList にも追加する必要があります。 このキーは、iOS アプリにのみ使用され、macOS アプリでは使用されないことに注意してください。 |
一般的なシナリオの設定
シナリオ: SSO をほとんどの管理対象アプリケーションで有効にしたいが、すべてではない。
キー 値 Enable_SSO_On_All_ManagedApps
1
AppBlockList
SSO に参加できないようにしたいアプリのバンドル ID (コンマ区切りリスト)。 シナリオ SSO を Safari で無効にしたい (既定では有効) が、SSO をすべてのマネージド アプリで有効にしたい。
キー 値 Enable_SSO_On_All_ManagedApps
1
AppBlockList
SSO に参加できないようにしたい Safari アプリのバンドル ID (コンマ区切りリスト)。 - iOS の場合:
com.apple.mobilesafari
、com.apple.SafariViewService
- macOS の場合:
com.apple.Safari
- iOS の場合:
シナリオ: SSO をすべてのマネージド アプリといくつかの非マネージド アプリで有効にしたいが、SSO を他のいくつかのアプリで無効にしたい。
キー 値 Enable_SSO_On_All_ManagedApps
1
AppAllowList
SSO の場合に参加できるようにしたいアプリのバンドル ID (コンマ区切りリスト)。 AppBlockList
SSO に参加できないようにしたいアプリのバンドル ID (コンマ区切りリスト)。
iOS デバイスでのアプリ バンドル ID の確認
Apple では、App Store からバンドル ID を簡単に取得する方法は提供していません。 SSO に使用するアプリのバンドル ID を取得するには、ベンダーまたはアプリ開発者に問い合わせるのが最も簡単です。 この選択肢が使用できない場合、MDM 構成を使用してバンドル ID を確認できます。
MDM 構成で次のフラグを一時的に有効にします。
- キー:
admin_debug_mode_enabled
- 型:
Integer
- 値: 1 または 0
- キー:
このフラグがオンであるときに、バンドル ID を知りたいデバイス上の iOS アプリにサインインします。
Authenticator アプリで、 [ヘルプ]>[ログの送信]>[ログの表示] を選択します。
ログ ファイルで、次の行を探します:
[ADMIN MODE] SSO extension has captured following app bundle identifiers
。 この行により、SSO 拡張機能から認識可能なすべてのアプリケーション バンドル ID が得られます。
これらのバンドル ID を使用して、アプリの SSO を構成します。 完了したら、管理者モードを無効にします。
MSAL を使用していないアプリケーションおよび Safari ブラウザーからユーザーがサインインできるようにする
既定では、Microsoft Enterprise SSO プラグインは、新しいトークンの取得中に MSAL を使用する別のアプリによって呼び出されたときに、共有資格情報を取得します。 Microsoft Enterprise SSO プラグインは、構成によっては MSAL を使用しないアプリによって呼び出されたときにも共有資格情報を取得できます。
browser_sso_interaction_enabled
フラグを有効にすると、MSAL を使用していないアプリで、初期ブートストラップを実行して共有資格情報を取得できるようになります。 Safari ブラウザーでも、初期ブートストラップを実行して共有資格情報を取得できるようになります。
Microsoft Enterprise SSO プラグインにまだ共有資格情報がない場合、Safari ブラウザー、ASWebAuthenticationSession、SafariViewController、または別の許可されたネイティブ アプリケーション内の Microsoft Entra URL からサインインが要求されると、資格情報の取得が試行されます。
フラグを有効にするには、次のパラメーターを使用します。
- キー:
browser_sso_interaction_enabled
- 型:
Integer
- 値: 1 または 0。 既定では、この値が 1 に設定されています。
Microsoft Enterprise SSO プラグインで提供されるエクスペリエンスがすべてのアプリで一貫性を持つように、iOS と macOS の両方にこの設定が必要です。 この設定は既定で有効になっており、エンド ユーザーが自分の資格情報でサインインできない場合にのみ無効にしてください。
OAuth 2 アプリケーションのプロンプトを無効にする
Microsoft Enterprise SSO プラグインがデバイス上の他のアプリケーションに対して機能している場合でも、アプリケーションからユーザーにサインインを求めるメッセージが表示される場合、アプリはプロトコル層で SSO をバイパスしている可能性があります。 このようなアプリケーションでは共有資格情報も無視されます。このプラグインでは、許可されたアプリケーションによって行われたネットワーク要求に資格情報を追加することで SSO が提供されます。
これらのパラメーターは、ネイティブアプリケーションと Web アプリケーションがプロトコル層で SSO をバイパスし、ユーザーにサインイン プロンプトを表示するように SSO 拡張機能を使用しないかどうかを指定します。
デバイス上のすべてのアプリで一貫した SSO エクスペリエンスを得られるように、MSAL を使用していないアプリでこれらの設定のいずれかを有効にすることをお勧めします。 この設定は、ユーザーに予期しないプロンプトが表示される場合にのみ、MSAL を使用するアプリで有効にしてください。
Microsoft Authentication Library を使用しないアプリ:
アプリ プロンプトを無効にして、アカウント ピッカーを表示します。
- キー:
disable_explicit_app_prompt
- 型:
Integer
- 値: 1 または 0。 この値は既定で 1 に設定され、この既定の設定ではプロンプトが減ります。
アプリ プロンプトを無効にし、一致する SSO アカウントの一覧からアカウントを自動的に選択します。
- キー:
disable_explicit_app_prompt_and_autologin
- 型:
Integer
- 値: 1 または 0。 既定では、この値は 0 に設定されます。
Microsoft Authentication Library を使用するアプリ:
アプリ保護ポリシーが使用されている場合、次の設定はお勧めしません。
アプリ プロンプトを無効にして、アカウント ピッカーを表示します。
- キー:
disable_explicit_native_app_prompt
- 型:
Integer
- 値: 1 または 0。 既定では、この値は 0 に設定されます。
アプリ プロンプトを無効にし、一致する SSO アカウントの一覧からアカウントを自動的に選択します。
- キー:
disable_explicit_native_app_prompt_and_autologin
- 型:
Integer
- 値: 1 または 0。 既定では、この値は 0 に設定されます。
予期しない SAML アプリケーション プロンプト
Microsoft Enterprise SSO プラグインがデバイス上の他のアプリケーションに対して機能している場合でも、アプリケーションからユーザーにサインインを求めるメッセージが表示される場合、アプリはプロトコル層で SSO をバイパスしている可能性があります。 アプリケーションで SAML プロトコルが使用されている場合は、Microsoft Enterprise SSO プラグインを使ってアプリで SSO を実行できません。 アプリケーション ベンダーは、この動作に関する通知を受けて、SSO をバイパスしないようアプリに変更を加える必要があります。
MSAL 対応アプリケーションの iOS のエクスペリエンスを変更する
MSAL を使用するアプリでは常に、対話型要求で SSO 拡張機能をネイティブに呼び出します。 iOS デバイスによっては、この動作が望ましくない場合があります。 具体的には、ユーザーが Microsoft Authenticator アプリ内で多要素認証も完了する必要がある場合、そのアプリへの対話型リダイレクトの方が、より良いユーザー エクスペリエンスが得られる可能性があります。
この動作は、disable_inapp_sso_signin
フラグを使用して構成できます。 このフラグが有効になっている場合、MSAL を使用するアプリは、すべての対話型要求で Microsoft Authenticator アプリにリダイレクトされます。 このフラグは、これらのアプリからのサイレント トークン要求、MSAL を使用しないアプリの動作、または macOS アプリには影響しません。 このフラグは既定で無効になっています。
- キー:
disable_inapp_sso_signin
- 型:
Integer
- 値: 1 または 0。 既定では、この値は 0 に設定されます。
Microsoft Entra デザイン登録を構成する
Intune マネージド デバイスの場合、Microsoft Enterprise SSO プラグインを使用すると、ユーザーがリソースにアクセスしようとしたときに Microsoft Entra デバイスの登録を実行できます。 こうすると、より合理化されたエンド ユーザー エクスペリエンスが実現します。
Microsoft Intune を使用して iOS/iPadOS での Just-In Time Registration を有効にするには、次の構成を使用します。
- キー:
device_registration
- 型:
String
- 値: {{DEVICEREGISTRATION}}
Just In Time Registration の詳細については、こちらを参照してください。
条件付きアクセス ポリシーとパスワードの変更
Apple デバイス用の Microsoft Enterprise SSO プラグインは、さまざまな Microsoft Entra 条件付きアクセス ポリシーおよびパスワード変更イベントと互換性があります。 互換性を実現するには、browser_sso_interaction_enabled
を有効にする必要があります。
互換性のあるイベントとポリシーについては、次のセクションで説明します。
パスワードの変更とトークンの失効
ユーザーがパスワードをリセットすると、その前に発行されたすべてのトークンが取り消されます。 ユーザーがパスワード リセット イベントの後にリソースにアクセスしようとする場合、通常、ユーザーは各アプリでもう一度サインインする必要があります。 Microsoft Enterprise SSO プラグインが有効な場合、ユーザーは SSO に参加している最初のアプリケーションにサインインするように求められます。 現在アクティブなアプリケーションの上に、Microsoft Enterprise SSO プラグイン独自のユーザー インターフェイスが表示されます。
Microsoft Entra 多要素認証
多要素認証は、サインイン プロセスでユーザーに別の形式の ID (携帯電話に示されるコードや指紋スキャンなど) を求めるプロセスです。 多要素認証は、特定のリソースで有効にすることができます。 Microsoft Enterprise SSO プラグインが有効になっている場合、ユーザーは、多要素認証を必要とする最初のアプリケーションで認証を実行するように求められます。 現在アクティブなアプリケーションの上に、Microsoft Enterprise SSO プラグイン独自のユーザー インターフェイスが表示されます。
ユーザー サインインの頻度
サインインの頻度は、ユーザーがリソースにアクセスしようとしたときにサインインし直すように求められるまでの期間を定義します。 さまざまなアプリでユーザーがこの期間の経過後にリソースにアクセスしようとする場合、通常、ユーザーはそれらの各アプリでサインインし直す必要があります。 Microsoft Enterprise SSO プラグインが有効な場合、ユーザーは SSO に参加している最初のアプリケーションにサインインするように求められます。 現在アクティブなアプリケーションの上に、Microsoft Enterprise SSO プラグイン独自のユーザー インターフェイスが表示されます。
Intune を使用して構成を簡略化する
Intune を MDM サービスとして使用し、Microsoft Enterprise SSO プラグインの構成を容易にすることができます。 たとえば、Intune を使用して、プラグインを有効にしたり、古いアプリを許可リストに追加して SSO に参加させたりできます。
詳細については、Intune を使用して Apple デバイス用の Microsoft Enterprise SSO プラグインを展開するに関するページをご覧ください。
アプリケーションで SSO プラグインを使用する
Apple デバイス用の MSAL のバージョン 1.1.0 以降では、Apple デバイス用の Microsoft Enterprise SSO プラグインがサポートされています。 Microsoft Enterprise SSO プラグインのサポートを追加するには、この方法をお勧めします。 これにより、Microsoft ID プラットフォームのすべての機能が試用できるようになります。
フロントライン ワーカーのシナリオ向けにアプリケーションを構築している場合は、「iOS デバイスの共有デバイス モード」でセットアップ情報を参照してください。
SSO プラグインのしくみを理解する
Microsoft Enterprise SSO プラグインは、Apple Enterprise SSO フレームワークに依存しています。 このフレームワークに参加している ID プロバイダーは、ドメインのネットワーク トラフィックを傍受し、それらの要求の処理方法を強化または変更することができます。 たとえば、SSO プラグインでは、エンドユーザーの資格情報を安全に収集する追加の UI を表示すること、MFA を要求すること、またはアプリケーションにトークンをサイレントで提供することができます。
ネイティブ アプリケーションは、カスタム操作を実装し、SSO プラグインと直接通信することもできます。 詳細については、こちらの 2019 Worldwide Developer Conference のビデオ (Apple 提供) をご覧ください。
ヒント
SSO プラグインのしくみと「Apple デバイス向け SSO トラブルシューティング ガイド」を使用した Microsoft Enterprise SSO 拡張機能のトラブルシューティングの方法について説明します。
MSAL を使用するアプリケーション
Apple デバイス用の MSAL のバージョン 1.1.0 以降では、職場および学校アカウントに対して、Apple デバイス用の Microsoft Enterprise SSO プラグインがネイティブでサポートされています。
すべての推奨される手順を実行し、既定のリダイレクト URI 形式を使用した場合、特別な構成は必要ありません。 SSO プラグインがあるデバイスでは、すべての対話型およびサイレントなトークン要求に対して、このプラグインが MSAL によって自動的に呼び出されます。 これは、アカウント列挙攻撃およびアカウントの削除の操作に対しても呼び出されます。 MSAL にはカスタム操作に依存するネイティブ SSO プラグイン プロトコルが実装されているため、この設定にすると、エンド ユーザーにとって最もスムーズなネイティブ エクスペリエンスが提供されます。
iOS と iPadOS デバイスでは、SSO プラグインが MDM で有効にされていないが、デバイスに Microsoft Authenticator アプリが存在する場合、MSAL では、対話型トークンの要求に対して Authenticator アプリが代わりに使用されます。 Microsoft Enterprise SSO プラグインでは、Authenticator アプリとの間で SSO を共有します。
MSAL を使用しないアプリケーション
MSAL を使用しないアプリケーションでも、管理者がそれらのアプリケーションを許可リストに追加すると、SSO を取得できます。
次の条件が満たされている限り、これらのアプリのコードを変更する必要はありません。
- アプリケーションでは、Apple のフレームワークを使用してネットワーク要求を実行している。 これらのフレームワークの例としては、WKWebView や NSURLSession があります。
- アプリケーションで、標準プロトコルを使用して Microsoft Entra ID と通信している。 これらのプロトコルの例としては、OAuth 2、SAML、WS-Federation などがあります。
- アプリケーションのネイティブ UI で、プレーンテキストのユーザー名とパスワードを収集していない。
この場合、アプリケーションでネットワーク要求を作成し、Web ブラウザーを開いてユーザーをサインインすると、SSO が提供されます。 ユーザーが Microsoft Entra サインイン URL にリダイレクトされると、SSO プラグインによって URL が検証され、その URL の SSO 資格情報が確認されます。 資格情報が見つかった場合、SSO プラグインから Microsoft Entra ID に渡されます。これにより、ユーザーに資格情報の入力が求められることなく、アプリケーションがネットワーク要求を完了できるようになります。 さらに、デバイスが Microsoft Entra ID に認識されている場合、デバイスベースの条件付きアクセス チェックを満たすデバイス証明書が SSO プラグインによって渡されます。
非 MSAL アプリに対する SSO をサポートするために、SSO プラグインには、「プライマリ更新トークンとは」で説明されている Windows ブラウザー プラグインと同様のプロトコルが実装されています。
MSAL ベースのアプリと比較すると、SSO プラグインは、非 MSAL アプリに対してさらに透過的に機能します。 アプリで提供される既存のブラウザー ログイン エクスペリエンスと統合します。
エンド ユーザーには慣れ親しんだエクスペリエンスが提供され、アプリケーションごとにサインインを繰り返す必要はありません。 たとえば、SSO プラグインでは、ネイティブ アカウント ピッカーを表示する代わりに、SSO セッションを Web ベースのアカウント ピッカー エクスペリエンスに追加します。
デバイス ID キーの保存に関する今後の変更
2024 年 3 月に発表された Microsoft Entra ID は、デバイス ID キーの保存場所を Apple のキーチェーンから移動します。 2025 年第 3 四半期から、すべての新規デバイス登録では Apple の Secure Enclave が使用されるようになります。 この保存場所はオプトアウトできません。
キーチェーン経由の Workplace Join キーへのアクセスに依存するアプリケーションと MDM 統合は、Microsoft ID プラットフォームとの互換性を確保するために、MSAL と Enterprise SSO プラグインの使用を開始する必要があります。
デバイス ID キーの Secure Enclave ベースの保存を有効にする
デバイス ID キーのセキュリティ エンクレーブベースの保存が必須になる前に有効にする場合は、Apple デバイスの MDM 構成プロファイルに次の拡張データ属性を追加できます。
Note
このフラグを反映するには、新しい登録に適用する必要があります。 既に登録されているデバイスには、再登録しない限り影響しません。
- キー:
use_most_secure_storage
- 型:
Boolean
- 値: True
Microsoft Intune で Secure Enclave を有効にするための構成ページと設定を次のスクリーンショットに示します。
Secure Enclave ベースのデバイス ID でアプリの非互換性を認識する
Secure Enclave ベースのストレージを有効にすると、アクセスできるようにデバイスを設定することを通知するエラー メッセージが表示されることがあります。 このエラー メッセージは、アプリケーションがデバイスのマネージド状態を認識できなかったことを示し、新しいキーの保存場所との互換性がないことを示唆しています。
このエラーは、次の詳細を含む Microsoft Entra ID サインイン ログに表示されます。
- サインイン エラー コード:
530003
- エラーの理由:
Device is required to be managed to access this resource.
テスト中にこのエラー メッセージが表示される場合は、まず、SSO 拡張機能が正常に有効になっていることと、必要なアプリケーション固有の拡張機能 (たとえば、Chrome 用 Microsoft シングル サインオン) がインストールされていることを確認します。 このメッセージが引き続き表示される場合は、アプリケーションのベンダーに連絡して、新しい保存場所との非互換性について注意を喚起することをお勧めします。
影響を受けるシナリオ
これらの変更の影響を受けるいくつかの一般的なシナリオを、以下の一覧に示します。 経験則として、Apple のキーチェーン経由のデバイス ID アーティファクトへのアクセスに依存するアプリケーションはすべて影響を受けます。
これは完全なリストではないため、アプリケーションのコンシューマーとベンダーの両方に、この新しいデータストアとの互換性についてソフトウェアをテストすることをお勧めします。
Chrome での登録済みデバイスの条件付きアクセス ポリシーのサポート
Secure Enclave ベースの保存が有効になっている Google Chrome でデバイスの条件付きアクセス ポリシーをサポートするには、Microsoft シングル サインオン拡張機能をインストールして有効にする必要があります。
関連項目
iOS デバイスの共有デバイス モードについて理解します。
「Microsoft Enterprise SSO 拡張機能のトラブルシューティング」について説明します。