포털을 사용하여 리소스에 액세스할 수 있는 Azure Active Directory 응용 프로그램 및 서비스 주체 만들기Use portal to create an Azure Active Directory application and service principal that can access resources

리소스를 액세스하거나 수정해야 하는 코드가 있는 경우 Azure AD(Active Directory) 응용 프로그램을 설정합니다.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. 여기서는 응용 프로그램을 하나의 조직 내에서만 실행하게 되는 단일 테넌트 응용 프로그램을 중점적으로 다룹니다.It focuses on a single-tenant application where the application is intended to run within only one organization. 일반적으로 단일 조직 내에서 실행되는 LOB(기간 업무) 응용 프로그램에 대해 단일 테넌트 응용 프로그램을 사용하게 됩니다.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에 대한 자세한 내용은 Azure 리소스에 대한 관리 서비스 ID를 참조하세요.To learn more about Azure AD MSI, including which services currently support it, see Managed Service Identity for Azure resources.

필요한 사용 권한Required permissions

이 문서를 완료하려면 Microsoft Azure Active Directory 테넌트에 응용 프로그램을 등록하고 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.

Azure 구독 권한을 확인하려면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. 이 구독에 대한 전체 액세스 세부 정보를 보려면 여기를 클릭합니다. 를 선택합니다.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. 만들려는 응용 프로그램 유형으로 웹앱/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. Access Control(IAM) 을 선택합니다.Select Access Control (IAM).

    액세스 선택

  4. 추가를 선택합니다.Select Add.

    추가 선택

  5. 응용 프로그램에 할당할 역할을 선택합니다.Select the role you wish to assign to the application. 다음 이미지에서는 읽기 권한자 역할을 보여 줍니다.The following image shows the Reader 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