Intune アプリ SDK は、認証と条件付き起動のシナリオに Microsoft 認証ライブラリを使用します。 また、MSAL に依存して、ユーザー ID を MAM サービスに登録し、デバイス登録シナリオなしで管理します。
注:
このガイドは、いくつかの異なる段階に分かれています。 まず、「 ステージ 1: 統合の計画」を確認します。
ステージ目標
- Microsoft Entra ID にアプリケーションを登録します。
- MSAL を iOS アプリケーションに統合します。
- 保護されたリソースへのアクセスを許可するトークンをアプリケーションが取得できることを確認します。
Microsoft Entra アプリの登録を設定して構成する
MSAL では、アプリに付与されたトークンのセキュリティを保証するために、アプリが Microsoft Entra ID に登録し、一意のクライアント ID とリダイレクト URI を作成する必要があります。 アプリケーションが既に独自の認証に MSAL を使用している場合は、アプリに関連付けられている Microsoft Entra アプリの登録/クライアント ID/リダイレクト URI が既にあるはずです。
アプリで MSAL がまだ使用されていない場合は、Microsoft Entra ID でアプリの登録を構成し、Intune SDK が使用するクライアント ID とリダイレクト URI を指定する必要があります。
アプリで現在 ADAL を使用してユーザーを認証している場合、ADAL から MSAL へのアプリの移行の詳細については、「 iOS および macOS 用 MSAL へのアプリケーションの移行 」を参照してください。
アプリは MSAL の最新リリースにリンクすることをお勧めします。
MSAL をプロジェクトにリンクする
インストール セクションに従って、MSAL バイナリをアプリに配置します。
MSAL の構成
構成 セクションに従って 、MSAL を構成します。 必ず、構成セクションのすべての手順に従ってください。 アプリが既に Microsoft Entra ID に登録されている場合は、手順 1 を無視します。
以下のポイントには、MSAL を構成してリンクするための追加情報が含まれています。 アプリケーションに該当する場合は、次の手順に従ってください。
- アプリでキーチェーン アクセス グループが定義されていない場合は、アプリのバンドル ID を最初のグループとして追加します。
- キーチェーン アクセス グループに
com.microsoft.adalcacheを追加して、MSAL シングル サインオン (SSO) を有効にします。 - MSAL 共有キャッシュ キーチェーン グループを明示的に設定する場合は、
<appidprefix>.com.microsoft.adalcacheに設定されていることを確認してください。 オーバーライドしない限り、MSAL によって自動的に設定されます。com.microsoft.adalcache置き換えるカスタム キーチェーン グループを指定する場合は、IntuneMAMSettings の下の Info.plist ファイルでキーADALCacheKeychainGroupOverrideを使用して指定します。
Intune アプリ SDK の MSAL 設定を構成する
Microsoft Entra ID でアプリケーション用にアプリ登録が構成されたら、Microsoft Entra ID に対する認証中にアプリ登録の設定を使用するように Intune アプリ SDK を構成できます。 次の設定の事前設定については、「Intune アプリ SDK の設定の構成」を参照してください。
- ADALClientId
- ADALAuthority
- ADALRedirectUri
- ADALRedirectScheme
- ADALCacheKeychainGroupOverride
以下の構成が必要です。
プロジェクトの Info.plist ファイルで、キー名が
ADALClientIdの IntuneMAMSettings 辞書で、MSAL 呼び出しに使用するクライアント ID を指定します。手順 1 で構成されたクライアント ID にマップする Microsoft Entra アプリの登録が 1 つのMicrosoft Entraテナントでのみ使用するように構成されている場合は、アプリケーションの Info.plist ファイル内の IntuneMAMSettings ディクショナリの下に
ADALAuthorityキーを構成します。 Intune モバイル アプリケーション管理サービスのトークンを取得するために MSAL が使用する Microsoft Entra 機関を指定します。また、キー名が
ADALRedirectUriの IntuneMAMSettings 辞書の下で、MSAL 呼び出しに使用するリダイレクト URI を指定します。 または、アプリケーションのリダイレクト URI がscheme://bundle_idの形式の場合は、代わりにADALRedirectSchemeを指定することもできます。または、アプリが実行時にこれらの Microsoft Entra 設定をオーバーライドすることもできます。 これを行うには、
IntuneMAMSettingsクラスのaadAuthorityUriOverride、aadClientIdOverride、およびaadRedirectUriOverrideプロパティを設定するだけです。iOS アプリに Intune モバイル アプリ管理 (MAM) サービスのアクセス許可を付与する手順が実行されていることを確認してください。 「アプリに Intune モバイル アプリ管理サービスへのアクセス権を付与する」の「Intune SDK の概要ガイドの手順を使用します。
注:
アプリ保護ポリシーが管理対象デバイスに関連している場合は、Intune が統合されたアプリケーションのアプリ構成プロファイルを作成する必要もあります。
静的であり、実行時に決定する必要のないすべての設定に Info.plist アプローチをお勧めします。 実行時に
IntuneMAMSettingsクラス プロパティに割り当てられた値は、Info.plist で指定されている対応する値よりも優先され、アプリが再起動された後も保持されます。 SDK は、ユーザーが登録解除されるか、値がクリアまたは変更されるまで、ポリシー チェックインにそれらを使用し続けます。
アプリが開始する認証に MSAL を使用する場合の特別な考慮事項
アプリケーションでは、アプリが開始する MSAL 対話型認証操作の Web ビューとして SFSafariViewController、SFAuththenticationSession、または ASWebAuthenticationSession を使用しないことをお勧めします。 既定では、MSAL は ASWebAuthenticationSession を使用するため、アプリ開発者は 明示的に webview の種類を WKWebView に設定する必要があります。 何らかの理由で対話型 MSAL 認証操作にアプリが WKWebView 以外の webview の種類を使用する必要がある場合は、アプリケーションの Info.plist の IntuneMAMSettings 辞書で SafariViewControllerBlockedOverride を true に設定する必要もあります。
警告
これにより、Intune の SafariViewController フックがオフになり、認証セッションが有効になります。 これにより、アプリケーションが SafariViewController を使用して企業データを表示する場合、アプリ内の他の場所でデータ漏洩するリスクがあるため、アプリケーションでは、これらの webview の種類のいずれかで企業データを表示しないでください。
終了条件
- Microsoft Entra アプリの登録ページにアプリを登録しましたか?
- MSAL をアプリケーションに統合しましたか?
- リダイレクト URI を生成して MSAL 構成ファイルで設定することで、ブローカー認証を有効にしましたか?
- IntuneMAMSettings ディクショナリの MSAL に必要な構成情報が、Microsoft Entra アプリの登録の情報と一致していることを確認しましたか?
よくあるご質問 (FAQ)
ADAL はどうですか?
Microsoft の以前の認証ライブラリである Azure Active Directory 認証ライブラリ (ADAL) は非推奨になりました。
アプリケーションに ADAL が既に統合されている場合は、「 Microsoft 認証ライブラリ (MSAL) を使用するようにアプリケーションを更新する」を参照してください。 アプリを ADAL から MSAL に移行するには、「アプリケーションを iOS および macOS 用 MSAL に移行する」を参照してください
Intune App SDK を統合する前に、ADAL から MSAL に移行することをお勧めします。
次の手順
上記のすべての終了基準を完了したら、「ステージ 3: iOS アプリへの Intune SDK の統合」に進みます。