다음을 통해 공유


gMSA를 사용하도록 앱 구성

적용 대상: Windows Server 2025, Windows Server 2022, Windows Server 2019

일반적인 구성에서는 컨테이너 컴퓨터 계정이 네트워크 리소스에 인증을 시도할 때마다 사용되는 gMSA(그룹 관리 서비스 계정)만 컨테이너에 부여됩니다. 즉, gMSA ID를 사용해야 하는 경우 앱이 로컬 시스템 또는 네트워크 서비스 실행해야 합니다. 컨테이너 컴퓨터 계정과 다른 ID로 컨테이너에서 서비스 또는 애플리케이션을 실행하려는 경우 추가 gMSA를 사용하여 컨테이너를 구성할 수도 있습니다.

네트워크 서비스로 IIS 앱 풀 실행

컨테이너에서 IIS 웹 사이트를 호스팅하는 경우 gMSA를 활용하기 위해 해야 할 일은 앱 풀 ID를 네트워크 서비스설정하기만 하면 됩니다. 다음 명령을 추가하여 Dockerfile에서 이 작업을 수행할 수 있습니다.

RUN %windir%\system32\inetsrv\appcmd.exe set AppPool DefaultAppPool -'processModel.identityType':NetworkService

이전에 IIS 앱 풀에 정적 사용자 자격 증명을 사용한 경우 gMSA를 해당 자격 증명을 대체하는 것으로 간주합니다. 개발, 테스트 및 프로덕션 환경 간에 gMSA를 변경할 수 있으며 IIS는 컨테이너 이미지를 변경하지 않고도 현재 ID를 자동으로 선택합니다.

Windows 서비스를 네트워크 서비스로 실행

컨테이너화된 앱이 Windows 서비스로 실행되는 경우 Dockerfile에서 네트워크 서비스 실행되도록 서비스를 설정할 수 있습니다.

RUN sc.exe config "YourServiceName" obj= "NT AUTHORITY\NETWORK SERVICE" password= ""

네트워크 서비스로 임의의 콘솔 앱 실행

IIS 또는 Service Manager에서 호스트되지 않는 일반 콘솔 앱의 경우 컨테이너를 네트워크 서비스 실행하는 것이 가장 쉽기 때문에 앱이 gMSA 컨텍스트를 자동으로 상속합니다. 이 기능은 Windows Server 버전 1709를 기준으로 사용할 수 있습니다.

Dockerfile에 다음 줄을 추가하여 기본적으로 네트워크 서비스로 실행되도록 합니다.

USER "NT AUTHORITY\NETWORK SERVICE"

docker exec사용하여 일회성으로 컨테이너에 Network Service로 연결할 수도 있습니다. 이는 컨테이너가 일반적으로 네트워크 서비스로 실행되지 않는 경우 실행 중인 컨테이너의 연결 문제를 해결하는 경우에 특히 유용합니다.

# Opens an interactive PowerShell console in the container (id = 85d) as the Network Service account
docker exec -it --user "NT AUTHORITY\NETWORK SERVICE" 85d powershell

앱을 구성하는 것 외에도 gMSA를 사용하여 다음을 수행할 수 있습니다.

설치하는 동안 문제가 발생하는 경우 문제 해결 가이드 가능한 솔루션을 확인하세요.