다음을 통해 공유


Orchestrator 데이터 암호화

 

게시 날짜: 2016년 3월

적용 대상: System Center 2012 SP1 - Orchestrator, System Center 2012 - Orchestrator, System Center 2012 R2 Orchestrator

다음 섹션에서는 Orchestrator의 데이터 암호화에 대해 설명합니다.

  • Orchestrator에서 암호화 및 암호 해독되는 데이터

  • Orchestrator에서 암호화된 데이터 관리 방법

  • Orchestrator 인스턴스 간에 데이터를 이동하는 방법

암호화된 변수에 대한 모범 사례

System Center 2012에 도입된, Orchestrator의 암호화된 변수를 통해 변수를 더욱 안전하게 사용하여 Runbook 작업에 중요한 데이터를 제공할 수 있습니다. 암호화된 변수는 정확히 표준 전역 변수와 마찬가지로 사용됩니다. 즉, 구독을 통해 사용됩니다. 다시 게시된 작업 필드의 이러한 변수를 구독하는 경우 데이터 버스에 변수 콘텐츠를 공개할 수 있습니다. 이 때문에 암호화된 변수는 다시 게시되지 않는 필드에서만 구독해야 합니다. 이 모범 사례는 Orchestrator로 강제 적용되지 않지만 계획 프로세스의 일부여야 합니다.

그러나 암호화된 데이터를 다른 시스템(예: 다른 서버에서 실행하는 제품)에 전송하기 위해 데이터 버스에 게시해야 하는 경우 제품의 채널이 안전한지 확인해야 합니다. 예를 들어, BMC Remedy는 안전한 연결 모드를 지원하고, 웹 인터페이스가 포함된 제품은 보통 HTTPS 프로토콜을 사용하는 SSL(Secure Sockets Layer) 연결 사용을 허용합니다.

Orchestrator에서 암호화 및 암호 해독되는 데이터

Orchestrator는 Orchestrator 플랫폼의 암호화된 데이터를 생성하는 데 사용되는 암호화 및 암호 해독 서비스의 코드 집합을 제공합니다. 이러한 서비스는 Orchestrator 데이터베이스의 암호화를 위해 플래그 지정된 데이터를 보호하고, Runbook의 일부로 사용할 수 있도록 데이터를 일반 텍스트로 암호 해독하는 데 사용됩니다. 이러한 주요 암호화 서비스는 Orchestrator 데이터베이스 및 Management server를 통해 관리됩니다. 이러한 서비스에 대한 권한은 Orchestrator 사용자 그룹 또는 Orchestrator 시스템 그룹의 멤버 자격을 통해 부여됩니다.

참고

Orchestrator Runbook은 외부 암호화 서비스를 통해 암호화되고 Runbook 게시된 데이터로 사용되는 데이터를 포함할 수 있습니다. Orchestrator는 외부 시스템 등에서 들어온 데이터를 다른 데이터와 다르게 처리하지 않습니다.

Orchestrator는 다음과 같은 제품 기능 영역에서 암호화를 사용합니다.

기능 영역 설명
Runbook 작업 필드의 한 유형이 암호화된 속성인 경우 마스킹되는 모든 속성. 여기에는 보안 자격 증명 탭이 포함되지만 다른 속성도 포함될 수 있습니다.
옵션 메뉴 옵션 메뉴는 자격 증명과 통합 팩을 구성하는 데 사용되는 기타 정보를 저장하는 데 사용됩니다. 연결 설정의 속성은 암호화된 속성을 포함할 수 있습니다.
변수 암호화된 변수 확인란을 선택한 변수가 암호화됩니다.

참고

암호화된 변수는 암호화된 값(예: Runbook 작업에 사용되는 암호)을 요구하는 속성의 구독을 통해 사용됩니다. 암호화된 변수가 암호화되지 않은 필드를 구독하는 경우 암호화된 값이 지정됩니다. 일반 텍스트 값은 암호화된 속성에 사용될 때만 사용 가능합니다.

Orchestrator에서 암호화된 데이터 관리 방법

Orchestrator는 핵심 암호화 서비스를 제공하며, 이 서비스는 SQL Server 셀 수준의 암호화를 사용하는 AES에 기반하도록 설계되어 있습니다. 따라서 모든 암호화 및 암호 해독은 SQL Server를 통해 중앙 집중식으로 수행됩니다. 암호화 키도 SQL Server를 통해 중앙 집중식으로 관리됩니다. SQL Server 서비스 마스터 키와 Orchestrator 데이터베이스 마스터 키는 데이터를 암호화 및 암호 해독하는 데 필요합니다.

Orchestrator는 런타임과 디자인 타임 환경 모두에서 암호화를 사용합니다. Runbook 제작자는 Runbook Designer의 Runbook 작업과 상호 작용하며, 보통 이러한 작업은 외부 시스템과 상호 작용하여 속성 표, 목록 값 및 기타 속성을 "검색"합니다. 마찬가지로, Runbook Tester에서 Runbook을 테스트할 때 보호 필드에 제공되어 있는 암호화된 데이터를 대상 시스템으로 전달할 수 있도록 암호 해독해야 합니다. 마지막으로 Runbook이 외부 시스템과 상호 작용하려면 Runbook Server에서 암호화된 데이터를 암호 해독할 수 있어야 합니다. 따라서 Runbook Servers, Runbook Designer 및 Runbook Tester에서 데이터베이스 암호화 서비스에 액세스할 수 있어야 합니다.

핵심 암호화 서비스가 Orchestrator 데이터베이스에 상주하므로, 데이터베이스에 대한 액세스는 본질적으로 암호화되지 않은 데이터에 대한 액세스를 정의합니다.

  • Runbook 서버는 데이터베이스에 직접 액세스합니다. 따라서 SQL Server에서 제공하는 암호화 서비스에 직접 액세스합니다. SQL Server에서 제공하는 암호화 서비스에 대한 런타임 액세스 권한은 Orchestrator 시스템 그룹의 구성원으로 제한됩니다.

  • Runbook Designer 및 Runbook Tester는 Management Server를 통해 간접적으로 데이터베이스에 액세스합니다. Management Server는 Runbook Designer 및 Runbook Tester의 암호화/암호 해독을 위한 요청을 전달하는 새로운 서비스를 제공합니다. Runbook 제작자 및 이러한 자격 증명의 보안 컨텍스트를 통해 전달되는 Management Server는 암호화 서비스에 액세스하는 데 사용됩니다. SQL Server에서 제공하는 암호화 서비스에 대한 디자인 타임 액세스 권한은 Orchestrator 사용자 그룹의 구성원으로 제한됩니다.

Orchestrator에서 암호화된 데이터에 액세스하는 권한은 Orchestrator 사용자 그룹 및 Orchestrator 시스템 그룹을 통해 관리됩니다. 이러한 두 보안 그룹의 구성원은 기본적으로 주요 암호화 서비스에 액세스하는 권한과 데이터베이스에 저장되어 있는 암호화된 데이터를 해독하는 권한을 비롯하여 Orchestrator에 대한 다양한 관리자 액세스 권한을 보유합니다.

Orchestrator 인스턴스 간에 데이터를 이동하는 방법

Orchestrator 데이터베이스가 설치될 때 데이터베이스 마스터 암호화 키가 생성됩니다. 이 데이터베이스 마스터 키를 SQL Server 마스터 키와 함께 사용하여 Orchestrator 데이터베이스에 저장된 데이터를 암호화하고 암호 해독할 수 있습니다. 즉 암호화된 데이터는 기본적으로, 데이터가 암호화된 SQL Server 2008 R2의 인스턴스에 "입력"됩니다. 예를 들어, 데이터베이스 마스터 키와 서버 마스터 키가 모두 데이터가 암호화된 시스템의 마스터 키와 일치하지 않는 한 SQL Server 2008 R2의 한 인스턴스 열에서 암호화된 문자열을 "복사"하여 그 값을 Orchestrator 데이터베이스의 다른 인스턴스에 값을 "붙여넣어서" 데이터를 암호 해독할 수 없습니다.

따라서 Orchestrator 인스턴스 간에 암호화된 데이터를 이동하려면 다음과 같은 두 상황 중 하나여야 합니다.

  1. SQL Server 서비스 마스터 키와 Orchestrator 데이터베이스 마스터 키가 처음 데이터를 암호화했던 시스템의 키와 동일합니다.

  2. Runbook 및 관련 암호화된 데이터를 내보냈다가 새 시스템으로 가져옵니다.

기본적으로, 내보내기 기능이 내보내기 파일을 만들며, 이 파일의 암호화된 데이터는 내보내기 중 사용자가 제공한 암호로 암호화됩니다. 이 내보내기 파일에는 가져오기 중 동일한 암호를 제공하여 암호화할 수 있는 암호화된 데이터가 포함됩니다. 이 데이터는 새 데이터베이스에 대한 암호화 키를 사용하여 암호화되고 데이터베이스에 저장됩니다.