기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Windows 포드 및 컨테이너용 gMSA 구성
gMSA 계정이란?
.NET 애플리케이션과 같은 Windows 기반 애플리케이션은 종종 Active Directory를 자격 증명 공급자로 사용하여 NTLM 또는 Kerberos 프로토콜을 사용하여 권한 부여/인증을 제공합니다.
Kerberos 티켓을 Active Directory와 교환하는 애플리케이션 서버는 도메인에 조인되어야 합니다. Windows 컨테이너는 도메인 조인을 지원하지 않으며 컨테이너가 임시 리소스이기 때문에 Active Directory RID 풀에 부담을 주지 않습니다.
그러나 관리자는 gMSA Active Directory
Windows 컨테이너 및 gMSA 사용 사례
Windows 인증을 활용하고 Windows 컨테이너로 실행되는 애플리케이션은 Windows 노드가 컨테이너를 대신하여 Kerberos 티켓을 교환하는 데 사용되므로 gMSA의 이점을 누릴 수 있습니다. gMSA 통합을 지원하도록 Windows 작업자 노드를 설정하는 데 사용할 수 있는 두 가지 옵션이 있습니다.
이 설정에서 Windows 작업자 노드는 Active Directory 도메인에 도메인 조인되며, Windows 작업자 노드의 AD 컴퓨터 계정은 Active Directory에 대해 인증하고 포드에 사용할 gMSA 자격 증명을 검색하는 데 사용됩니다.
도메인 조인 접근 방식에서는 기존 Active Directory GPOs를 사용하여 Windows 작업자 노드를 쉽게 관리하고 강화할 수 있지만, Kubernetes 클러스터에서 Windows 작업자 노드에 조인하는 동안 추가 운영 오버헤드와 지연이 발생합니다. Kubernetes 클러스터가 노드를 종료한 후 노드 시작 및 Active Directory 차고 정리 중에 추가 재부팅이 필요하기 때문입니다.
다음 블로그 게시물에서는 도메인에 조인된 Windows 작업자 노드 접근 방식을 구현하는 방법에 대한 step-by-step 내용을 확인할 수 있습니다.
Amazon EKS Windows 포드의 Windows 인증
이 설정에서 Windows 작업자 노드는 Active Directory 도메인에 조인되지 않으며, "휴대용" 자격 증명(사용자/암호)은 Active Directory에 대해 인증하고 포드에 사용할 gMSA 자격 증명을 검색하는 데 사용됩니다.

휴대용 자격 증명은 Active Directory 사용자입니다. 자격 증명(사용자/암호)은 AWS Secrets Manager 또는 AWS System Manager Parameter Store에 저장되며, ccg_plugin이라는 AWS에서 개발한 플러그인을 사용하여 AWS Secrets Manager 또는 AWS System Manager Parameter Store에서이 자격 증명을 검색하고 컨테이너로 전달하여 gMSA 자격 증명을 검색하고 포드에 사용할 수 있도록 합니다.
이 도메인 없는 접근 방식에서는 gMSA를 사용하고 Active Directory 관리자의 운영 오버헤드를 줄일 때 Windows 작업자 노드 시작 중에 Active Directory 상호 작용이 없는 이점을 누릴 수 있습니다.
다음 블로그 게시물에서는 Domainless Windows 작업자 노드 접근 방식을 구현하는 방법에 대한 step-by-step 내용을 확인할 수 있습니다.
Amazon EKS Windows 포드에 대한 도메인 없는 Windows 인증
포드가 gMSA 계정을 사용할 수 있더라도 Windows 인증을 지원하도록 애플리케이션 또는 서비스를 적절히 설정해야 합니다. 예를 들어 Windows 인증을 지원하도록 Microsoft IIS를 설정하려면 dockerfile을 통해 준비해야 합니다.
RUN Install-WindowsFeature -Name Web-Windows-Auth -IncludeAllSubFeature RUN Import-Module WebAdministration; Set-ItemProperty 'IIS:\AppPools\SiteName' -name processModel.identityType -value 2 RUN Import-Module WebAdministration; Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/anonymousAuthentication' -Name Enabled -Value False -PSPath 'IIS:\' -Location 'SiteName' RUN Import-Module WebAdministration; Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/windowsAuthentication' -Name Enabled -Value True -PSPath 'IIS:\' -Location 'SiteName'