다중 테넌트 서버 간 인증 사용
게시 날짜: 2017년 1월
적용 대상: Dynamics 365 (online)
이것은 가장 일반적인 시나리오이며 Microsoft AppSource를 사용하여 배포되는 응용 프로그램에 사용되지만, Microsoft AppSource를 사용하는 응용 프로그램을 나열하지 않고 다중 테넌트를 사용할 수도 있습니다.
각 Dynamics 365(온라인) 조직은 Azure Active Directory(Azure AD) 테넌트와 연결됩니다. 웹 응용 프로그램이나 서비스는 자체 Azure AD로 등록됩니다.
이 시나리오에서 응용 프로그램에 데이터 액세스에 대한 동의를 부여한 후 모든 Dynamics 365(온라인) 테넌트는 다중 테넌트 응용 프로그램을 사용할 수 있습니다.
이 항목의 내용
요구 사항
개요: 응용 프로그램 개발 및 테스트
Dynamics 365에 등록된 응용 프로그램과 연결된 응용 프로그램 사용자를 만듭니다.
Dynamics 365 테넌트를 사용하여 응용 프로그램을 테스트합니다.
개별 Dynamics 365 테넌트를 사용하여 응용 프로그램을 테스트합니다.
응용 프로그램 사용자를 배포하는 방법 준비
요구 사항
서버 간(S2S) 인증을 사용하는 다중 테넌트 응용 프로그램을 만들고 테스트하려면 다음이 필요합니다.
응용 프로그램이나 서비스를 게시하는 데 사용할 Azure AD 테넌트입니다.
2 Dynamics 365(온라인) 구독
응용 프로그램이나 서비스를 게시하는 데 사용할 Azure AD 테넌트에 연결되어야 합니다.
평가판을 구독하여 구독자가 응용 프로그램에 액세스하는 방법을 테스트해 볼 수도 있습니다.
개요: 응용 프로그램 개발 및 테스트
게시할 때 사용할 Azure AD 테넌트로 만들 응용 프로그램을 등록해야 합니다.
개괄적으로 과정은 다음으로 구성됩니다.
Azure AD 테넌트로 등록된 다중 테넌트 웹 응용 프로그램을 만듭니다.
Dynamics 365(온라인) 테넌트에 등록된 응용 프로그램과 연결된 응용 프로그램 사용자를 만듭니다.
사용자 지정 보안 역할을 만들고 Dynamics 365(온라인) 테넌트의 응용 프로그램 사용자에게 할당합니다.
Dynamics 365(온라인) 테넌트를 사용하여 응용 프로그램을 테스트합니다.
개별 Dynamics 365(온라인) 테넌트를 사용하여 응용 프로그램을 테스트합니다.
이 프로세스의 전체 예제를 보려면 연습: 다중 테넌트 서버 간 인증 사용을 참조하십시오.
Azure AD 테넌트로 등록된 다중 테넌트 웹 응용 프로그램을 만듭니다.
Azure AD를 인증 공급자로 사용하는 다중 테넌트 웹 응용 프로그램이나 서비스를 만듭니다.
정확한 방법은 이 항목의 초점이 되지 않습니다. 접근할 수 있는 방법 및 사용자의 요구 사항 또는 선호에 맞는 옵션이 많습니다. 자세한 내용과 샘플은 다음 링크를 참조하십시오.
응용 프로그램을 등록하려면 Azure AD는 다음 값을 필요로 합니다.
값 |
설명 |
---|---|
응용 프로그램 ID URI |
응용 프로그램에 대한 식별자입니다. 이 값은 호출자가 어떤 응용 프로그램에 대한 토큰을 원하는지 나타내는 인증 중에 Azure AD에 보내집니다. 또한, 응용 프로그램에서 이 값이 의도된 대상이라는 것을 알 수 있도록 토큰에 이 값이 포함됩니다. |
응답 URL 및 리디렉션 URI |
이러한 웹 API 또는 웹 응용 프로그램의 경우 응답 URL는 인증이 성공적인 경우 Azure AD가 토큰을 포함하여 인증 응답을 보내는 위치입니다. |
클라이언트 ID |
응용 프로그램을 등록할 때 Azure AD에 의해 생성된 응용 프로그램 ID입니다. 인증 코드 또는 토큰을 요청할 때 클라이언트 ID와 키는 인증하는 동안 Azure AD로 보내집니다. |
키 |
웹 API를 호출하는 Azure AD에 인증할 때 클라이언트 ID와 함께 전송되는 키입니다. |
응용 프로그램이 등록될 때 등록된 응용 프로그램의 고유 식별자인 Azure Active Directory 개체 ID가 지정됩니다.
새 ASP.NET MVC 응용 프로그램을 Visual Studio 2015 로 만들면 응용 프로그램에서 다중 테넌트 기능을 지원하는지 지정하는 옵션을 갖습니다. MVC 응용 프로그램에 대한 템플릿은 발생하는 인증 종류를 지정할 수 있는 옵션을 제공합니다. 프로젝트를 만들 때 해당 프로젝트의 속성을 구성하여 인증 방법을 선택할 수 있는 옵션을 갖습니다. 다음 다이어그램은 사용할 수 있는 옵션을 보여줍니다.
이러한 옵션으로 프로젝트를 구성하는 경우 OWIN 미들웨어 및 이 시나리오를 지원하는 기본 응용 프로그램에 대한 스캐폴딩을 사용하도록 구성됩니다. 기본적인 몇 가지 수정으로 Dynamics 365(온라인)에서도 작동할 수 있습니다.연습: 다중 테넌트 서버 간 인증 사용에 해당 방법이 설명되어 있습니다.
개발을 위해 응용 프로그램을 만들고 등록하는 과정에서 게시하기 전에 내부에서 응용 프로그램을 테스트 및 디버깅할 수 있도록 대부분 https://localhost를 로그인 URL 및 응답 URL 값으로 사용할 것입니다. 응용 프로그램을 게시하기 전에 이러한 값을 변경해야 합니다.
응용 프로그램을 등록할 때 ClientSecret으로 알려진 키를 생성해야 합니다. 1년 또는 2년 동안 이러한 키를 구성할 수 있습니다. 응용 프로그램 호스트로서 사용자는 이 값을 암호로 취급해야 하며 키가 만료되기 전에 갱신을 관리하는 것이 사용자의 책임입니다.Azure 주요 자격 증명 모음를 사용하고자 할 수도 있습니다.추가 정보:https://azure.microsoft.com/en-us/services/key-vault/
응용 프로그램에 Dynamics 365(온라인) 데이터 액세스 권한 부여
Dynamics 365(온라인) 인스턴스가 Azure AD 테넌트와 연결되어야 하는 이유입니다. Azure AD 테넌트가 Dynamics 365(온라인) 테넌트와 연결되지 않은 경우 다음 단계를 수행하지 못할 수 있습니다.
https://portal.azure.com으로 이동하여 Azure Active Directory를 선택합니다.
응용 프로그램 등록을 클릭하고 Visual Studio를 사용하여 만든 응용 프로그램을 찾습니다.
응용 프로그램에 Dynamics 365(온라인) 데이터 액세스 권한을 부여해야 합니다.API 액세스 영역에서 필요한 권한을 클릭합니다.Windows Azure Active Directory에 대한 사용 권한을 이미 갖고 있는지 표시됩니다.
추가를 클릭하고 API 선택합니다. 목록에서 Dynamics 365, 선택 단추를 차례로 클릭합니다.
권한 선택에서 조직 사용자로 Dynamics 365 액세스를 선택합니다. 그런 다음 선택 단추를 클릭합니다.
완료를 클릭하여 이러한 권한을 추가합니다. 완료되면 적용된 권한이 표시됩니다.
Dynamics 365에 등록된 응용 프로그램과 연결된 응용 프로그램 사용자를 만듭니다.
응용 프로그램에서 응용 프로그램의 구독자 중 한 명의 Dynamics 365 데이터에 액세스하면 사용자 Dynamics 365 조직의 응용 프로그램 사용자를 요구합니다. 다른 Dynamics 365 사용자와 마찬가지로 이 응용 프로그램 사용자는 사용자가 액세스할 수 있는 데이터를 정의하는 하나 이상의 보안 역할에 연결되어야 합니다.
systemuser 엔터티는 이 데이터를 저장하는 세 개의 새 특성이 있습니다.
스키마 이름 |
표시 이름 |
그런 다음 |
설명 |
---|---|---|---|
ApplicationId |
응용 프로그램 ID |
UniqueidentifierType |
응용 프로그램에 대한 식별자입니다. 다른 응용 프로그램에서 데이터에 액세스하는 데 사용됩니다. |
ApplicationIdUri |
응용 프로그램 ID URI |
StringType |
외부 앱의 고유 논리 식별자로 사용되는 URI입니다. 응용 프로그램 유효성을 검사하는 데 사용할 수 있습니다. |
AzureActiveDirectoryObjectId |
Azure AD 개체 ID |
UniqueidentifierType |
응용 프로그램 디렉터리 개체 ID입니다. |
이 systemuserAzureActiveDirectoryObjectId 속성 값은 등록된 응용 프로그램의 Azure Active Directory 개체 ID에 대한 참조여야 합니다. 이 참조는 ApplicationId 값에 기반하여 응용 프로그램 사용자를 만들 때 Dynamics 365에서 설정됩니다.
참고
Dynamics 365 테넌트 및 관련 Azure AD 테넌트로 자신의 응용 프로그램 처음 개발할 때, 등록된 응용 프로그램이 이미 Azure AD 테넌트의 일부이므로 응용 프로그램 사용자를 간단하게 만들 수 있습니다.
그러나 테스트를 위해 다른 조직에서 응용 프로그램 사용자를 만들려면, 또는 구독자가 응용 프로그램을 사용할 때마다 먼저 해당 응용 프로그램에 대한 동의를 부여해야 합니다. 따라서 프로세스 단계는 다양합니다. 자세한 내용은 개별 Dynamics 365 테넌트를 사용하여 응용 프로그램을 테스트합니다.을 참조하십시오.
응용 프로그램 사용자에 대한 보안 역할 만들기
다음 단계에서는 Dynamics 365 응용 프로그램 사용자를 만듭니다. 사용자에 대한 권한 및 액세스 권한이 설정한 사용자 지정 보안 역할에 의해 정의됩니다. 응용 프로그램 사용자를 만들기 전에 사용자에게 연결할 수 있는 사용자 지정 보안 역할을 만들어야 합니다. 추가 정보: TechNet: 보안 역할 만들기 또는 편집
참고
응용 프로그램 사용자는 기본 Dynamics 365 보안 역할 중 하나와 연결할 수 없습니다. 사용자 지정 보안 역할을 만들어 응용 프로그램 사용자와 연결해야 합니다.
수동으로 Dynamics 365 응용 프로그램 사용자 만들기
이 사용자를 만드는 절차는 허가된 사용자를 만드는 것과 다릅니다. 다음 단계를 수행합니다.
설정 > 보안 > 사용자로 이동합니다.
보기 드롭다운에서 응용 프로그램 사용자를 선택합니다.
새로 만들기를 클릭합니다. 그 다음 응용 프로그램 사용자 양식을 사용하고 있는지 확인합니다.
양식에 응용 프로그램 ID, 응용 프로그램 ID URI 및 Azure AD 개체 ID가 표시되지 않는 경우 목록에서 응용 프로그램 사용자 양식을 선택해야 합니다.
필드에 적절한 값을 추가합니다.
필드
값
응용 프로그램 ID
Azure AD로 등록된 응용 프로그램에 대한 응용 프로그램 ID 값입니다.
전체 이름
응용 프로그램의 이름입니다.
기본 전자 메일
귀하에게 연락하기 위해 구독자가 사용할 전자 메일 주소입니다.
사용자 이름, 응용 프로그램 ID URI 및 Azure AD 개체 ID 필드는 잠겨 있으며 이 필드의 값을 설정할 수 없습니다.
이 사용자를 만들 때 이러한 필드에 대한 값은 사용자를 저장할 때 응용 프로그램 ID 값을 기준으로 Azure AD에서 검색됩니다.
응용 프로그램 사용자에 대한 보안 역할 만들기에서 만든 사용자 지정 보안 역할에 응용 프로그램 사용자를 연결합니다. 추가 정보: TechNet: 사용자에게 보안 역할 할당
Dynamics 365 테넌트를 사용하여 응용 프로그램을 테스트합니다.
Azure AD 테넌트로 응용 프로그램을 등록하고 개발 조직의 응용 프로그램 사용자가 이미 구성되어 있으므로 귀하의 고유 Dynamics 365 테넌트에 대한 응용 프로그램을 계속하여 개발할 수 있습니다. 하지만이는 다중 테넌트 기능의 올바른 테스트는 아닙니다. 개별 Dynamics 365 테넌트에서 응용 프로그램을 테스트해야 합니다.
개별 Dynamics 365 테넌트를 사용하여 응용 프로그램을 테스트합니다.
개별 Dynamics 365 테넌트로 응용 프로그램을 테스트하기 전에 Azure AD 테넌트 관리자는 응용 프로그램에 대한 동의를 부여해야 합니다. 관리자가 브라우저를 사용하여 응용 프로그램으로 이동하여 동의를 부여합니다. 처음으로 응용 프로그램에 액세스할 때 다음과 같은 대화 상자가 표시됩니다.
동의를 부여할 때 등록된 응용 프로그램이 Azure AD Enterprise 응용 프로그램 목록에 추가되며 Azure AD 테넌트 사용자가 사용할 수 있습니다.
관리자가 동의를 부여한 후 구독자의 Dynamics 365 테넌트의 응용 프로그램 사용자를 만들어야 합니다.수동으로 Dynamics 365 응용 프로그램 사용자 만들기에 설명된 단계를 따라 응용 프로그램 사용자를 수동으로 만들 수 있습니다.
초기 테스트에 수동으로 이 단계를 수행하는 것이 좋습니다. 응용 프로그램이나 서비스가 구독자가 사용할 수 있도록 준비가 되면 더 효율적인 절차를 원할 것입니다. 이것은 다음 섹션에서 다룹니다.
응용 프로그램 사용자를 배포하는 방법 준비
가입자가 귀하의 응용 프로그램 또는 서비스에 대한 동의를 부여한 후 그들이 응용 프로그램 사용자 및 기타 필수 구성 요소를 자신의 Dynamics 365 조직에 추가하기 위한 쉽고 안정적인 방법이 필요합니다.
응용 프로그램에 필요한 권한이 무엇인지 정의하는 사용자 지정 보안 역할을 포함한 다음 응용 프로그램 사용자가 해당 사용자 지정 보안 역할에 연결되었는지 확인해야 합니다. 솔루션에 사용자 지정 보안 역할이 포함될 수 있습니다. 따라서 사용자 지정 보안 역할과 응용 프로그램에서 요구하는 기타 솔루션 구성 요소에 대한 정의가 포함된 관리형 솔루션을 준비해야 합니다.
사용자 지정 보안 역할을 만드는 방법에 대한 정보는 다음을 참조하십시오.
Dynamics 365 솔루션을 만드는 방법은 다음 항목을 참조하십시오.
그러나 응용 프로그램의 사용자를 솔루션에 포함할 수 없습니다. 따라서 응용 프로그램 사용자를 만들고 사용자 지정 보안 역할에 연결할 수 있는 방법을 제공해야 합니다.
이를 위해 Microsoft Dynamics 365 SDK를 사용하여 고유 프로그램을 작성하고 구독자가 프로그램을 실행하도록 하는 등 여러 방법이 있습니다.
Microsoft Dynamics 365 SDK는 다른 Dynamics 365 조직에 솔루션과 데이터를 자동으로 전송하는 패키지를 준비하기 위해 사용할 수 있는 CRM 패키지 배포자 응용 프로그램을 제공합니다.추가 정보:Dynamics 365 Package Deployer에 대한 패키지 만들기
참고 항목
연습: 다중 테넌트 서버 간 인증 사용
단일 테넌트 서버 간 인증 사용
서버 간(S2S) 인증을 사용하여 웹 응용 프로그램 구축
Microsoft Dynamics 365에 연결
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 저작권 정보