제퍼넷 로고

Microsoft Active Directory와 통합된 Amazon EMR Kerberos 인증 자세히 알아보기

시간

사용하시는 많은 고객님들께서 아마존 EMR 빅 데이터 플랫폼은 사용자 인증을 위해 기존 Microsoft Active Directory(AD)와 통합해야 하기 때문입니다. 이 통합을 위해서는 Amazon EMR의 Kerberos 데몬이 AD 도메인과 신뢰할 수 있는 연결을 설정해야 합니다.

이 게시물은 Active Directory와의 단방향 신뢰가 의미하는 것과 이를 설정하는 데 사용되는 명령이 어떻게 작동하는지 설명합니다. DNS 이름, Kerberos 영역 및 AD 도메인이 어떻게 다른지, 그리고 Amazon EMR 보안 구성 및 클러스터 단방향 신뢰 설정에 대한 결과에 대해 설명합니다. 우리는 또한 당신이 사용할 수 없는 방법에 대해 논의합니다 AWS 관리형 Microsoft AD Amazon EMR 키 배포 센터(KDC) 트러스트의 경우 기존 또는 새 AD 서버를 사용해야 합니다.

AWS는 이미 이 영역의 일부를 다루는 문서와 블로그 게시물을 게시했으며 이 게시물은 이를 대체하기보다는 보완하기 위한 것입니다. 따라서 계속하기 전에 다음을 읽는 것이 좋습니다.

이것이 당신에게 적합한 아키텍처입니까?

Kerberos를 사용하여 Amazon EMR을 인증하는 몇 가지 옵션이 있으며 올바른 접근 방식을 선택하는 것은 사용 사례에 따라 다릅니다. 자세한 내용은 다음을 참조하십시오. Kerberos 아키텍처 옵션. 이 게시물에서는 사용자가 이미 AD 도메인에 있고 해당 자격 증명을 사용하여 Amazon EMR에서 작업을 승인하려는 경우를 다룹니다. 아직 AD가 없거나 기존의 비 AD Kerberos 영역을 확장하려는 경우 다른 옵션 중 하나가 더 적합합니다. 필요한 것보다 더 많은 일을 하지 마십시오!

Active Directory에 연결

Amazon EMR을 AD에 연결할 때 두 가지 목표가 있습니다.

  • Amazon EMR에서 작업하는 사용자가 AD 자격 증명을 사용하여 서비스에 액세스할 수 있도록 Kerberos에서 AD로 단방향 신뢰를 설정합니다. 이를 위해서는 EMR 클러스터에서 액세스할 수 있는 포트 88, 464(Kerberos용) 및 139(LDAP용)가 필요합니다.
  • EMR 클러스터를 구성하는 서버들이 AD 도메인에 등록될 수 있도록 EMR 클러스터를 AD와 연결한다. 이를 위해서는 AD 도메인에 구성된 사용자가 이러한 등록을 수행할 수 있는 충분한 권한이 있어야 합니다(일반적으로 사용자 바인딩.

Active Directory의 유형

앞의 요구 사항의 조합은 AD 서버만 목표를 달성할 수 있음을 의미합니다. AWS Managed Microsoft AD 또는 Microsoft Azure AD를 사용할 수 없습니다. 이렇게 하면 두 가지 옵션이 모범 사례로 남습니다.

먼저 다음 다이어그램과 같이 Amazon EMR을 기존 AD 서버(온프레미스 또는 클라우드)에 직접 연결할 수 있습니다.

또는 다음에서 새 AD 서버를 구축할 수 있습니다. 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2), 기존 회사 AD 포리스트에 추가하고 Amazon EMR이 이 새로운 클라우드 기반 AD 서버에 연결하도록 합니다(다음 다이어그램 참조).

도메인 대 영역

혼동을 피하기 위해 어떤 용어가 어떤 기술에 적용되는지 이해하는 것이 중요합니다.

Active Directory 관리 도메인, 사용자 및 컴퓨터와 같은 많은 등록된 엔터티를 포함합니다. 일반적으로 소문자로 작성됩니다(예: corp.mycompany.com) 인터넷 도메인과 매우 유사해 보입니다. 반드시 IP 주소로 확인해야 하는 것은 아니지만 일반적으로 확인합니다.

Kerberos 사용 영역 유사한 개념에 대해 등록된 엔터티는 다음과 같습니다. 교장. 영역은 일반적으로 대문자로 작성되며 대소문자를 제외하고는 인터넷 도메인처럼 보이는 이름 지정 스타일을 사용하는 경우가 많습니다(예: EMR.MYCOMPANY.COM). IP 주소로 확인할 필요가 없으며 일반적으로 그렇지 않습니다.

EMR 클러스터의 Kerberos 데몬에 대한 영역을 구성할 때 이름은 완전히 임의적입니다. 내부에 정의된 보안 주체의 네임스페이스 역할을 하지만 EMR 클러스터에 있는 인스턴스의 도메인 이름과 일치할 필요는 없습니다. 예를 들어 EC2 머신의 프라이빗 DNS 이름이 기본값을 사용하는 경우 ec2.internal 도메인, EMR 영역 이름은 ec2.internal; 그것은 수 mykerberosrealm 또는 당신이 좋아하는 무엇이든.

사용자 바인딩

바인딩 사용자는 EMR 컴퓨터를 AD 도메인에 등록("바인딩")할 수 있는 권한이 있는 Active Directory에 생성되어야 합니다. Amazon EMR은 이러한 컴퓨터를 아래에 등록합니다. CN=Computers.

Amazon EMR이 Hadoop 구성 요소와 함께 사용하기 위해 생성하는 Kerberos 보안 주체는 Amazon EMR Kerberos 설치에 대해 엄격하게 로컬이며 AD 도메인에 등록되지 않습니다.

DNS

EMR Kerberos 데몬은 AD 서버 간의 신뢰를 설정하기 위해 AD 서버의 DNS 이름을 확인할 수 있어야 합니다. 이러한 DNS 도메인이 회사 DNS 서버에서 관리되는 경우 다음이 필요합니다. 아마존 경로 53 Amazon EMR이 이를 해결할 수 있도록 기업 DNS 서버로 전달자. 신뢰는 단방향이기 때문에 AD 서버는 EMR 클러스터 노드의 내부 DNS 이름을 확인할 필요가 없습니다.

신뢰 구축

Amazon EMR에서 AD로 설정해야 하는 신뢰는 양방향(서로 신뢰)이 아니라 단방향(Amazon EMR은 AD 신뢰)이어야 합니다. 단방향 신뢰를 설정하려면 다음을 사용하십시오. ksetupnetdom AD 시스템의 명령줄에 있는 유틸리티. 권장되는 암호화 유형 속성(SetEncTypeAttr) 도메인의 경우 AES-256 암호입니다. 다음 코드는 EMR Kerberos 영역의 예를 사용합니다. EMR.MYCOMPANY.COM 그리고 AD 도메인 corp.mycompany.com:

C:UsersAdministrator> ksetup /addkdc EMR.MYCOMPANY.COM
C:UsersAdministrator> netdom trust EMR.MYCOMPANY.COM /Domain:corp.mycompany.com /add /realm /passwordt:MyVeryStrongPassword
C:UsersAdministrator> ksetup /SetEncTypeAttr EMR.MYCOMPANY.COM AES256-CTS-HMAC-SHA1-96

처음에는 ksetup 명령을 사용하는 경우 클러스터 KDC의 정규화된 도메인 이름을 최종 인수로 제공할 필요가 없습니다. 이는 양방향 트러스트에만 필요하고 단방향 트러스트에서는 선택 사항입니다.

Amazon EMR 보안 구성

EMR 클러스터를 시작하기 전에 연결하려는 AD 서버 및 도메인의 세부 정보가 포함된 보안 구성을 생성해야 합니다. 다음 스크린샷은 해당 구성의 예를 보여줍니다.

이 필드는 대소문자를 구분하므로 모든 항목을 올바르게 입력했는지 확인하십시오. 이 구성의 도메인과 영역은 모두 EMR 클러스터가 아니라 AD 서버를 참조한다는 점에 유의하십시오! AD는 Active Directory뿐만 아니라 Kerberos 데몬으로도 작동할 수 있으므로 두 필드 모두 여기에서 구성됩니다. 그러나 두 경우 모두 EMR 클러스터의 Kerberos 도메인이 아니라 AD 서버를 참조합니다.

클러스터 시작 시 Amazon EMR 보안 옵션

EMR 클러스터를 시작할 때 다음 스크린샷과 같이 보안 옵션을 구성합니다.

여기에서 방금 생성한 보안 구성을 사용하고 EMR Kerberos 영역의 세부 정보와 보안 구성에서 AD 도메인과의 신뢰를 설정하는 데 필요한 매개변수를 지정합니다. 다음 필드에 대한 정보를 제공합니다.

  • 왕국 – 지정하는 Kerberos 영역은 전적으로 사용자에게 달려 있지만 AD 시스템에서 신뢰를 설정할 때 사용한 영역과 동일해야 합니다.
  • KDC 관리자 비밀번호 – 이것은 클러스터 구성의 다른 곳에서는 사용되지 않으므로 이 클러스터에 대해 고유하고 안전한 것으로 설정할 수 있습니다. 클러스터 전용 KDC의 향후 관리에만 필요합니다.
  • 교차 영역 신뢰 주체 암호 – 로 설정한 비밀번호입니다. netdom 명령.
  • Active Directory 도메인 가입 사용자 – AD 관리자가 생성한 바인드 사용자입니다.
  • Active Directory 도메인 가입 비밀번호 – AD의 바인드 사용자 비밀번호입니다.

정리

이 솔루션 테스트를 마치면 리소스를 정리하는 것을 잊지 마십시오. CloudFormation 템플릿을 사용하여 리소스를 생성한 경우 AWS CloudFormation 콘솔을 사용하여 스택을 삭제합니다. 또는 다음을 사용할 수 있습니다. AWS 명령 줄 인터페이스 (AWS CLI) 또는 SDK. 지침은 다음을 참조하십시오. 스택 삭제. 스택을 삭제하면 해당 스택에서 생성된 리소스도 삭제됩니다.

스택 중 하나가 삭제되지 않으면 해당 스택에서 생성된 리소스에 종속성이 없는지 확인하십시오. 예를 들어 AWS CloudFormation을 사용하여 Amazon VPC를 배포한 다음 다른 CloudFormation 스택을 사용하여 해당 VPC에 도메인 컨트롤러를 배포한 경우 VPC 스택을 삭제하기 전에 먼저 도메인 컨트롤러 스택을 삭제해야 합니다.

결론

이 게시물의 단계에서는 Amazon EMR의 Kerberos 데몬과 Active Directory 도메인 간의 신뢰를 생성하는 과정을 안내했습니다. 이것이 프로세스의 이해를 돕고 미래에 안전한 AD 통합 EMR 클러스터를 쉽게 생성할 수 있기를 바랍니다.


저자에 관하여

아난드쿠마르 칼리아페루말 그는 Professional Services SDT의 수석 데이터 설계자로서 고객의 Hadoop 및 데이터 레이크 마이그레이션 지원에 중점을 두고 있습니다. 그는 달라스에서 성장하는 가족과 함께 살고 있습니다.

바라트 쿠마르 보가라푸 빅 데이터 기술에 대한 전문 지식을 갖춘 AWS Professional Services의 데이터 설계자입니다. 그는 고객이 성능이 뛰어나고 강력한 데이터 기반 솔루션을 구축하고 데이터 및 분석 잠재력을 실현하도록 돕는 데 열정을 쏟고 있습니다. 그의 관심 분야는 오픈 소스 프레임워크, 자동화 및 데이터 아키텍처입니다. 여가 시간에는 가족과 시간을 보내고 테니스를 치고 여행을 하는 것을 좋아합니다.

올리버 메인 캐나다 전문 서비스 공유 제공 팀의 선임 데이터 설계자로 고객이 데이터와 워크플로를 AWS로 마이그레이션하는 것을 도왔습니다. 그는 가족과 너무 많은 자전거와 함께 토론토에 살고 있습니다.

spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?