programing

Azure에서 "엔터프라이즈 애플리케이션"과 "앱 등록"의 차이점

nicescript 2023. 3. 14. 23:25
반응형

Azure에서 "엔터프라이즈 애플리케이션"과 "앱 등록"의 차이점

Azure의 '엔터프라이즈 애플리케이션'과 '앱 등록'의 차이점을 가르쳐 주시겠습니까?

예를 들어 일부 애플리케이션을 블레이드 "엔터프라이즈 애플리케이션"에서 등록할 수 없는 이유 및 그 반대 이유를 알려주시면 감사하겠습니다.

앱 등록은 앱과 URL을 Azure AD로 예약하여 Azure AD와 통신하고 회신 URL을 연결하며 AAD 서비스를 활성화하는 방법입니다.개발 중인 어플리케이션이 있고 Azure와 통합하고 싶은 경우 어플리케이션을 App Registrations에 등록해야 합니다.이 경우 회신 URL, 로그아웃 URL, API 액세스를 설정할 수 있습니다.애플리케이션을 등록할 때 Azure AD는 고유한 애플리케이션 ID를 할당하고 자격 증명, 사용 권한 및 로그온과 같은 특정 기능을 추가할 수 있도록 합니다.기본 설정에서는 앱이 등록된 테넌트의 사용자만 애플리케이션에 로그인할 수 있습니다.

엔터프라이즈응용 프로그램블레이드에는 서비스 주체 목록이 포함되어 있기 때문에 엔터프라이즈응용 프로그램블레이드는 앱 등록과 혼동될 수 있습니다.그러나 엔터프라이즈 앱이라는 용어는 일반적으로 AAD 갤러리에서 조직 내에서 사용할 수 있는 다른 회사가 게시한 애플리케이션을 가리킵니다.예를 들어 Facebook을 통합하고 조직 내에서 SSO를 관리하는 경우 응용 프로그램블레이드의 [Enterprise Applications]드롭다운에서 통합할 수 있습니다.고객님의 어플리케이션은 엔터프라이즈애플리케이션 블레이드에도 서비스 프린서펄로서 표시됩니다.이것은 테넌트 내 어플리케이션의 인스턴스화입니다.

앱 등록: https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-add-azure-ad-app

엔터프라이즈 애플리케이션 통합(G-Suite):https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/google-apps-tutorial

이것은, AAD에의 신규 개발자나 관리자에게 있어서 혼란스러울 가능성이 있습니다.Nitin의 답변은 이것을 요약하는 것은 훌륭하지만, 저는 문서 참조와 함께 답변을 추가하고 싶었습니다.

https://learn.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals 에는 다음과 같이 기재되어 있습니다.

애플리케이션 개체는 모든 테넌트에서 사용하기 위한 애플리케이션의 글로벌 표현이며 서비스 주체란 특정 테넌트에서 사용하기 위한 로컬 표현입니다.

그리고 https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-how-applications-are-added,에는 다음과 같이 표시됩니다.

앱 등록 환경을 통해 Azure 포털에서 애플리케이션 개체를 관리할 수 있습니다.어플리케이션 오브젝트는 어플리케이션을 Azure AD에 기술하고 어플리케이션의 정의로 간주할 수 있으므로 서비스는 설정에 따라 어플리케이션에 토큰을 발행하는 방법을 알 수 있습니다.

그리고.

엔터프라이즈 애플리케이션 환경을 통해 Azure 포털에서 서비스 프린서펄을 관리할 수 있습니다.서비스 프린서펄은 Azure AD에 접속하는 애플리케이션을 제어하는 것으로, 디렉토리내의 애플리케이션의 인스턴스로 간주할 수 있습니다.특정 응용 프로그램에 대해 최대 1개의 응용 프로그램 객체('홈' 디렉토리에 등록되어 있음)와 동작하는 모든 디렉터리에 응용 프로그램의 인스턴스를 나타내는1개 이상의 서비스 주체 객체를 포함할 수 있습니다.

따라서 타사 애플리케이션의 경우 엔터프라이즈 애플리케이션의 서비스 주체만 사용할 수 있습니다.내부적인 퍼스트 파티 앱의 경우, 앱의 정의(앱 등록)와 앱이 실제로 Azure AD(엔터프라이즈 애플리케이션)에 서명할 수 있도록 하는 두 가지 방법이 있습니다.앱 등록에서 퍼스트 파티 앱을 정의하면 엔터프라이즈 앱에도 자동으로 항목이 생성됩니다.2개의 엔트리를 보면, 애플리케이션 ID가 2개를 링크 하고 있는 것을 알 수 있습니다.

좀 더 쉽게 이해할 수 있는 방법은...앱 등록은 기본적으로 고유한 애플리케이션 ID를 생성하기 위해 등록된 테넌트/조직의 로컬 앱입니다.엔터프라이즈 애플리케이션 블레이드는 테넌트/조직 내에서 구성 및 사용할 수 있는 글로벌 애플리케이션(다른 테넌트에 속함)을 표시합니다.

워크플로우는 테넌트에 애플리케이션 등록(애플리케이션)을 생성하고 테넌트에 엔터프라이즈 애플리케이션(서비스 주체)도 생성합니다.그런 다음 다른 테넌트 사용자가 앱에 로그인하려고 하면 해당 사용자는 앱에 필요한 권한을 부여하고 해당 테넌트에 엔터프라이즈 애플리케이션(서비스 주체)이 생성됩니다.이는 테넌트에 있는 애플리케이션을 효과적으로 미러링합니다.

또한 애플리케이션 등록 내에서 OpenId-Connect(OpenID/)를 설정할 수 있습니다.OAuth) 기반 인증.엔터프라이즈 앱 내에서 SAML 기반 인증을 구성할 수 있습니다.

간단히 말하면 어플리케이션 등록은 어플리케이션의 자원 접근을 사용자 ID에 위임할 수 있는 글로벌 어플리케이션 오브젝트를 만듭니다.엔터프라이즈 어플리케이션은 각 AD 테넌트의 어플리케이션 ID(서비스 원칙)입니다.

여기 좋은 답변이 몇 가지 있지만 너무 장황해서 가장 간단한 것은 세 장의 사진과 한 장의 문장을 보여주는 것입니다.

  1. 등록에는 다음과 같은 "애플리케이션 개체"가 있습니다.

  2. 엔터프라이즈 애플리케이션 블레이드에 표시되는 내용을 이해하려면 "서비스 프린서펄"을 참조하십시오.

  3. 멀티 테넌트(Multi-tenant)의 예에서는 다음 두 가지 관계가 있습니다.

Adatum - HR 앱을 개발회사가 사용하는 테넌트

Contoso - Contoso 조직이 사용하는 테넌트. HR 앱의 소비자입니다.

Fabrikam - Fabrikam 조직이 사용하는 테넌트로 HR 앱도 소비합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

그리고 이제 우리는 이 말을 이해할 수 있습니다.

오브젝트 지향 프로그래밍의 클래스와 마찬가지로 어플리케이션오브젝트에는 생성된 모든 서비스 주체(또는 어플리케이션인스턴스)에 적용되는 스태틱 속성이 몇 가지 있습니다.애플리케이션 개체는 모든 테넌트에서 사용하기 위한 애플리케이션의 글로벌 표현이며 서비스 주체란 특정 테넌트에서 사용하기 위한 로컬 표현입니다.응용 프로그램오브젝트는 대응하는 서비스 주체 오브젝트를 작성하기 위해 공통 속성 및 기본 속성을 파생하는 템플릿으로 기능합니다.

다른 방식으로도 말합니다.

응용 프로그램 개체 - 예외가 있지만 응용 프로그램 개체는 응용 프로그램의 정의로 간주할 수 있습니다.

서비스 주체 - 응용 프로그램의 인스턴스로 간주할 수 있습니다.일반적으로 서비스 주체에서는 응용 프로그램개체를 참조합니다.또한 디렉토리 전체에서1개의 응용 프로그램개체를 여러 서비스 주체에서 참조할 수 있습니다.

참고 자료: https://learn.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals

언급URL : https://stackoverflow.com/questions/54071385/difference-between-enterprise-application-and-app-registration-in-azure

반응형