クイック スタート:Web API にアクセスするためのクライアント アプリケーションの構成Quickstart: Configure a client application to access web APIs

Web/confidential クライアント アプリケーションが認証を必要とする認可付与フローに参加 (し、アクセス トークンを取得) できるようにするには、セキュリティで保護された資格情報を確立する必要があります。For a web/confidential client application to be able to participate in an authorization grant flow that requires authentication (and obtain an access token), it must establish secure credentials. Azure portal でサポートされている既定の認証方法は、クライアント ID と秘密鍵の組み合わせです。The default authentication method supported by the Azure portal is client ID + secret key.

さらに、同意フレームワークでは、リソース アプリケーションによって公開されている Web API (Microsoft Graph API など) にクライアントがアクセスできるようになる前に、要求されたアクセス許可に基づいてクライアントに必要なアクセス許可が付与されていることを確認します。Additionally, before a client can access a web API exposed by a resource application (such as Microsoft Graph API), the consent framework ensures the client obtains the permission grant required based on the permissions requested. 既定では、すべてのアプリケーションが Microsoft Graph API からのアクセス許可を選択できます。By default, all applications can choose permissions from the Microsoft Graph API. Graph API の [サインインとユーザー プロファイルの読み取り] アクセス許可が既定で選択されています。The Graph API “Sign-in and read user profile” permission is selected by default. 目的の Web API ごとに 2 種類のアクセス許可から選択できます。You can select from two types of permissions for each desired web API:

  • アプリケーションのアクセス許可 - クライアント アプリケーションは、アプリケーション自体として (ユーザー コンテキストなしで) Web API に直接アクセスする必要があります。Application permissions - Your client application needs to access the web API directly as itself (no user context). この種類のアクセス許可には管理者の同意が必要であるほか、パブリック (デスクトップおよびモバイル) クライアント アプリケーションでは使用できません。This type of permission requires administrator consent and is also not available for public (desktop and mobile) client applications.

  • 委任されたアクセス許可 - クライアント アプリケーションは、サインインしているユーザーとして Web API にアクセスする必要があります。アクセスにあたっては、選択されているアクセス許可に応じて制限が適用されます。Delegated permissions - Your client application needs to access the web API as the signed-in user, but with access limited by the selected permission. この種類のアクセス許可は、管理者の同意が必要でない限り、ユーザーが付与できます。This type of permission can be granted by a user unless the permission requires administrator consent.

    注意

    委任されたアクセス許可をアプリケーションに追加しても、テナント内のユーザーに対して自動的に同意が与えられるわけではありません。Adding a delegated permission to an application does not automatically grant consent to the users within the tenant. 管理者がすべてのユーザーに代わって同意を許可しない限り、ユーザーはやはり追加された委任されたアクセス許可に実行時に手動で同意する必要があります。Users must still manually consent for the added delegated permissions at runtime, unless the administrator grants consent on behalf of all users.

このクイック スタートでは、アプリを次のように構成する方法を説明します。In this quickstart, we'll show you how to configure your app to:

前提条件Prerequisites

最初に、以下の前提条件を完了していることを確認します。To get started, make sure you complete these prerequisites:

Azure portal にサインインしてアプリを選択するSign in to the Azure portal and select the app

アプリを構成する前に、次の手順を実行します。Before you can configure the app, follow these steps:

  1. 職場または学校アカウントか、個人の Microsoft アカウントを使用して、Azure portal にサインインします。Sign in to the Azure portal using either a work or school account or a personal Microsoft account.
  2. ご利用のアカウントで複数のテナントにアクセスできる場合は、右上隅でアカウントを選択し、ポータルのセッションを目的の Azure AD テナントに設定します。If your account gives you access to more than one tenant, select your account in the top-right corner, and set your portal session to the desired Azure AD tenant.
  3. 左側のナビゲーション ウィンドウで、 [Azure Active Directory] サービスを選択し、 [アプリの登録] を選択します。In the left-hand navigation pane, select the Azure Active Directory service and then select App registrations.
  4. 構成するアプリケーションを探して選択します。Find and select the application you want to configure. アプリを選択すると、アプリケーションの [概要] またはメイン登録ページが表示されます。Once you've selected the app, you'll see the application's Overview or main registration page.
  5. Web API にアクセスするようにアプリケーションを構成するには、以下の手順を実行します。Follow the steps to configure your application to access web APIs:

リダイレクト URI をアプリケーションに追加するAdd redirect URI(s) to your application

リダイレクト URI をアプリケーションに追加するには:To add a redirect URI to your application:

  1. アプリの [概要] ページで、 [認証] セクションを選択します。From the app's Overview page, select the Authentication section.

  2. Web アプリケーションとパブリック クライアント アプリケーションのカスタム リダイレクト URI を追加するには、次の手順を実行します。To add a custom redirect URI for web and public client applications, follow these steps:

    1. [リダイレクト URI] セクションを見つけます。Locate the Redirect URI section.
    2. 構築するアプリケーションの種類として [Web] または [パブリック クライアント (モバイルとデスクトップ)] を選択します。Select the type of application you're building, Web or Public client (mobile & desktop).
    3. アプリケーションのリダイレクト URI を入力します。Enter the Redirect URI for your application.
      • Web アプリケーションの場合は、アプリケーションのベース URL を指定します。For web applications, provide the base URL of your application. ローカル コンピューターで実行されている Web アプリケーションの URL であれば、たとえば http://localhost:31544 のようになります。For example, http://localhost:31544 might be the URL for a web application running on your local machine. ユーザーはこの URL を使用して、Web クライアント アプリケーションにサインインすることになります。Users would use this URL to sign into a web client application.
      • パブリック アプリケーションの場合は、トークン応答を返すために Azure AD に使用される URI を指定します。For public applications, provide the URI used by Azure AD to return token responses. https://MyFirstApp など、ご自分のアプリケーションに固有の値を入力してください。Enter a value specific to your application, for example: https://MyFirstApp.
  3. パブリック クライアント (モバイル、デスクトップ) に推奨されるリダイレクト URI の中から選択するには、以下の手順に従います。To choose from suggested Redirect URIs for public clients (mobile, desktop), follow these steps:

    1. [パブリック クライアント (モバイル、デスクトップ) に推奨されるリダイレクト URI] セクションを探します。Locate the Suggested Redirect URIs for public clients (mobile, desktop) section.
    2. チェック ボックスを使用して、アプリケーションの適切なリダイレクト URI を選択します。Select the appropriate Redirect URI(s) for your application using the checkboxes.

注意

新しい認証設定エクスペリエンスを試してみてください。このエクスペリエンスでは、対象とするプラットフォームまたはデバイスに基づいてアプリケーションの設定を構成できます。Try out the new Authentication settings experience where you can configure settings for your application based on the platform or device that you want to target.

このビューを表示するには、既定の [認証] ページ ビューで [新しいエクスペリエンスを試す] を選択します。To see this view, select Try out the new experience from the default Authentication page view.

[新しいエクスペリエンスを試す] をクリックして、[プラットフォーム構成] ビューを表示する

この操作により、新しい [プラットフォーム構成] ページが表示されます。This takes you to the new Platform configurations page.

アプリケーションの詳細設定を構成するConfigure advanced settings for your application

登録するアプリケーションに応じて、次のようないくつかの追加設定を構成する必要があります。Depending on the application you're registering, there are some additional settings that you may need to configure, such as:

  • ログアウト URLLogout URL
  • シングルページ アプリの場合は、 [暗黙の付与] を有効にし、承認エンドポイントによって発行されるトークンを選択できます。For single-page apps, you can enable Implicit grant and select the tokens that you'd like the authorization endpoint to issue.
  • 統合 Windows 認証、デバイス コード フロー、または [既定のクライアントの種類] セクションのユーザー名およびパスワードを使用してトークンを取得しているデスクトップ アプリの場合は、 [アプリケーションは、パブリック クライアントとして扱います] 設定を [はい] に構成します。For desktop apps that are acquiring tokens with Integrated Windows Authentication, device code flow, or username/password in the Default client type section, configure the Treat application as public client setting to Yes.
  • Live SDK を使用して Microsoft アカウント サービスと統合していたレガシ アプリの場合は、 [Live SDK サポート] を構成します。For legacy apps that were using the Live SDK to integrate with the Microsoft account service, configure Live SDK support. 新しいアプリでは、この設定は必要ありません。New apps don't need this setting.
  • 既定のクライアントの種類Default client type

サポートされるアカウントの種類を変更するModify supported account types

[サポートされているアカウントの種類] では、アプリケーションを使用できるユーザーまたは API にアクセスできるユーザーを指定します。The Supported account types specify who can use the application or access the API.

アプリケーションを初めて登録するときに、サポートされているアカウントの種類を構成した後は、次の場合にのみ、アプリケーション マニフェスト エディターを使用してこの設定を変更できます。Once you've configured the supported account types when you initially registered the application, you can only change this setting using the application manifest editor if:

  • アカウントの種類を AzureADMyOrg または AzureADMultipleOrgs から AzureADandPersonalMicrosoftAccount に、またはその逆に変更します。You change account types from AzureADMyOrg or AzureADMultipleOrgs to AzureADandPersonalMicrosoftAccount, or vice versa.
  • アカウントの種類を AzureADMyOrg から AzureADMultipleOrgs に、またはその逆に変更します。You change account types from AzureADMyOrg to AzureADMultipleOrgs, or vice versa.

既存のアプリの登録で、サポートされているアカウントの種類を変更するには、次のようにします。To change the supported account types for an existing app registration:

アプリケーションのプラットフォーム設定を構成するConfigure platform settings for your application

プラットフォームまたはデバイスに基づいてアプリの設定を構成するConfigure settings for your app based on the platform or device

プラットフォームまたはデバイスに基づいてアプリケーション設定を構成するには、以下のものが対象になります。To configure application settings based on the platform or device, you're targeting:

  1. [プラットフォーム構成] ページで、 [プラットフォームを追加] を選択し、使用可能なオプションを選択します。In the Platform configurations page, select Add a platform and choose from the available options.

    [プラットフォームの構成] ページを表示

  2. 選択したプラットフォームに基づいて設定情報を入力します。Enter the settings info based on the platform you selected.

    プラットフォームPlatform 選択Choices 構成設定Configuration settings
    Web アプリケーションWeb applications WebWeb アプリケーションのリダイレクト URI を入力します。Enter the Redirect URI for your application.
    モバイル アプリケーションMobile applications iOSiOS アプリのバンドル ID を入力します。これは、Info.plist の XCode または [ビルド設定] で見つけることができます。Enter the app's Bundle ID, which you can find in XCode in Info.plist, or Build Settings. バンドル ID を追加すると、アプリケーションのリダイレクト URI が自動的に作成されます。Adding the bundle ID automatically creates a redirect URI for the application.
    AndroidAndroid * アプリのパッケージ名を指定します。これは、AndroidManifest.xml ファイルで見つけることができます。* Provide the app's Package name, which you can find in the AndroidManifest.xml file.
    * 名ハッシュを生成して入力します。* Generate and enter the Signature hash. 署名ハッシュを追加すると、アプリケーションのリダイレクト URI が自動的に作成されます。Adding the signature hash automatically creates a redirect URI for the application.
    デスクトップとデバイスDesktop + devices デスクトップとデバイスDesktop + devices * 省略可能。* Optional. デスクトップとデバイス用のアプリを構築している場合は、 [推奨されるリダイレクト URI] でいずれかを選択します。Select one of the recommended Suggested redirect URIs if you're building apps for desktop and devices.
    * 省略可能。* Optional. カスタム リダイレクト URI を入力します。これは、Azure AD が認証要求に応答してユーザーをリダイレクトする場所として使用されます。Enter a Custom redirect URI, which is used as the location where Azure AD will redirect users in response to authentication requests. たとえば、対話が必要な .NET Core アプリケーションの場合、https://localhost を使用します。For example, for .NET Core applications where you want interaction, use https://localhost.

    重要

    最新の MSAL ライブラリを使用していない、またはブローカーを使用していないモバイル アプリケーションでは、これらのアプリケーションのリダイレクト URI を [デスクトップとデバイス] で構成する必要があります。For mobile applications that aren't using the latest MSAL library or not using a broker, you must configure the redirect URIs for these applications in Desktop + devices.

  3. 選択したプラットフォームによっては、構成できる追加の設定がある場合があります。Depending on the platform you chose, there may be additional settings that you can configure. Web アプリの場合は、以下のことができます。For Web apps, you can:

    • さらにリダイレクト URI を追加するAdd more redirect URIs
    • 暗黙的な許可を構成して、次のように、承認エンドポイントによって発行されるトークンを選択する。Configure Implicit grant to select the tokens you'd like to be issued by the authorization endpoint:
      • シングルページ アプリの場合は、 [アクセス トークン][ID トークン] の両方を選択しますFor single-page apps, select both Access tokens and ID tokens
      • Web アプリの場合は、 [ID トークン] を選択しますFor web apps, select ID tokens

資格情報を Web アプリケーションに追加するAdd credentials to your web application

資格情報を Web アプリケーションに追加するには:To add a credential to your web application:

  1. アプリの [概要] ページで、 [証明書とシークレット] セクションを選択します。From the app's Overview page, select the Certificates & secrets section.

  2. 証明書を追加するには、次の手順を実行します。To add a certificate, follow these steps:

    1. [証明書のアップロード] を選択します。Select Upload certificate.
    2. アップロードするファイルを選択します。Select the file you'd like to upload. ファイルの種類は .cer、.pem、.crt のいずれかである必要があります。It must be one of the following file types: .cer, .pem, .crt.
    3. [追加] を選択します。Select Add.
  3. クライアント シークレットを追加するには、次の手順を実行します。To add a client secret, follow these steps:

    1. [新しいクライアント シークレット] を選択します。Select New client secret.
    2. クライアント シークレットの説明を追加します。Add a description for your client secret.
    3. 期間を選択します。Select a duration.
    4. [追加] を選択します。Select Add.

注意

構成の変更を保存すると、右端の列にクライアント シークレットの値が格納されます。After you save the configuration changes, the right-most column will contain the client secret value. クライアント アプリケーションのコードで使用するので、必ず値をコピーしておいてください。このページを一度閉じると、値にアクセスできなくなります。Be sure to copy the value for use in your client application code as it's not accessible once you leave this page.

Web API にアクセスするためのアクセス許可を追加するAdd permissions to access web APIs

クライアントからリソース API にアクセスするためのアクセス許可を追加するには:To add permission(s) to access resource APIs from your client:

  1. アプリの [概要] ページで、 [API のアクセス許可] を選択します。From the app's Overview page, select API permissions.
  2. [アクセス許可の追加] ボタンを選択します。Select the Add a permission button.
  3. 既定では、ビューで [Microsoft API] から選択することができます。By default, the view allows you to select from Microsoft APIs. 次の中から、目的の API のセクションを選択します。Select the section of APIs that you're interested in:
    • [Microsoft API] - Microsoft Graph などの Microsoft API のアクセス許可を選択することができます。Microsoft APIs - Lets you select permissions for Microsoft APIs such as Microsoft Graph.
    • [所属する組織で使用している API] - 組織によって公開されている API、または組織が統合した API のアクセス許可を選択することができます。APIs my organization uses - Lets you select permissions for APIs that have been exposed by your organization, or APIs that your organization has integrated with.
    • [自分の API] - 自分で公開した API のアクセス許可を選択することができます。My APIs - Lets you select permissions for APIs that you have exposed.
  4. API を選択すると、 [API アクセス許可の要求] ページが表示されます。Once you've selected the APIs, you'll see the Request API Permissions page. 委任されたアクセス許可とアプリケーションのアクセス許可の両方を API が公開している場合は、アプリケーションに必要なアクセス許可の種類を選択します。If the API exposes both delegated and application permissions, select which type of permission your application needs.
  5. 完了したら、 [アクセス許可の追加] を選択します。When finished, select Add permissions. [API のアクセス許可] ページに戻ります。アクセス許可は保存され、テーブルに追加されています。You will return to the API permissions page, where the permissions have been saved and added to the table.

次の手順Next steps

以下のその他のアプリ管理関連のクイック スタートを学習します。Learn about these other related app management quickstarts for apps:

登録されたアプリケーションを表す 2 つの Azure AD オブジェクトと、両者間の関係については、Application objects and service principal objects(アプリケーション オブジェクトとサービス プリンシパル オブジェクト) を参照してください。To learn more about the two Azure AD objects that represent a registered application and the relationship between them, see Application objects and service principal objects.

Azure Active Directory でアプリケーションを開発するときに使用するブランド化ガイドラインについては、アプリケーションのブランド化ガイドラインを参照してください。To learn more about the branding guidelines you should use when developing applications with Azure Active Directory, see Branding guidelines for applications.