Windows Azure: Windows Azure의 보안 계정 관리의 이해

클라우드 컴퓨팅은 보안 관리에 대 한 IT 전문가의 부담을 어느 정도 줄일 수 있지만 여전히 액세스 관리, 통신 보안, 데이터 보호에 관여 해야 합니다.

Joshua Hoffman

IT 업계, 클라우드 컴퓨팅은 인터넷의 등장 이후로 그것에 비해 가장 큰 패러다임의 변화 라고 해도 과언이 아닙니다. 더 높은 대역폭, 더 저렴 한 스토리지 및 강력한 가상화 기술은 Software as a Service (SaaS) 비전이 현실화 되었습니다. 클라우드는 더 적은 비용과 노력으로 더 많은 성과를 추구 하는 현대인의 수요를 충족 하 고 확장 가능한 결제 제 용수철 같은 다른 시스템을 제공 합니다.

클라우드 컴퓨팅은 IT 전문가가 인프라 관리에 대 한 책임에서 자유로울 수는 있지만 보안은 여전히 큰 문제입니다. 보안과 관련 하 여 물리적 데이터 센터와 같은 수준의 배려와 주의가 필요 합니다. 응용 프로그램이 나 서비스가 같은 Windows Azure 클라우드 컴퓨팅 플랫폼으로 전환 하 여 계속 해 서, 액세스 관리, 통신 보안, 중요 한 비즈니스 데이터의 보호에 적극적인 역할을 수행 해야 합니다.

Windows Azure에서 호스팅되는 응용 프로그램 및 서비스의 보안 관리에 관한 몇 가지 권장 방법입니다. 관리자 계정을 만들고 관리 하는 방법 및 인증을 위해 인증서를 사용 하는 방법, 직원 채용 및 퇴직 시의 트랜잭션을 처리 하는 방법은 모두 최적의 방법이 있습니다. 이 문서에서는 그것을 소개 합니다.

Account Ownership

The Microsoft Online Services Customer Portal (MOCP) handles all Windows Azure account management and billing. MOCP에서는 Windows Azure 서비스를 구매 하거나 SQL Azure 같은 다른 서비스를 추가 하거나 기존 서비스 (또는 구독)의 새 인스턴스를 만들 수 있습니다.

구독은 Windows Azure 서비스의 청구 범위에 불과합니다. 다양 한 형태의 청구 해야 하는 응용 프로그램에 대해 별도의 구독을 관리할 수 있습니다. 예를 들어 Windows Azure에서 응용 프로그램을 호스트 하 고 별도의 결제 처리가 필요한 부서를 할 경우에는 필요한 경비 명세를 설정한 개별 구독을 만들 수 있습니다.

각 구독에 대해 계정 소유자의 계정과 서비스 관리자 계정을 식별 해야 합니다. 이러한 계정은 Windows Live ID와 연관 됩니다. 계정 소유자는 MOCP에서 구독 관리 및 결제 처리를 할 의무가 있습니다. The account admin has to manage the technical aspects of the subscription, including the creation of hosted services, through the Windows Azure Management Portal.

이러한 역할에 대해 고유한 계정을 만드는 것이 좋습니다. 또한 이러한 계정은 개인이 사용할 계정을 별도로 제공 해야 합니다. 즉, 조직 구조 나 팀에서 구독을 사용 하는 경우 서비스 계정 소유자 또는 관리자 계정에 개인이 소유 하 고 있는 Windows Live ID는 사용 하지 마십시오. 대신 고유한 계정을 만들어 보관할 수 있고 필요에 따라 암호를 다시 설정할 수 있도록 하 고 있습니다 (계정 소유자 계정 이름은 AO [고유 ID] @ live.com과 같은 명명 규칙을 사용 하 여 서비스 관리자의 계정 이름에는 AA [고유 ID] @ live.com과 같은 명명 규칙을 사용할 수 있습니다.)

구독을 만든 후에는 서비스 관리자는 Windows Azure Management Poral를 사용 하 여 호스팅된 서비스를 관리할 수 있습니다. 이 포털에는 서비스 관리자 계정의 자격 증명을 사용 하 여 액세스할 수 있습니다. 포털에 로그인 한 후 새 호스팅되는 서비스 작성을 시작 합니다 (그림 1 참고).

Figure 1 Creating a new Hosted Service in Windows Azure

그림 1에서 새로운 Windows Azure 호스팅된 서비스를 만들려면

새 호스팅된 서비스를 만드는 경우에는 서비스의 이름을 지정 해야 합니다. 또한 URL 접두사 및 배포 옵션을 지정 해야 합니다. 이미 패키지화 된 응용 프로그램을가지고 있는 경우에는 Visual Studio와 같은 개발 환경에서 기존 패키지 (.cspkg) 및 구성 파일 (.cscfg)을 선택할 수도 있습니다.

포털의 왼쪽에 있는 [Hosted Services] (호스팅 서비스) 탭의 [User Management] (사용자 관리자)을 선택할 수 있습니다. 이 섹션에서는 구독 공동 관리자를 추가할 수 있습니다 (그림 2 참고). 공동 관리자를 설정 하면 호스트 되는 응용 프로그램 관리 화면에 액세스할 수 있는 사용자가 더 많은 유연성을 향상 시킬 수 있습니다.

Figure 2 Adding new administrators to the subscription

그림 2구독에 새 관리자를 추가 하려면

Certificate Management

인증서는 Windows Azure 보안에 있어 중요 한 요소입니다. There are two different kinds of certificates that play a role in securing your applications or services: service certificates and management certificates.

서비스 인증서를 사용 하면 끝점의 통신 보호에 사용 되는 기존 SSL 인증서입니다. 예를 들어, IIS에서 호스팅하는 웹 사이트의 SSL 보안을 구성 해 본 경험이 있으면이 형식의 인증서에 아마 잘 알고 있을 것 이다. 프로덕션 환경에서의 배포에는 신뢰할 수 있는 루트 인증 기관에서 발급 한 서버 인증서가 필요 합니다. 따라서 VeriSign 또는 DigiCert과 같은 타사 공급 업체에서 인증서를 구입 해야 합니다.

The list of trusted root CAs is maintained here (for Microsoft Windows) and here (for Microsoft Windows Phone 7). SSL 인증서의 이름이 웹 사이트의 도메인 이름과 일치 해야 합니다. DNS의 CNAME 항목에서 yourapp.cloudapp.net (Azure Windows와 함께 제공 된 응용 프로그램에 대 한 도메인 이름)을 www.yourcompany.com에 매핑할 수 있습니다. 보안상의 이유로 yourapp.cloudapp.net에 매핑된 인증서를 구입할 수 없습니다. Cloudapp.net의 인증서를 게시 하려면 마이크로소프트 뿐입니다. 그러나 개발 목적으로 자체 서명 된 인증서를 만들 수 있습니다.

자체 서명 된 인증서는 최종 사용자가 사용 하는 웹 브라우저에서 신뢰할 수 없기 때문에, 자체 서명 된 인증서는 테스트 목적으로 제한 하는 것이 좋습니다. 테스트 단계에서는 웹 브라우저에서 인증서가 신뢰 되지 않은 것으로 지적 되 고 Windows Communication Foundation (WCF)을 사용 하 여 API 호출이 실패할 수 있습니다. 이 인증서가 존재 하지 않음을 나타내는 것은 아니며 단지 CA 루트 인증서가 신뢰 되어 있지 않음을 나타냅니다. 웹 브라우저에서 테스트 단계에 있는 경우에, 쓰레기 수용 가능한 동작 이지만 최종 사용자에 게 원하지 않는 동작 일 수 있습니다.

API 호출을 사용 하 여 테스트를 실행 하려면 인증서 유효성 검사를 건너뛰는 코드를 추가 하거나, 인증서 관리자, 일괄 처리 명령 또는 코드를 사용 하 여 자체 서명 된 인증서의 루트 CA 인증서를 신뢰할 수 있는 루트 인증 기관 인증서 저장소에 추가 해야 합니다. Microsoft’s David Hardin has written more on this issue on his blog.

Windows Azure 서비스 인증서가 Personal Information Exchange (.pfx) 형식으로 되어 있어야 합니다. 자리 표시자는 암호를 설정 하 여 자체 서명 된 인증서를 만들려면 Visual Studio 명령 프롬프트를 열고 다음 명령을 실행 합니다 (비밀 번호는 마지막에 실행 되는 명령 항목을 원하는 대로 변경할 수 있습니다).

makecert -r -pe -n "CN=yourapp.cloudapp.net" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sky exchange 
-sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -sv SSLDevCert.pvk SSLDevCert.cer

del SSLDevCert.pfx

pvk2pfx -pvk SSLDevCert.pvk -spc SSLDevCert.cer -pfx SSLDevCert.pfx -po password

SSL 인증서는 Windows Azure Management Portal [Hosted Services] (호스팅 서비스) 탭에서 [Add Certificate] (인증서 포함)를 클릭 하 고 암호를 지정 하 여 업로드할 수 있습니다 (그림 3 참고).

Figure 3 Adding a service certificate in Windows Azure

그림 3Windows Azure 서비스에 인증서를 추가 하려면

Windows Azure의 또 다른 종류의 인증서는 인증서입니다. Windows Azure Tools for Microsoft Visual Studio에서는 인증서를 사용 하 여 Windows Azure 배포에서 개발자를 인증 합니다. CSUpload 명령줄 도구를 사용 하면 Windows Azure Service Management REST API 요청에서와 마찬가지로 관리자는 인증서를 사용 하 여 가상 컴퓨터의 역할 이미지를 배포 합니다.

The Windows Azure Service Management Cmdlets use management certificates for Windows PowerShell. Windows Azure Service Management를 사용 하면 Windows Azure 기반 시스템의 배포, 구성 및 관리를 단순화 하 고 자동화할 수 있습니다.

Windows Azure 관리 인증서는 X.509 (.cer) 형식 이어야 합니다. 자체 서명 인증서를 만들어 관리 하려면 Visual Studio 명령 프롬프트를 열고 다음 명령을 실행 합니다.

makecert -r -pe -a sha1 -n "CN=Windows Azure Authentication Certificate" -ss my -len 2048 -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 ManagementApiCert.cer

Windows Azure Management Portal의 왼쪽에 있는 [Management Certificates] (인증서 관리)를 선택 하 고 [Add Certificates] (인증서 포함)를 선택 하 여 관리자는 인증서를 업로드할 수 있습니다 (그림 4 참고). For more information on creating your own certificates for Windows Azure, see the MSDN library article, “How to Create a Certificate for a Role.”

Figure 4 Adding a management certificate in Windows Azure

그림 4Windows Azure 관리할 인증서 추가

직원의 전환

클라우드 컴퓨팅 솔루션의 주요 이점은 타사 공급 업체의 선택을 사전 실수를 호스팅하는 것입니다. 이 같은 사실은 단순히 물리적인 중복성을 보장 합니다. 하지만, 가사 및 회사 사정에 불구 하 고, 직원이 회사를 그만둔 경우 리소스에 대 한 액세스를 제한 하는 것은 어렵습니다.

따라서 클라우드 컴퓨팅 리소스에 대 한 인증 된 액세스에 영향을 주는 변경 내용이 있는 경우에는 몇 가지 중요 한 단계를 따르는 것이 매우 중요 합니다. 첫째, 퇴직자가 사용 하 던 서비스 관리자 계정 암호를 다시 설정 합니다. 중앙에서 관리할 수 있는 고유 하 고 독립적인 서비스 계정 소유자와 관리자 ID를 사용 하 여이 작업을 간소화할 수 있습니다.

서비스 관리자 계정의 암호를 다시 설정 하지 않는 경우 계정 소유자 계정을 사용 하 여 MOCP에 로그인 하 여 서비스 관리자에 나열 된 계정을 업데이트할 수 있습니다. 또한 Windows Azure Management Portal을 사용 하 여 공동 관리자로 나열 된 계정을 삭제 해야 합니다.

두 번째 단계는 관련 된 관리 인증서 재발급 됩니다. 인증서 관리자는 Visual Studio와 Windows Azure API를 통해 호스트 되는 서비스에 액세스 하는 사용자를 인증 하는 수단입니다. 따라서 퇴직 한 직원이 사용 하 던 관리 인증서를 신뢰할 수 없습니다. 직원 들이 업무에 사용 하 던 컴퓨터가 회사를 떠난 경우에도 여러 가지 방법으로 인증서의 복사본을 제기 했을 수도 있습니다.

관리자는 인증서를 재발급에 필요한 작업은 이전의 동일한 명령을 다시 실행 하 여 Windows Azure Management 관리 포탈에서 이전 인증서를 제거 하면 됩니다. 새 관리 되는 인증서를 업로드 하 고 Windows Azure 액세스 권한이 있는 모든 직원에 게 새로운 관리 인증서를 배포 합니다. 인증서 관리에 필요한 절차는 이들 뿐입니다. 서비스 인증서의 용도가 암호화, 인증, 서비스 인증서를 다시 게시할 필요는 없습니다.

구름에서 응용 프로그램을 호스팅할 수 있지만 보안 구조는 전적으로 참여 해야 합니다 (For additional resources on this topic, be sure to see the MSDN library page, Security Resources for Windows Azure.) 계정 및 인증서 관리에 대해서도 이러한 모범 사례를 따르십시오. 모범 사례에 따라, 중요 한 비즈니스 데이터가 보안 위험에 노출 되지 않고, 클라우드 컴퓨팅을 충분히 활용할 수 있습니다.

Thanks to David Hardin of Microsoft IT and Daniel Odievich of the Microsoft Developer and Platform Evangelism Team, along with the partnership of the Security Talk Series for their assistance in the development of this article.

Joshua Hoffman

Joshua Hoffman* is the former editor in chief of TechNet Magazine. 현재는 프리랜서 쓰기 활동 및 컨설팅을 수행 하 고 있으며, 고객에 게 기술 및 각 클라이언트에 적합 한 마케팅 기법에 대 한 조언을 하 고 있습니다. Hoffman also serves as editor in chief of ResearchAccess.com, a site devoted to growing and enriching the market research community. He lives in New York City.*

 

관련 내용