トレーニング
認定資格
Microsoft Certified: Identity and Access Administrator Associate - Certifications
ID ソリューションの現代化、ハイブリッド ソリューションの実装、ID ガバナンスの実装を行う Microsoft Entra ID の機能を実証します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Microsoft Graph は、Microsoft Entra IDや Microsoft 365 などの Microsoft クラウド サービスのデータにアクセスするための保護された Web API です。 これは、OAuth アクセス トークンを使用してアプリが Microsoft Graph を呼び出す権限があることを確認するMicrosoft ID プラットフォームによって保護されています。
この記事では、Microsoft ID プラットフォームとアクセス トークンの概要、アプリでアクセス トークンを取得する方法について説明します。 詳細については、「Microsoft ID プラットフォームとは」を参照してください。 アプリとMicrosoft ID プラットフォームを統合してトークンを取得する方法がわかっている場合は、Microsoft Graph に固有の情報とサンプルのMicrosoft ID プラットフォームコード サンプルに関するページを参照してください。
アプリがMicrosoft ID プラットフォームからアクセス トークンを取得するには、Microsoft Entra 管理センターに登録する必要があります。 登録によりアプリが Microsoft ID プラットフォームと統合され、次のようなトークンを取得する際に使用する情報を確立します。
詳細については、「アプリケーションをMicrosoft ID プラットフォームに登録する」を参照してください。
アプリがMicrosoft ID プラットフォームで認証するために使用する方法は、アプリがデータにアクセスする方法によって異なります。 このアクセスは、次の図に示すように、2 つの方法のいずれかで実行できます。
このアクセス シナリオでは、ユーザーがクライアント アプリケーションにサインインし、クライアント アプリケーションがユーザーの代わりに Microsoft Graph を呼び出します。 クライアントとユーザーの両方が要求を行う権限を持っている必要があります。
委任されたアクセスには、 委任されたアクセス許可 (スコープとも呼ばれます) が必要 です。 スコープは、特定のリソースによって公開されるアクセス許可であり、ユーザーに代わってアプリが実行できる操作を表します。
アプリとユーザーの両方が要求を行う権限を持っている必要があるため、リソースは、クライアント アプリに委任されたアクセス許可を付与し、クライアント アプリが指定されたユーザーの代わりにデータにアクセスできるようにします。 ユーザーの場合、リソースに対して実行できるアクションは、リソースにアクセスするために必要なアクセス許可に依存します。 たとえば、ユーザーがリソースの所有者であるか、ロールベースのアクセス制御システム (RBAC) (RBAC) (MICROSOFT ENTRA RBAC など) を介して特定のロールが割り当てられている場合があります。
注意
エイリアスを持つ /me
エンドポイントと API は、サインインしているユーザーでのみ動作するため、委任されたアクセス シナリオで呼び出されます。
このアクセス シナリオでは、サインインしているユーザーなしで、アプリケーションが独自にデータを操作できます。 アプリのみの アクセスは、自動化やバックアップなどのシナリオで使用され、主にバックグラウンド サービスまたはデーモンとして実行されるアプリによって使用されます。 ユーザーをサインインさせるのが望ましくない場合や、必要なデータを 1 人のユーザーにスコープ指定できない場合に適しています。
アプリは、次のいずれかの方法で、独自の ID で Microsoft Graph を呼び出す特権を取得します。
注意
また、アプリは、Microsoft Entra RBAC などのロールベースのアクセス制御システムによって付与されたアクセス許可を通じて特権を取得することもできます。
Microsoft Graph では、ユーザー、グループ、メールなどの Microsoft Graph リソースに対するアプリのアクセスを制御する詳細なアクセス許可が公開されています。 開発者は、アクセス シナリオと実行する操作に基づいて、アプリに対して要求する Microsoft Graph のアクセス許可を決定します。
Microsoft Graph では、サポートされている アクセス シナリオに対して 2 種類のアクセス許可が公開されています。
ユーザーがアプリにサインインする場合、アプリはアクセス トークンに含める必要があるアクセス許可を指定する必要があります。 これらのアクセス許可:
アクセス許可と同意の詳細については、「アクセス 許可と同意の概要」を参照してください。
注意
ベスト プラクティスとして、データにアクセスして正しく機能するためにアプリに必要な最小限のアクセス許可を要求します。 必要以上の権限でアクセス許可を要求することはセキュリティ対策としては不十分であり、ユーザーが同意を控え、アプリの使用に影響を与える可能性があります。
Microsoft Graph のアクセス許可とその使用方法の詳細については、「 Microsoft Graph のアクセス許可の概要」を参照してください。
アプリケーションは、microsoft Graph などの API の呼び出しに使用するアクセス トークンを取得するために、Microsoft ID プラットフォームに対して認証要求を行います。 Microsoft ID プラットフォームが発行するアクセス トークンには、アプリケーションに関する詳細と委任されたアクセス シナリオのユーザーに関する要求が含まれています。 Microsoft Graph など、Microsoft ID プラットフォームによってセキュリティ保護された Web API は、要求を使用して呼び出し元を検証し、呼び出し元が要求している操作を実行するための適切な特権を持っていることを確認します。 トークンのコンテンツは API のみを対象としているため、呼び出し元は、アクセス トークンを不透明として処理する必要があります。 Microsoft Graphを呼び出すときは、トランスポート層セキュリティ (TLS) を使用するセキュリティで保護されたチャネルを介してアクセス トークンを送信することで、アクセス トークンを常に保護します。
次の例は、Microsoft ID プラットフォームのアクセス トークンを示します。
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Imk2bEdrM0ZaenhSY1ViMkMzbkVRN3N5SEpsWSJ9.eyJhdWQiOiI2ZTc0MTcyYi1iZTU2LTQ4NDMtOWZmNC1lNjZhMzliYjEyZTMiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3YyLjAiLCJpYXQiOjE1MzcyMzEwNDgsIm5iZiI6MTUzNzIzMTA0OCwiZXhwIjoxNTM3MjM0OTQ4LCJhaW8iOiJBWFFBaS84SUFBQUF0QWFaTG8zQ2hNaWY2S09udHRSQjdlQnE0L0RjY1F6amNKR3hQWXkvQzNqRGFOR3hYZDZ3TklJVkdSZ2hOUm53SjFsT2NBbk5aY2p2a295ckZ4Q3R0djMzMTQwUmlvT0ZKNGJDQ0dWdW9DYWcxdU9UVDIyMjIyZ0h3TFBZUS91Zjc5UVgrMEtJaWpkcm1wNjlSY3R6bVE9PSIsImF6cCI6IjZlNzQxNzJiLWJlNTYtNDg0My05ZmY0LWU2NmEzOWJiMTJlMyIsImF6cGFjciI6IjAiLCJuYW1lIjoiQWJlIExpbmNvbG4iLCJvaWQiOiI2OTAyMjJiZS1mZjFhLTRkNTYtYWJkMS03ZTRmN2QzOGU0NzQiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhYmVsaUBtaWNyb3NvZnQuY29tIiwicmgiOiJJIiwic2NwIjoiYWNjZXNzX2FzX3VzZXIiLCJzdWIiOiJIS1pwZmFIeVdhZGVPb3VZbGl0anJJLUtmZlRtMjIyWDVyclYzeERxZktRIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidXRpIjoiZnFpQnFYTFBqMGVRYTgyUy1JWUZBQSIsInZlciI6IjIuMCJ9.pj4N-w_3Us9DrBLfpCt
アクセス トークンは、Microsoft ID プラットフォームが提供するセキュリティ トークンの一種です。 有効期間は短いですが、既定の有効期間は可変です。
Microsoft Graph を呼び出すために、アプリはアクセス トークンを ベアラー トークンとして HTTP 要求の Authorization ヘッダーにアタッチすることで 承認 要求を行います。 その例として、サインインしているユーザーのプロファイル情報を返す呼び出しを次に示します (読みやすくするために、アクセス トークンは短くされています)。
GET https://graph.microsoft.com/v1.0/me/ HTTP/1.1
Host: graph.microsoft.com
Authorization: Bearer EwAoA8l6BAAU ... 7PqHGsykYj7A0XqHCjbKKgWSkcAg==
認証ライブラリを使用して、Microsoft ID プラットフォームとのトークン操作を管理することをお勧めします。 認証ライブラリは、検証、Cookie 処理、トークンキャッシュ、セキュリティで保護された接続の維持など、多くのプロトコルの詳細を抽象化するため、開発をアプリの機能に集中できます。 Microsoft は、オープン ソースのクライアント ライブラリとサーバー ミドルウェアを発行します。
Microsoft ID プラットフォームのエンドポイントの場合:
Microsoft クライアント ライブラリ、Microsoft サーバー ミドルウェア、および互換性のあるサード パーティ 製ライブラリの完全な一覧については、Microsoft ID プラットフォームドキュメントを参照してください。
認証ライブラリを使用してアクセス トークンを取得する必要はありません。 認証ライブラリを使用せずにMicrosoft ID プラットフォーム エンドポイントを直接使用する方法については、次の記事を参照してください。
トレーニング
認定資格
Microsoft Certified: Identity and Access Administrator Associate - Certifications
ID ソリューションの現代化、ハイブリッド ソリューションの実装、ID ガバナンスの実装を行う Microsoft Entra ID の機能を実証します。