リソースにアクセスできる Azure Active Directory アプリケーションとサービス プリンシパルをポータルで作成するUse portal to create an Azure Active Directory application and service principal that can access resources

コードでリソースにアクセスしたり変更を加えたりするには、Azure Active Directory (AD) アプリケーションをセットアップする必要があります。When you have code that needs to access or modify resources, you must set up an Azure Active Directory (AD) application. そして、AD アプリケーションに必要な権限を割り当てます。You assign the required permissions to AD application. このアプローチは、自分の資格情報の下でアプリを実行するよりも優れています。自分のアクセス許可とは異なるアプリ ID に対してアクセス許可を割り当てることができるためです。This approach is preferable to running the app under your own credentials because you can assign permissions to the app identity that are different than your own permissions. 通常、こうしたアクセス許可は、アプリが行う必要があることに制限されます。Typically, these permissions are restricted to exactly what the app needs to do.

この記事では、ポータル経由でそれらの手順を実行する方法を示しています。This article shows you how to perform those steps through the portal. ここでは、シングル テナント アプリケーション (1 つの組織内でのみ実行することを目的としたアプリケーション) に焦点を絞って説明します。It focuses on a single-tenant application where the application is intended to run within only one organization. 一般に、組織内で実行される基幹業務アプリケーションには、シングル テナント アプリケーションが使用されます。You typically use single-tenant applications for line-of-business applications that run within your organization.

重要

サービス プリンシパルを作成する代わりに、アプリケーション ID 用に Azure AD の管理対象サービス ID を使用することを検討します。Instead of creating a service principal, consider using Azure AD Managed Service Identity for your application identity. Azure AD の MSI は、コードのために ID の作成を簡略化する、Azure Active Directory のパブリック プレビュー機能です。Azure AD MSI is a public preview feature of Azure Active Directory that simplifies creating an identity for code. コードが、Azure AD の MSI をサポートするサービス上で実行され、Azure Active Directory 認証をサポートするリソースにアクセスする場合、Azure AD の MSI は優れた選択肢となります。If your code runs on a service that supports Azure AD MSI and accesses resources that support Azure Active Directory authentication, Azure AD MSI is a better option for you. Azure AD の MSI の詳細 (どのサービスが現在 MSI をサポートしているかなど) については、「Azure リソースの管理対象サービス ID」を参照してください。To learn more about Azure AD MSI, including which services currently support it, see Managed Service Identity for Azure resources.

必要なアクセス許可Required permissions

この記事の手順を実行するには、アプリケーションを Azure AD テナントに登録し、Azure サブスクリプションでアプリケーションをロールに割り当てるための十分なアクセス許可が必要です。To complete this article, you must have sufficient permissions to register an application with your Azure AD tenant, and assign the application to a role in your Azure subscription. これらの手順を実行するための適切なアクセス許可があることを確認しましょう。Let's make sure you have the right permissions to perform those steps.

Azure Active Directory のアクセス許可を確認するCheck Azure Active Directory permissions

  1. [Azure Active Directory] を選択します。Select Azure Active Directory.

    [Azure Active Directory] を選択する

  2. Azure Active Directory で [ユーザー設定] を選択します。In Azure Active Directory, select User settings.

    [ユーザー設定] を選択する

  3. [アプリの登録] 設定を確認します。Check the App registrations setting. [はい] に設定されている場合は、管理者以外のユーザーが AD アプリを登録できます。If set to Yes, non-admin users can register AD apps. この設定は、Azure AD テナント内のすべてのユーザーがアプリを登録できることを意味します。This setting means any user in the Azure AD tenant can register an app. この場合、「Azure サブスクリプションのアクセス許可を確認する」に進んで構いません。You can proceed to Check Azure subscription permissions.

    [アプリの登録] を表示する

  4. アプリの登録設定が [いいえ] に設定されている場合は、グローバル管理者だけがアプリを登録できます。If the app registrations setting is set to No, only global administrators can register apps. お使いのアカウントが Azure AD テナントの管理者かどうかを確認します。Check whether your account is an admin for the Azure AD tenant. [概要] を選択し、ユーザー情報を確認します。Select Overview and look at your user information. アカウントがユーザー ロールに割り当てられていても、(前の手順の) アプリの登録設定が管理者ユーザーに制限されている場合は、管理者に連絡して、グローバル管理者ロールに割り当ててもらうか、ユーザーがアプリを登録できるようにしてもらいます。If your account is assigned to the User role, but the app registration setting (from the preceding step) is limited to admin users, ask your administrator to either assign you to the global administrator role, or to enable users to register apps.

    ユーザーを検索する

Azure サブスクリプションのアクセス許可を確認するCheck Azure subscription permissions

Azure サブスクリプションで、AD アプリをロールに割り当てるには、アカウントに Microsoft.Authorization/*/Write アクセス権が必要です。In your Azure subscription, your account must have Microsoft.Authorization/*/Write access to assign an AD app to a role. このアクションは、所有者ロールまたはユーザー アクセス管理者ロールを通じて許可されます。This action is granted through the Owner role or User Access Administrator role. アカウントが共同作成者ロールに割り当てられている場合は、適切なアクセス許可がありません。If your account is assigned to the Contributor role, you do not have adequate permission. この場合、サービス プリンシパルをロールに割り当てようとすると、エラーが発生します。You receive an error when attempting to assign the service principal to a role.

サブスクリプションのアクセス許可を確認するには、次の手順に従います。To check your subscription permissions:

  1. 右上隅にあるアカウントを選択し、[アクセス許可] を選択します。Select your account in the upper right corner, and select My permissions.

    ユーザー アクセス許可の選択

  2. ドロップダウン リストでサブスクリプションを選択します。From the drop-down list, select the subscription. [Click here to view complete access details for this subscription](サブスクリプションの完全なアクセスの詳細を表示するにはここをクリック) を選択します。Select Click here to view complete access details for this subscription.

    ユーザーを検索する

  3. 割り当て済みのロールを表示し、AD アプリをロールに割り当てるための適切なアクセス許可があるかどうかを確認します。View your assigned roles, and determine if you have adequate permissions to assign an AD app to a role. ない場合は、サブスクリプション管理者に連絡して、ユーザー アクセス管理者ロールに追加してもらいます。If not, ask your subscription administrator to add you to User Access Administrator role. 次の図では、ユーザーは所有者ロールに割り当てられているので、このユーザーには適切なアクセス許可があります。In the following image, the user is assigned to the Owner role, which means that user has adequate permissions.

    アクセス許可を表示する

Azure Active Directory アプリケーションを作成するCreate an Azure Active Directory application

  1. Azure Portal で Azure アカウントにログインします。Log in to your Azure Account through the Azure portal.
  2. [Azure Active Directory] を選択します。Select Azure Active Directory.

    [Azure Active Directory] を選択する

  3. [アプリの登録] を選択します。Select App registrations.

    [アプリの登録] を選択する

  4. [新しいアプリケーションの登録] を選択します。Select New application registration.

    アプリを追加する

  5. アプリケーションの名前と URL を指定します。Provide a name and URL for the application. 作成するアプリケーションの種類として、[Web アプリ/API] を選択します。Select Web app / API for the type of application you want to create. ネイティブ アプリケーションの資格情報を作成することはできません。したがって、このタイプは、自動化されたアプリケーションでは正しく機能しません。You cannot create credentials for a Native application; therefore, that type does not work for an automated application. 値を設定したら、[作成] をクリックします。After setting the values, select Create.

    アプリケーションの名前指定

これでアプリケーションが作成されます。You have created your application.

アプリケーション ID と認証キーを取得するGet application ID and authentication key

プログラムによってログインするときは、アプリケーションの ID と認証キーが必要です。When programmatically logging in, you need the ID for your application and an authentication key. これらの値を取得するには、次の手順に従います。To get those values, use the following steps:

  1. Azure Active Directory の [アプリの登録] で、アプリケーションを選択します。From App registrations in Azure Active Directory, select your application.

    アプリケーションを選択する

  2. アプリケーション ID をコピーし、アプリケーション コードに保存します。Copy the Application ID and store it in your application code. 一部のサンプル アプリケーションでは、この値はクライアント ID と呼ばれます。Some sample applications refer to this value as the client ID.

    クライアント ID

  3. 認証キーを生成するには、[設定] を選択します。To generate an authentication key, select Settings.

    設定を選択

  4. 認証キーを生成するには、[キー] を選択します。To generate an authentication key, select Keys.

    [キー] を選択する

  5. キーの説明を入力し、キーの期間を指定します。Provide a description of the key, and a duration for the key. 操作が完了したら、[保存] をクリックします。When done, select Save.

    キーを保存する

    キーを保存すると、キーの値が表示されます。After saving the key, the value of the key is displayed. キーは後で取得できないため、この値をコピーしておきます。Copy this value because you are not able to retrieve the key later. キー値は、アプリケーションとしてログインする際にアプリケーション ID と共に入力します。You provide the key value with the application ID to log in as the application. アプリケーションが取得できる場所にキー値を保存します。Store the key value where your application can retrieve it.

    保存されたキー

テナント ID を取得するGet tenant ID

プログラムによってログインするときは、認証要求と共にテナント ID を渡す必要があります。When programmatically logging in, you need to pass the tenant ID with your authentication request.

  1. [Azure Active Directory] を選択します。Select Azure Active Directory.

    [Azure Active Directory] を選択する

  2. テナント ID を取得するには、Azure AD テナントの [プロパティ] を選択します。To get the tenant ID, select Properties for your Azure AD tenant.

    Azure AD のプロパティを選択する

  3. ディレクトリ ID をコピーします。Copy the Directory ID. この値がテナント ID です。This value is your tenant ID.

    テナント ID

アプリケーションをロールに割り当てるAssign application to role

サブスクリプション内のリソースにアクセスするには、アプリケーションをロールに割り当てる必要があります。To access resources in your subscription, you must assign the application to a role. アプリケーションにとって適切なアクセス許可を表すのはどのロールであるかを判断します。Decide which role represents the right permissions for the application. 利用可能なロールについては、「RBAC: 組み込みのロール」を参照してください。To learn about the available roles, see RBAC: Built in Roles.

スコープは、サブスクリプション、リソース グループ、またはリソースのレベルで設定できます。You can set the scope at the level of the subscription, resource group, or resource. アクセス許可は、スコープの下位レベルに継承されます。Permissions are inherited to lower levels of scope. たとえば、アプリケーションをリソース グループの閲覧者ロールに追加すると、アプリケーションではリソース グループとそれに含まれているすべてのリソースを読み取ることができます。For example, adding an application to the Reader role for a resource group means it can read the resource group and any resources it contains.

  1. アプリケーションを割り当てるスコープのレベルに移動します。Navigate to the level of scope you wish to assign the application to. たとえば、サブスクリプション スコープでロールを割り当てるには、[サブスクリプション] を選択します。For example, to assign a role at the subscription scope, select Subscriptions. リソース グループまたはリソースを選択することもできます。You could instead select a resource group or resource.

    サブスクリプションを選択する

  2. アプリケーションを割り当てる特定のサブスクリプション (リソース グループまたはリソース) を選択します。Select the particular subscription (resource group or resource) to assign the application to.

    割り当てのためのサブスクリプションの選択

  3. [アクセス制御 (IAM)] を選択します。Select Access Control (IAM).

    アクセスの選択

  4. [追加] を選択します。Select Add.

    select add

  5. アプリケーションに割り当てるロールを選択します。Select the role you wish to assign to the application. 次の図は、閲覧者ロールを示しています。The following image shows the Reader role.

    select role

  6. 既定では、Azure Active Directory アプリケーションは、使用可能なオプションに表示されません。By default, Azure Active Directory applications aren't displayed in the available options. 目的のアプリケーションを見つけるには、その名前を検索フィールドに指定する必要があります。To find your application, you must provide the name of it in the search field. それを選択します。Select it.

    アプリを検索する

  7. [保存] を選択して、ロールの割り当てを完了します。Select Save to finish assigning the role. 該当のスコープのロールに割り当てられたユーザーの一覧にアプリケーションが表示されます。You see your application in the list of users assigned to a role for that scope.

次の手順Next steps