플러그 인 격리, 트러스트 및 통계

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365(온라인 및 온-프레미스)은 격리된 환경에서 플러그 인 및 사용자 지정 워크플로 활동 실행을 지원합니다.샌드박스로 알려진 이 격리된 환경에서 플러그 인 또는 사용자 지정 활동은 조직 웹 서비스에 액세스하는 Microsoft Dynamics 365 SDK의 모든 기능을 사용할 수 있습니다. 샌드박스에서는 파일 시스템, 시스템 이벤트 로그, 특정 네트워크 프로토콜, 레지스트리 등에 대한 액세스가 제한됩니다. 그러나 샌드박스 플러그 인 및 사용자 지정 활동은 Azure 클라우드 서비스 같은 외부 끝점에 대한 액세스가 있습니다.

Microsoft Dynamics 365은 런타임 통계를 수집하고 샌드박스에서 실행되는 플러그 인 및 사용자 지정 워크플로 활동을 모니터링합니다. 이 사용자 지정 코드를 호스팅하는 샌드박스 작업자 프로세스가 임계값 CPU, 메모리 또는 핸들 제한을 초과하거나 응답하지 않으면 플랫폼에서 프로세스가 중단됩니다. 현재 해당 작업자 프로세스에서 실행 중인 플러그 인 또는 사용자 지정 워크플로 활동은 예외와 함께 실패합니다. 그러나 다음에 플러그 인 또는 사용자 지정 워크플로 활동이 실행되면 정상적으로 실행됩니다. 조직 당 하나의 작업자 프로세스가 있으므로 한 조직에서의 실패는 다른 조직에 영향을 주지 않습니다.

즉, 샌드박스가 더 안전하고, 런타임 모니터링 및 통계 보고를 지원하며, 모든 Microsoft Dynamics 365 배포에서 지원되므로 플러그 인에 대해 권장되는 실행 환경입니다. 또한 Microsoft Dynamics 365(온라인)만 샌드박스에 사용자 지정 워크플로 활동이 등록되어 있을 경우 실행을 지원합니다.

신뢰

개발자는 샌드박스에서(부분 신뢰) 또는 샌드박스 외부에서(완전 신뢰) 플러그 인을 등록할 수 있는 옵션이 있습니다. 온-프레미스 및 인터넷 연결 Microsoft Dynamics 365 배포에서는 부분 신뢰가 지원됩니다.Microsoft Dynamics 365(온라인) 배포의 경우 플러그 인 또는 사용자 지정 워크플로 활동이 앞에서 설명한 대로 격리되어 샌드박스(부분 신뢰)에 등록되어 있어야 합니다.

중요

Microsoft Dynamics CRM 4.0 SDK를 사용하여 개발된 사용자 지정 워크플로 활동 및 플러그 인은 샌드박스 또는 Microsoft Dynamics 365(온라인)에서 실행할 수 없습니다.

런타임 통계

Microsoft Dynamics 365 플랫폼은 샌드박스에서 실행되는 플러그 인 및 사용자 지정 워크플로 활동에 대한 런타임 정보를 수집합니다. 이 정보는 PluginTypeStatistic 엔터티 레코드를 사용하여 데이터베이스에 저장됩니다. 이러한 레코드는 샌드박스가 적용된 사용자 지정 코드를 실행한 후 30분에서 한 시간 이내 채워집니다.PluginTypeStatistic 특성을 참조하여 수집된 정보를 알아봅니다. 검색 메시지 또는 메서드를 사용하여 이 정보를 검색할 수 있습니다.

웹 액세스

샌드박스가 적용된 플러그 인 및 사용자 지정 워크플로 활동은 HTTP 및 HTTPS 프로토콜을 통해 네트워크에 액세스할 수 있습니다. 이 기능은 소셜 사이트, 뉴스 피드, 웹 서비스 등과 같은 인기 있는 웹 리소스에 액세스하기 위한 지원을 제공합니다. 다음 웹 액세스 제한이 이 샌드박스 기능에 적용됩니다.

  • HTTP 및 HTTPS 프로토콜만 허용됩니다.

  • Localhost(루프백)에 대한 액세스는 허용되지 않습니다.

  • IP 주소를 사용할 수 없습니다.DNS 이름 확인이 필요한 명명된 웹 주소를 사용해야 합니다.

  • 익명 인증이 지원되고 권장됩니다. 로그온한 사용자 자격 증명을 확인하거나 이러한 자격 증명 저장에 대한 규정이 없습니다.

이러한 기본 웹 액세스 제한은 Microsoft.Crm.Sandbox.HostService.exe 프로세스를 실행하는 서버의 레지스트리 키에 정의되어 있습니다. 레지스트리 키의 값은 비즈니스 및 보안 요구에 따라 시스템 관리자가 변경할 수 있습니다. 서버의 레지스트리 키 경로:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\SandboxWorkerOutboundUriPattern

키 값은 웹 액세스 제한을 정의하는 정규식 문자열입니다. 기본 키 값:

"^http[s]?://(?!((localhost[:/])|(\[.*\])|([0-9]+[:/])|(0x[0-9a-f]+[:/])|(((([0-9]+)|(0x[0-9A-F]+))\.){3}(([0-9]+)|(0x[0-9A-F]+))[:/]))).+";

이 레지스트리 키 값을 변경하면 샌드박스가 적용된 플러그 인에 대한 웹 액세스를 변경할 수 있습니다.

System_CAPS_security 보안 참고

샌드박스 처리 서비스 역할 기본값은 아웃바운드 호출 활성화입니다. 사용자 지정 코드(플러그 인 또는 사용자 지정 워크플로 활동)에서 아웃바운드 호출을 허용하지 않으면 샌드박스 처리 서비스 역할을 호스팅하는 서버에서 다음 레지스트리 키를 1(DWORD)으 설정하여 아웃바운드 호출을 비활성화할 수 있습니다. 그런 다음 Microsoft Dynamics 365 샌드박스 처리 서비스를 다시 시작합니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM\SandboxWorkerDisableOutboundCalls

참고 항목

이벤트 프레임워크 소개
플러그 인 작성
사용자 지정 워크플로 활동 만들기
Microsoft Dynamics 365에 대한 Azure 확장
PluginTypeStatistic 엔터티 메시지 및 메서드
샘플: 샌드박스가 적용된 플러그 인에서 웹 액세스

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보