ステージ 2: MSAL の前提条件とセットアップ
Intune App SDK は、認証と条件付き起動シナリオに Microsoft 認証ライブラリ を使用します。 また、MSAL を使用して、デバイス登録シナリオを使用せずに管理するために、MAM サービスにユーザー ID を登録します。
注:
このガイドは、いくつかの異なるステージに分かれています。 まず、「 ステージ 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
を置き換えるカスタム キーチェーン グループを指定する場合は、キーADALCacheKeychainGroupOverride
を使用して、IntuneMAMSettings の Info.plist ファイルで これを指定します。
Intune App SDK の MSAL 設定を構成する
Microsoft Entra ID でアプリケーションのアプリ登録が構成されたら、Microsoft Entra ID に対する認証時にアプリ登録の設定を使用するように Intune App SDK を構成できます。 次 の設定の設定については、「Intune App 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
プロパティを設定するだけです。Intune Mobile App Management (MAM) サービスに iOS アプリのアクセス許可を付与する手順に従っていることを確認します。 Intune SDK の 概要ガイドの「アプリに IntuneMobile App Management サービスへのアクセス権を付与する」の手順を使用します。
注:
アプリ保護ポリシーがマネージド デバイスに関連する場合は、Intune が統合されたアプリケーションのアプリ構成プロファイルを作成する必要もあります。
Info.plist アプローチは、静的であり、実行時に決定する必要がないすべての設定に推奨されます。 実行時に
IntuneMAMSettings
クラス プロパティに割り当てられた値は、Info.plist で指定された対応する値よりも優先され、アプリの再起動後も保持されます。 SDK は、ユーザーが登録解除されるか、値がクリアまたは変更されるまで、ポリシー チェックインに引き続き使用します。
アプリによって開始される認証に MSAL を使用する場合の特別な考慮事項
アプリケーションでは、アプリによって開始される MSAL 対話型認証操作に対して、SFSafariViewController、SFAuththenticationSession、または ASWebAuthenticationSession を Web ビューとして使用しないことをお勧めします。 既定では、MSAL は ASWebAuthenticationSession を使用するため、アプリ開発者は Webview の種類を WKWebView に明示的に設定 する必要があります。 何らかの理由で、アプリで対話型 MSAL 認証操作に WKWebView 以外の Webview 型を使用する必要がある場合は、アプリケーションの Info.plist のIntuneMAMSettings
ディクショナリの下でtrue
にSafariViewControllerBlockedOverride
も設定する必要があります。
警告
これにより、Intune の SafariViewController フックがオフになり、認証セッションが有効になります。 これにより、アプリケーションが SafariViewController を使用して企業データを表示する場合、アプリ内の他の場所でデータ リークが発生するリスクが発生するため、アプリケーションはこれらの Webview の種類のいずれにも企業データを表示しないようにします。
終了条件
- Microsoft Entra アプリの登録ページでアプリを登録しましたか?
- MSAL をアプリケーションに統合しましたか?
- リダイレクト URI を生成し、MSAL 構成ファイルに設定することで、ブローカー認証を有効にしましたか?
- IntuneMAMSettings ディクショナリの MSAL に必要な構成情報が、Microsoft Entra アプリ登録の構成情報と一致していることを確認しましたか?
FAQ
ADAL はどうですか?
Microsoft の以前の認証ライブラリ である Azure Active Directory 認証ライブラリ (ADAL) は 非推奨になりました。
アプリケーションが既に ADAL を統合している場合は、「 Microsoft Authentication Library (MSAL) を使用するようにアプリケーションを更新する」を参照してください。 アプリを ADAL から MSAL に移行するには、「iOS および macOS 用のアプリケーションを MSAL に移行する」を参照してください。
Intune App SDK を統合する前に、ADAL から MSAL に移行することをお勧めします。
次の手順
上記のすべての 終了条件 を完了したら、 iOS アプリへのステージ 3: Intune SDK の統合に進みます。