Warning
Azure Active Directory認証ライブラリ (ADAL) は非推奨になりました。 ADAL を使用する既存のアプリは引き続き機能しますが、Microsoftは ADAL のセキュリティ修正プログラムをリリースしなくなります。 アプリのセキュリティを危険にさらさないようにするには、Microsoft Authentication Library (MSAL) を使用します。
移行する理由
Azure AD Authentication Library for .NET (ADAL.NET) は非推奨となり、セキュリティのバグを含む新機能やバグ修正は実装されません。 ADAL を使用するアプリケーションは引き続き機能します。
ADAL を直接使用するアプリの移行ガイド
MSAL.NET と ADAL.NET の詳細を調べると、MSAL.NET または Microsoft.Identity.Web などの上位レベルのライブラリを使用するかどうかを確認できます。 以下のデシジョン ツリーの詳細については、MSAL.NET またはMicrosoftを参照してください。Identity.Web。
- Azure AD B2C と Microsoft Entra 外部 ID を使用して、職場または学校アカウント、個人のMicrosoft アカウント、ソーシャル アカウントまたはローカル アカウントなど、より広範なMicrosoft ID のセットを認証できます。
- ユーザーは、最高のシングル サインオン (SSO) エクスペリエンスを実現します。
- アプリケーションでは、増分同意、条件付きアクセス、およびその他の新しいセキュリティ機能を有効にすることができます。
- セキュリティと回復性の面で継続的なイノベーションの恩恵を受けます。
Important
MSAL.NET またはMicrosoft。Identity.Web は、Microsoft ID プラットフォームで使用する推奨される認証ライブラリになりました。 ADAL には新しい機能は実装されません。 詳細については、「お知らせ: アプリケーションを ADAL から MSAL に更新する」を参照してください。
MSAL.NET と Microsoft.Identity.Web のどちらに移行すべきか
MSAL.NET と ADAL.NET の詳細を調べると、MSAL.NET または Microsoft.Identity.Web などの上位レベルのライブラリを使用するかどうかを確認できます。 以下のデシジョン ツリーの詳細については、MSAL.NET またはMicrosoftを参照してください。Identity.Web。
ADAL を間接的に使用するアプリの移行ガイド
知らないうちに他の SDK の ADAL 依存関係を使用する可能性があります。 言い換えると、ADAL は推移的な依存関係です。 これは、潜在的なセキュリティの問題を修正したり、セキュリティの向上の恩恵を受けたりするために、アプリケーションが ADAL をアップグレードできないため、アプリケーションに対するリスクを引き続き表します。
移行するには、まず、ADAL を使用するルート依存関係を特定する必要があります。 ほとんどの場合、ルート依存関係自体は非推奨です。 ルート依存関係を識別するには、dotnet nuget whycommand Visual Studio使用できます
最も一般的な非推奨パッケージとその MSAL の代替手段を次に示します。 移行の詳細については、該当する Azure SDK for .NET ライブラリのページにある AppAuthentication to Azure.Identity Migration Guidance および Migration guide のリンクを参照してください。
| レガシ パッケージ (ADAL 依存、非推奨) | サポートされているパッケージ (MSAL 依存、現在) |
|---|---|
Microsoft.Azure.KeyVault |
Azure.Security.KeyVault.Secrets, Azure.Security.KeyVault.Keys, Azure.Security.KeyVault.Certificates |
Microsoft.Azure.Management.Compute |
Azure.ResourceManager.Compute |
Microsoft.Azure.Services.AppAuthentication |
Azure.Identity |
Microsoft.Azure.Management.StorageSync |
Azure.ResourceManager.StorageSync |
Microsoft.Azure.Management.Fluent |
Azure.ResourceManager |
Microsoft.Azure.Management.EventGrid |
Azure.ResourceManager.EventGrid |
Microsoft.Azure.Management.Automation |
Azure.ResourceManager.Automation |
Microsoft.Azure.Management.Compute.Fluent |
Azure.ResourceManager.Compute |
Microsoft.Azure.Management.MachineLearning.Fluent |
Azure.ResourceManager.MachineLearningCompute |
Microsoft.Azure.Management.Media, windowsazure.mediaservices |
Azure.ResourceManager.Media |
Microsoft.Kusto.Client |
Microsoft.Azure.Kusto.Data |
Microsoft.Kusto.Ingest |
Microsoft.Azure.Kusto.Ingest |
次のステップ
- パブリック クライアント アプリケーションと機密クライアント アプリケーションについて説明します。
- ASP.NET MVCまたは .NET クラシックに基づいて構築された機密クライアント アプリケーションを ADAL.NET から MSAL.NET に移行する方法について説明します。
- .NETまたは .NET クラシックに基づいて構築されたパブリック クライアント アプリケーションを ADAL.NET から MSAL.NET に移行する方法について説明します。
- ADAL.NET アプリと MSAL.NET アプリの違いについて詳しくは、ご覧ください。
- ASP.NET Coreに基づいて構築された機密クライアント アプリケーションを ADAL.NET から Microsoft に移行する方法について説明します。Identity.Web: