ステージ 2: MSAL の前提条件とセットアップ
Intune App SDK では、認証シナリオと条件付き起動シナリオに Microsoft 認証ライブラリが使用されます。 また、MSAL を使用して、デバイス登録シナリオを使用せずに管理するために、MAM サービスにユーザー ID を登録します。
注:
このガイドは、いくつかの異なるステージに分かれています。 まず、「 ステージ 1: 統合の計画」を確認します。
ステージ Goals
- アプリケーションを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アプリ登録が、単一の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 Mobile App Management サービスへのアクセス権をアプリに付与する」の「Intune SDK ガイドの概要」の手順を使用します。
注:
アプリ保護ポリシーがマネージド デバイスに関連する場合は、統合されたアプリケーションのアプリ構成プロファイル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 に移行することをお勧めします。
次の手順
上記のすべての終了条件を完了したら、「ステージ 3: Intune SDK を iOS アプリに統合する」に進みます。