認証と承認Authentication vs authorization

この記事では、認証と承認を定義し、Microsoft ID プラットフォームを使用して、Web アプリ、Web API、または保護された Web API を呼び出すアプリのユーザーを認証および承認する方法について簡単に説明します。This article defines authentication and authorization and briefly covers how you can use the Microsoft identity platform to authenticate and authorize users in your web apps, web APIs, or apps calling protected web APIs. よく知らない用語がある場合は、用語集または基本的な概念を説明する Microsoft ID プラットフォームの動画をご覧ください。If you see a term you aren't familiar with, try our glossary or our Microsoft identity platform videos which cover basic concepts.

認証Authentication

認証は、ユーザーが身元を証明するプロセスです。Authentication is the process of proving you are who you say you are. 認証は AuthN と短縮される場合があります。Authentication is sometimes shortened to AuthN. Microsoft ID プラットフォームは、認証を処理するための OpenID Connect プロトコルを実装しています。Microsoft identity platform implements the OpenID Connect protocol for handling authentication.

承認Authorization

承認は、認証された利用者に対し、何かを実行する権限を付与する行為です。Authorization is the act of granting an authenticated party permission to do something. アクセスが許可されるデータと、そのデータで実行できる操作を指定します。It specifies what data you're allowed to access and what you can do with that data. 承認は AuthZ と短縮される場合があります。Authorization is sometimes shortened to AuthZ. Microsoft ID プラットフォームは、承認を処理するための OAuth 2.0 プロトコルを実装しています。Microsoft identity platform implements the OAuth 2.0 protocol for handling authorization.

Microsoft ID プラットフォームを使用した認証と承認Authentication and authorization using Microsoft identity platform

それぞれ独自のユーザー名とパスワードの情報を保持するアプリを作成する (これにより、複数のアプリにまたがってユーザーを追加または削除する必要があるときに管理上の負担が大きくなります) 代わりに、アプリで、一元化された ID プロバイダーに責任を委任することができます。Instead of creating apps that each maintain their own username and password information, which incurs a high administrative burden when you need to add or remove users across multiple apps, apps can delegate that responsibility to a centralized identity provider.

Azure Active Directory (Azure AD) は、クラウド内の一元化された ID プロバイダーです。Azure Active Directory (Azure AD) is a centralized identity provider in the cloud. 認証と承認を委任することにより、ユーザーが特定の場所にいることを要求する条件付きアクセス ポリシー、多要素認証 (2 要素認証または 2FA とも呼ばれる) の使用のほか、ユーザーが 1 回サインインすると、同じ一元化されたディレクトリを共有するすべての Web アプリに自動的にサインインできるようにするなどのシナリオを実現できます。Delegating authentication and authorization to it enables scenarios such as Conditional Access policies that require a user to be in a specific location, the use of multi-factor authentication (sometimes referred to as two-factor authentication or 2FA), as well as enabling a user to sign in once and then be automatically signed in to all of the web apps that share the same centralized directory. この機能は、シングル サインオン (SSO) と呼ばれます。This capability is referred to as Single Sign On (SSO).

Microsoft ID プラットフォームでは、サービスとしての ID を提供することでアプリケーション開発者による承認と認証を容易にしています。また、コーディングをすばやく開始できるように、OAuth 2.0 や OpenID Connect などの業界標準プロトコルや、さまざまなプラットフォーム向けのオープン ソース ライブラリをサポートしています。Microsoft identity platform simplifies authorization and authentication for application developers by providing identity as a service, with support for industry-standard protocols such as OAuth 2.0 and OpenID Connect, as well as open-source libraries for different platforms to help you start coding quickly. そのため、開発者はすべての Microsoft ID にサインインし、Microsoft Graph、その他の Microsoft API、または開発者が作成した API を呼び出すトークンを取得できます。It allows developers to build applications that sign in all Microsoft identities, get tokens to call Microsoft Graph, other Microsoft APIs, or APIs that developers have built.

Microsoft ID プラットフォームで使用されるさまざまなプロトコルの簡単な比較を次に示します。Following is a brief comparison of the various protocols used by Microsoft identity platform:

  • OAuth と OpenID Connect:OAuth が承認に使用され、OpenID Connect (OIDC) が認証に使用されます。OAuth vs OpenID Connect: OAuth is used for authorization and OpenID Connect (OIDC) is used for authentication. OpenID Connect は OAuth 2.0 に基づいて構築されているため、これら 2 つの間では用語とフローが似ています。OpenID Connect is built on top of OAuth 2.0, so the terminology and flow are similar between the two. さらに、(OpenID Connect を使用して) ユーザーを認証することと、(OAuth 2.0 を使用して) ユーザーが所有する保護されたリソースにアクセスするための承認を得ることを、1 回の要求で行うこともできます。You can even both authenticate a user (using OpenID Connect) and get authorization to access a protected resource that the user owns (using OAuth 2.0) in one request. 詳細については、OAuth 2.0 と OpenID Connect プロトコルおよび OpenID Connect プロトコルに関するページを参照してください。For more information, see OAuth 2.0 and OpenID Connect protocols and OpenID Connect protocol.
  • OAuth と SAML:OAuth が承認に使用され、SAML が認証に使用されます。OAuth vs SAML: OAuth is used for authorization and SAML is used for authentication. 2 つのプロトコルを一緒に使用して、(SAML を使用して) ユーザーを認証し、さらに (OAuth 2.0 を使用して) 保護されたリソースにアクセスするための承認を得る方法の詳細については、「Microsoft ID プラットフォームと OAuth 2.0 SAML ベアラー アサーション フロー」を参照してください。See Microsoft identity platform and OAuth 2.0 SAML bearer assertion flow for more information on how the two protocols can be used together to both authenticate a user (using SAML) and get authorization to access a protected resource (using OAuth 2.0).
  • OpenID Connect と SAML:OpenID Connect と SAML の両方が、ユーザーの認証に使用され、シングル サインオンを有効にするために使用されます。OpenID Connect vs SAML: Both OpenID Connect and SAML are used to authenticate a user and are used to enable Single Sign On. SAML 認証は一般的に、Azure AD にフェデレーションされた Active Directory フェデレーション サービス (AD FS) などの ID プロバイダーと一緒に使用されるため、エンタープライズ アプリケーションで頻繁に使用されます。SAML authentication is commonly used with identity providers such as Active Directory Federation Services (ADFS) federated to Azure AD and is therefore frequently used in enterprise applications. OpenID Connect は一般的に、モバイル アプリ、Web サイト、Web API など、純粋にクラウド内にあるアプリに対して使用されます。OpenID Connect is commonly used for apps that are purely in the cloud, such as mobile apps, web sites, and web APIs.

次のステップNext steps

認証と承認の基本に関するその他のトピックは、次のとおりです。For other topics covering authentication and authorization basics: