Microsoft Authentication Library (MSAL) へのアプリケーションの移行

お使いのアプリケーションで認証と承認の機能に Azure Active Directory 認証ライブラリ (ADAL) を使用している場合は、Microsoft Authentication Library (MSAL) に移行する時期です。

  • セキュリティ修正プログラムを含め、ADAL についてのすべての Microsoft のサポートと開発は、2023 年 6 月 30 日に終了しました。
  • 廃止日より前に、ADAL 機能リリースや新しいプラットフォーム バージョンのリリースは予定されていません。
  • 2020 年 6 月 30 日以降、ADAL に新しい機能は追加されていません。

警告

Azure Active Directory 認証ライブラリ (ADAL) は非推奨です。 ADAL を使用している既存のアプリは引き続き機能しますが、Microsoft は今後 ADAL のセキュリティ修正プログラムをリリースしません。 Microsoft Authentication Library (MSAL) を使用して、アプリのセキュリティを危険にさらさないようにする必要があります。

MSAL に切り替える理由

Azure AD (v1.0) エンドポイントを使用してアプリを開発したことがある場合は、ADAL を使用している可能性が高くなります。 Microsoft ID プラットフォーム (v2.0) エンドポイントが大幅に変更されたため、新しいエンドポイント用にまったく新しいライブラリ (MSAL) が構築されました。

MSAL は、開発者が実装の詳細について心配することなく、セキュリティで保護されたソリューションを実現できるように設計されています。 これにより、トークンの取得、管理、キャッシュ、および更新が簡素化されて管理され、回復性のためのベスト プラクティスが使用されます。 MSAL を使用して、開発するクライアント アプリケーションでの認証と承認の回復性を向上させることをお勧めします。

MSAL には、次の機能を含め、ADAL と比較して複数の利点があります。

機能 MSAL ADAL
Security
2023 年 6 月以降のセキュリティ修正プログラム Security fixes beyond June 2023 - MSAL provides the feature Security fixes beyond June 2023 - ADAL doesn't provide the feature
継続的アクセス評価 (CAE) をサポートする Microsoft Graph およびその他の API のポリシーまたは重要なイベントに基づいてトークンを事前に更新および取り消す。 Proactively refresh and revoke tokens based on policy or critical events for Microsoft Graph and other APIs that support Continuous Access Evaluation (CAE) - MSAL provides the feature Proactively refresh and revoke tokens based on policy or critical events for Microsoft Graph and other APIs that support Continuous Access Evaluation (CAE) - ADAL doesn't provide the feature
OAuth v2.0 および OpenID Connect (OIDC) の標準への準拠 Standards compliant with OAuth v2.0 and OpenID Connect (OIDC) - MSAL provides the feature Standards compliant with OAuth v2.0 and OpenID Connect (OIDC) - ADAL doesn't provide the feature
ユーザー アカウントとエクスペリエンス
Microsoft Entra アカウント Microsoft Entra accounts - MSAL provides the feature Microsoft Entra accounts - ADAL provides the feature
Microsoft アカウント (MSA) Microsoft account (MSA) - MSAL provides the feature Microsoft account (MSA) - ADAL doesn't provide the feature
Azure AD B2C アカウント Azure AD B2C accounts - MSAL provides the feature Azure AD B2C accounts - ADAL doesn't provide the feature
最適なシングル サインオン エクスペリエンス Best single sign-on experience - MSAL provides the feature Best single sign-on experience - ADAL doesn't provide the feature
認証エクスペリエンス
事前のトークン更新による継続的アクセス評価 Proactive token renewal - MSAL provides the feature Proactive token renewal - ADAL doesn't provide the feature
調整 Throttling - MSAL provides the feature Throttling - ADAL doesn't provide the feature
認証ブローカーのサポート Device-based Conditional Access policy - MSAL has the feature built-in Device-based Conditional Access policy - ADAL doesn't provide the feature
トークン保護 Token protection - MSAL provides the feature Token protection - ADAL doesn't provide the feature

ADAL を介した MSAL の追加機能

  • 所有証明トークン
  • モバイルでの Microsoft Entra 証明書ベースの認証 (CBA)
  • モバイル デバイス上のシステム ブラウザー
  • ADAL に認証コンテキスト クラスのみが含まれている場合、MSAL はクライアント アプリ (パブリック クライアントと機密クライアント) のコレクションの概念を公開します。

MSAL での AD FS のサポート

MSAL.NET、MSAL Java、MSAL.js、MSAL Python を使用して、Active Directory フェデレーション サービス (AD FS) (AD FS) 2019 以降からトークンを取得できます。 AD FS 2016 を含め、以前のバージョンの AD FS は MSAL ではサポートされていません。

AD FS を引き続き使用する必要がある場合は、ADAL から MSAL にアプリケーションを更新する前に、AD FS 2019 以降にアップグレードする必要があります。

MSAL への移行方法

移行を開始する前に、認証に ADAL を使用しているアプリを特定する必要があります。 こちらの記事の手順に従って、Azure portal を使用して一覧を取得してください。

ADAL を使用しているアプリケーションを特定した後、アプリの種類に応じて MSAL に移行します。

シングルページ アプリ (SPA)

MSAL は、さまざまなアプリケーションの種類とシナリオをサポートします。 いくつかのアプリケーションの種類に対する Microsoft 認証ライブラリのサポートに関する記事を参照してください。

次のリンクからさまざまなプラットフォームの ADAL から MSAL への移行ガイドを入手できます。

移行のヘルプ

ADAL から MSAL へのアプリの移行について質問がある場合、こちらにいくつかのオプションを示しています。

  • Microsoft Q&A で、タグ [azure-ad-adal-deprecation] を使用して質問を投稿する。
  • ライブラリの GitHub リポジトリでイシューを開く。 各ライブラリのリポジトリへのリンクについては、MSAL の概要に関する記事の「言語とフレームワーク」セクションを参照してください。

アプリケーションの開発で独立系ソフトウェア ベンダー (ISV) と提携している場合は、MSAL への移行手順を把握するために、先方に直接連絡することをお勧めします。

次のステップ

MSAL の詳細、たとえば使用情報や、さまざまなプログラミング言語とアプリケーションの種類で使用できるライブラリについては、こちらを参照してください。