クラウドネイティブのアプリにおける認証と承認
ヒント
このコンテンツは eBook の「Azure 向けクラウド ネイティブ .NET アプリケーションの設計」からの抜粋です。.NET Docs で閲覧できるほか、PDF として無料ダウンロードすると、オンラインで閲覧できます。
"認証" は、セキュリティ プリンシパルの ID を決定するプロセスです。 "承認" は、あるアクションを実行したり、あるリソースにアクセスしたりするために、認証済みの主要アクセス許可を付与する行為です。 認証は AuthN
と、承認は AuthZ
と短縮されることがあります。 クラウドネイティブ アプリケーションは、セキュリティ プリンシパルを認証する目的で、HTTP ベースのオープン プロトコルに依存する必要があります。クライアントもアプリケーションも、世界中のどこかにあるあらゆるプラットフォームまたはデバイスで実行されている可能性があるためです。 唯一の共通要素が HTTP です。
多くの組織は依然として、Active Directory フェデレーション サービス (ADFS) など、ローカルの認証サービスに依存しています。 この手法は従来、組織のオンプレミス認証ニーズに対して十分なサービスを提供してきましたが、クラウドネイティブのアプリケーションは、クラウドのために設計されたシステムからベネフィットが得られます。 英国の National Cyber Security Centre (NCSC) は最近 (2019 年)、"第一認証ソースとして Azure AD を利用している組織は、ADFS と比べ、実際にリスクが低くなる" と発表しています。こちらの分析で概説されている理由には次が含まれています。
- Microsoft 資格情報保護テクノの完全セットへのアクセス。
- ほとんどの組織は既にある程度 Azure AD に依存している。
- NTLM ハッシュの二重にハッシュ化により、ローカルの Active Directory で動作する資格情報が侵害されなくなる。
リファレンス
.NET