기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
WorkSpaces 개인용 인증에 스마트 카드 사용
Windows 및 Linux WorkSpaces 온 WorkSpaces 스트리밍 프로토콜 (WSP) 번들을 사용하면 CAC (공용 액세스 카드) 및 PIV (개인 신원 확인)
Amazon은 세션 전 인증과 세션 내 인증 모두에 스마트 카드 사용을 WorkSpaces 지원합니다. 사전 세션 인증은 사용자가 로그인하는 동안 수행되는 스마트 카드 인증을 말합니다. WorkSpaces 세션 내 인증은 로그인 후 수행되는 인증을 말합니다.
예를 들어 사용자는 웹 브라우저 및 애플리케이션으로 작업하는 동안 세션 내 인증에 스마트 카드를 사용할 수 있습니다. 또한 관리자 권한이 필요한 작업에 스마트 카드를 사용할 수도 있습니다. 예를 들어 WorkSpace Linux에 대한 관리자 권한이 있는 사용자는 스마트 카드를 사용하여 명령을 sudo
실행하고 sudo -i
실행할 때 자신을 인증할 수 있습니다.
요구 사항
-
세션 전 인증에는 Active Directory Connector(AD Connector) 디렉터리가 필요합니다. AD Connector는 인증서 기반 상호 전송 계층 보안(상호 TLS) 인증을 사용하여 하드웨어 또는 소프트웨어 기반 스마트 카드 인증서를 사용하여 Active Directory에 사용자를 인증합니다. AD Connector 및 온프레미스 디렉터리를 구성하는 방법에 대한 자세한 내용은 디렉터리 구성 섹션을 참조하세요.
-
Windows 또는 WorkSpace Linux에서 스마트 카드를 사용하려면 사용자는 Amazon WorkSpaces Windows 클라이언트 버전 3.1.1 이상 또는 WorkSpaces macOS 클라이언트 버전 3.1.5 이상을 사용해야 합니다. Windows 및 macOS 클라이언트에서 스마트 카드를 사용하는 방법에 대한 자세한 내용은 Amazon 사용 WorkSpaces 설명서의 스마트 카드 지원을 참조하십시오.
-
루트 CA 및 스마트 카드 인증서는 특정 요구 사항을 충족해야 합니다. 자세한 내용은 AWS Directory Service 관리 안내서의 스마트 카드와 함께 사용할 수 있도록 TLS 인증 활성화) 및 Microsoft 설명서의 Certificate Requirements
를 참조하세요. 이러한 요구 사항 외에도 Amazon에 대한 스마트 카드 인증에 사용되는 사용자 인증서에는 다음 속성이 WorkSpaces 포함되어야 합니다.
-
인증서의 userPrincipalName (SAN) 필드에 있는 AD 사용자 subjectAltName (UPN) 사용자의 기본 UPN에 대해 스마트 카드 인증서를 발급하는 것이 좋습니다.
-
클라이언트 인증(1.3.6.1.5.5.7.3.2) 확장 키 사용(EKU) 속성.
-
스마트 카드 로그온(1.3.6.1.4.1.311.20.2.2) EKU 속성.
-
-
세션 전 인증의 경우 인증서 해지 검사에 온라인 인증서 상태 프로토콜(OCSP)이 필요합니다. 세션 내 인증의 경우 OCSP가 권장되지만 필수는 아닙니다.
제한 사항
-
현재 스마트 카드 인증에는 WorkSpaces Windows 클라이언트 응용 프로그램 버전 3.1.1 이상 및 macOS 클라이언트 응용 프로그램 버전 3.1.5 이상만 지원됩니다.
-
WorkSpaces Windows 클라이언트 응용 프로그램 3.1.1 이상은 클라이언트가 64비트 버전의 Windows에서 실행되는 경우에만 스마트 카드를 지원합니다.
-
WorkSpaces Ubuntu는 현재 스마트 카드 인증을 지원하지 않습니다.
-
현재 AD Connector 디렉터리만 스마트 카드 인증에 지원됩니다.
-
세션 내 인증은 WSP가 지원되는 모든 리전에서 사용 가능합니다. 세션 전 인증은 다음 리전에서 사용할 수 있습니다.
-
아시아 태평양(시드니) 리전
-
아시아 태평양(도쿄) 리전
-
Europe (Ireland) Region
-
AWS GovCloud (미국 동부) 지역
-
AWS GovCloud (미국 서부) 지역
-
미국 동부(버지니아 북부) 리전
-
US West (Oregon) Region
-
-
Linux 또는 Windows의 세션 내 인증 및 세션 전 인증의 WorkSpaces 경우 현재 한 번에 하나의 스마트 카드만 허용됩니다.
-
세션 전 인증의 경우 동일한 디렉터리에서 스마트 카드 인증과 로그인 인증을 모두 활성화하는 것은 현재 지원되지 않습니다.
-
현재는 CAC 및 PIV 카드만 지원됩니다. 다른 유형의 하드웨어 또는 소프트웨어 기반 스마트 카드는 작동할 수 있지만, WSP와 함께 사용할 수 있도록 완전히 테스트되지는 않았습니다.
디렉터리 구성
스마트 카드 인증을 사용하려면 다음과 같은 방법으로 AD Connector 디렉터리와 온프레미스 디렉터리를 구성해야 합니다.
AD Connector 디렉터리 구성
시작하기 전에 AWS Directory Service 관리 안내서의 AD Connector 사전 조건에 설명된 대로 AD Connector 디렉터리를 설정했는지 확인하세요. 특히 방화벽에서 필요한 포트를 열었는지 확인하세요.
AD Connector 디렉터리 구성을 완료하려면 AWS Directory Service 관리 안내서에서 스마트 카드와 함께 사용할 수 있도록 AD Connector에서 mTLS 인증 활성화의 지침을 따르세요.
참고
스마트 카드 인증이 제대로 작동하려면 Kerberos 제한 위임(KCD)이 필요합니다. KCD를 사용하려면 AD Connector 서비스 계정의 사용자 이름 부분이 동일한 사용자의 AccountName SAM과 일치해야 합니다. SaM은 20자를 AccountName 초과할 수 없습니다.
온프레미스 디렉터리 구성
AD Connector 디렉터리를 구성하는 것 외에도 온프레미스 디렉터리의 도메인 컨트롤러에 발급되는 인증서에 'KDC Authentication' 확장 키 사용(EKU)이 설정되어 있는지도 확인해야 합니다. 이렇게 하려면 Active Directory 도메인 서비스(AD DS)의 기본 Kerberos 인증 인증서 템플릿을 사용하세요. 도메인 컨트롤러 인증서 템플릿이나 도메인 컨트롤러 인증 인증서 템플릿은 스마트 카드 인증에 필요한 설정이 포함되어 있지 않으므로 사용하지 마세요.
Windows용 스마트 카드를 활성화합니다. WorkSpaces
Windows에서 스마트 카드 인증을 활성화하는 방법에 대한 일반적인 지침은 Microsoft 설명서의 Guidelines for enabling smart card logon with third-party certification authorities
Windows 잠금 화면을 감지하고 세션 연결을 해제하는 방법
화면이 잠겨 있을 때 스마트 카드 사전 인증이 활성화된 WorkSpaces Windows를 사용자가 잠금 해제할 수 있도록 하려면 사용자 세션에서 Windows 잠금 화면 감지를 사용하도록 설정할 수 있습니다. Windows 잠금 화면이 감지되면 WorkSpace 세션 연결이 끊기고 사용자는 스마트 카드를 사용하여 WorkSpaces 클라이언트에 다시 연결할 수 있습니다.
그룹 정책 설정을 사용하여 Windows 잠금 화면이 감지될 때 세션 연결 해제를 활성화할 수 있습니다. 자세한 정보는 WSP에서 화면 잠금 시 세션 연결 해제 활성화 또는 비활성화을 참조하세요.
세션 내 또는 세션 전 인증을 활성화하는 방법
기본적으로 WorkSpaces Windows는 사전 세션 또는 세션 내 인증을 위한 스마트 카드 사용을 지원하지 않습니다. 필요한 경우 그룹 정책 설정을 사용하여 WorkSpaces Windows에 대한 세션 내 및 사전 세션 인증을 활성화할 수 있습니다. 자세한 정보는 WSP에서 스마트 카드 리디렉션 활성화 또는 비활성화을 참조하세요.
세션 전 인증을 사용하려면 그룹 정책 설정을 업데이트하는 것 외에도 AD Connector 디렉터리 설정을 통해 세션 전 인증을 활성화해야 합니다. 자세한 내용은 AWS Directory Service 관리 안내서에서 스마트 카드와 함께 사용할 수 있도록 AD Connector에서 mTLS 인증 활성화의 지침을 따르세요.
사용자가 브라우저에서 스마트 카드를 사용할 수 있게 하는 방법
사용자가 Chrome 브라우저를 사용하는 경우 스마트 카드를 사용하기 위한 특별한 구성이 필요하지 않습니다.
사용자가 Firefox 브라우저를 사용하는 경우 그룹 정책을 통해 사용자가 Firefox에서 스마트 카드를 사용하도록 할 수 있습니다. 에서 이러한 Firefox 그룹 정책
예를 들어 PKCS #11 지원을 위해 Windows에 OpenSC
는 PKCS #11 식별에 사용할 값(예: NAME_OF_DEVICE
OpenSC
) 이고,
는 PKCS #11 모듈의 경로입니다. 이 경로는 확장자가 .DLL인 라이브러리(예: PATH_TO_LIBRARY_FOR_DEVICE
C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll
)를 가리켜야 합니다.
Software\Policies\Mozilla\Firefox\SecurityDevices\
NAME_OF_DEVICE
=PATH_TO_LIBRARY_FOR_DEVICE
작은 정보
OpenSC를 사용하는 경우 pkcs11-register.exe
프로그램을 실행하여 OpenSC pkcs11
모듈을 Firefox에 로드할 수도 있습니다. 이 프로그램을 실행하려면 C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe
에서 파일을 두 번 클릭하거나 명령 프롬프트 창을 열고 다음 명령을 실행합니다.
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe"
OpenSC pkcs11
모듈이 Firefox에 로드되었는지 확인하려면 다음을 수행합니다.
-
Firefox가 이미 실행 중이면 종료하세요.
-
Firefox를 엽니다. 오른쪽 상단 모서리의 메뉴 버튼(
)을 선택한 다음 옵션을 선택합니다.
-
about:preferences 페이지의 왼쪽 탐색 창에서 개인 정보 및 보안을 선택합니다.
-
인증서에서 보안 디바이스를 선택합니다.
-
디바이스 관리자 대화 상자의 왼쪽 탐색 창에 OpenSC 스마트 카드 프레임워크(0.21)가 표시되며, 이 프레임워크를 선택하면 다음 값이 있을 것입니다.
모듈:
OpenSC smartcard framework (0.21)
경로:
C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll
문제 해결
스마트 카드 문제 해결에 대한 자세한 내용은 Microsoft 설명서의 Certificate and configuration problems
문제를 일으킬 수 있는 일반적인 문제는 다음과 같습니다.
-
슬롯을 인증서에 잘못 매핑했습니다.
-
스마트 카드에 사용자와 매칭될 수 있는 인증서가 여러 개입니다. 인증서는 다음 기준을 사용하여 매칭됩니다.
-
인증서의 루트 CA.
-
인증서의
<KU>
및<EKU>
필드. -
인증서 주체의 UPN.
-
-
키 사용에
<EKU>msScLogin
이 있는 인증서가 여러 개입니다.
일반적으로 스마트 카드의 첫 번째 슬롯에 매핑되는 스마트 카드 인증용 인증서를 하나만 사용하는 것이 가장 좋습니다.
스마트 카드의 인증서 및 키를 관리(예: 인증서 및 키 제거 또는 재매핑)하는 도구는 제조업체마다 다를 수 있습니다. 자세한 내용은 스마트 카드 제조업체에서 제공하는 설명서를 참조하세요.
Linux용 스마트 카드 활성화 WorkSpaces
참고
WSP WorkSpaces 기반 Linux에는 현재 다음과 같은 제한 사항이 있습니다.
-
클립보드, 오디오 입력, 비디오 입력 및 시간대 리디렉션이 지원되지 않습니다.
-
다중 모니터가 지원되지 않습니다.
-
WSP에서 WorkSpaces Linux에 연결하려면 WorkSpaces Windows 클라이언트 애플리케이션을 사용해야 합니다.
WorkSpacesLinux에서 스마트 카드를 사용할 수 있게 하려면 이미지에 PEM 형식의 루트 CA 인증서 파일을 포함해야 합니다. WorkSpace
루트 CA 인증서를 받는 방법
여러 가지 방법으로 루트 CA 인증서를 받을 수 있습니다.
-
서드 파티 인증 기관에서 운영하는 루트 CA 인증서를 사용할 수 있습니다.
-
웹 등록 사이트(
http://
또는ip_address
/certsrvhttp://
)를 사용하여 자체 루트 CA 인증서를 내보낼 수 있습니다.fqdn
/certsrv
및ip_address
은 루트 인증서 CA 서버의 IP 주소와 정규화된 도메인 이름(FQDN)입니다. 웹 등록 사이트 사용에 대한 자세한 내용은 Microsoft 설명서의 How to export a Root Certification Authority Certificatefqdn
을 참조하세요. -
다음 절차에 따라 Active Directory Certificate Services(AD CS)를 실행하는 루트 CA 인증 서버에서 루트 CA 인증서를 내보낼 수 있습니다. AD CS 설치에 대한 자세한 내용은 Microsoft 설명서의 Install the Certification Authority
를 참조하세요. -
관리자 계정을 사용하여 루트 CA 서버에 로그인합니다.
-
Windows Start 메뉴에서 명령 프롬프트 창을 엽니다(Start > Windows System > Command Prompt).
-
다음 명령을 사용하여 루트 CA 인증서를 새 파일로 내보냅니다. 여기서
는 새 파일의 이름입니다.rootca
.cercertutil -ca.cert
rootca
.cercertutil을 실행하는 방법에 대한 자세한 내용은 Microsoft 설명서의 certutil
을 참조하세요. -
다음 OpenSSL 명령을 사용하여 내보낸 루트 CA 인증서를 DER 형식에서 PEM 형식으로 변환합니다. 여기서
rootca
는 인증서 이름입니다. OpenSSL에 대한 자세한 내용은 www.openssl.org를 참조하세요. openssl x509 -inform der -in
rootca
.cer -out /tmp/rootca
.pem
-
Linux에 루트 CA 인증서를 추가하려면 WorkSpaces
스마트 카드를 활성화하는 데 도움이 되도록 Amazon Linux WSP 번들에 enable_smartcard
스크립트를 추가했습니다. 이 스크립트는 다음 작업을 수행합니다.
-
루트 CA 인증서를 네트워크 보안 서비스(NSS
) 데이터베이스로 가져옵니다. -
플러그 가능 인증 모듈(PAM) 인증을 위한
pam_pkcs11
모듈을 설치합니다. -
WorkSpace 프로비저닝
pkinit
중에 활성화하는 것을 포함하는 기본 구성을 수행합니다.
다음 절차는 enable_smartcard
스크립트를 사용하여 Linux에 루트 CA 인증서를 WorkSpaces 추가하고 Linux용 스마트 카드를 활성화하는 방법을 설명합니다. WorkSpaces
-
WSP 프로토콜이 WorkSpace 활성화된 상태에서 새 Linux를 생성합니다. Amazon WorkSpace WorkSpaces 콘솔에서 실행할 때는 번들 선택 페이지에서 프로토콜로 WSP를 선택한 다음 Amazon Linux 2 퍼블릭 번들 중 하나를 선택해야 합니다.
-
새 WorkSpace 버전에서는 다음 명령을 root로 실행합니다. 여기서
는 PEM 형식의 루트 CA 인증서 파일 경로입니다.pem-path
/usr/lib/skylight/enable_smartcard --ca-cert
pem-path
참고
Linux는 스마트 카드의 인증서가 사용자의 기본 UPN (사용자 계정 이름) 에 대해 발급된 것으로 WorkSpaces 가정합니다. 예를 들어
, 여기서sAMAccountName
@domain
는 FQDN (정규화된 도메인 이름) 입니다.domain
대체 UPN 접미사를 사용하는 방법은
run /usr/lib/skylight/enable_smartcard --help
에서 자세한 내용을 알아보세요. 대체 UPN 접미사의 매핑은 각 사용자마다 고유합니다. 따라서 매핑은 각 사용자에 대해 개별적으로 수행되어야 합니다. WorkSpace -
(선택 사항) 기본적으로 모든 서비스는 Linux에서 스마트 카드 인증을 사용하도록 설정되어 WorkSpaces 있습니다. 스마트 카드 인증을 특정 서비스로만 제한하려면
/etc/pam.d/system-auth
를 편집해야 합니다. 필요한 경우pam_succeed_if.so
의auth
줄의 설명을 제거하고 서비스 목록을 편집하세요.auth
줄의 설명을 제거한 후 서비스가 스마트 카드 인증을 사용할 수 있도록 허용하려면 해당 줄을 목록에 추가해야 합니다. 서비스에서 암호 인증만 사용하도록 하려면 목록에서 제거해야 합니다. -
에 대한 추가 사용자 지정을 수행합니다. WorkSpace 예를 들어, 사용자가 Firefox에서 스마트 카드를 사용할 수 있도록 시스템 전체 정책을 추가할 수 있습니다. (Chrome 사용자는 클라이언트에서 직접 스마트 카드를 활성화해야 합니다. 자세한 내용은 Amazon WorkSpaces 사용 설명서의 스마트 카드 지원을 참조하십시오.)
-
에서 사용자 지정 WorkSpace 이미지와 번들을 생성하십시오 WorkSpace.
-
새 사용자 지정 번들을 사용하여 사용자를 WorkSpaces 위해 출시하세요.
사용자가 Firefox에서 스마트 카드를 사용할 수 있게 하는 방법
Linux WorkSpace 이미지에 SecurityDevices 정책을 추가하여 사용자가 Firefox에서 스마트 카드를 사용하도록 할 수 있습니다. Firefox에 시스템 전체 정책을 추가하는 방법에 대한 자세한 내용은 Mozilla
-
WorkSpace 이미지를 만들 때 사용하는 파일에 WorkSpace in이라는 이름의 새 파일을 만드십시오.
policies.json
/usr/lib64/firefox/distribution/
-
JSON 파일에 다음 SecurityDevices 정책을 추가합니다. 여기에는
pkcs
모듈을 식별하는 데 사용할
값이 들어 있습니다. 예를 들어,NAME_OF_DEVICE
"OpenSC"
와 같은 값을 사용할 수 있습니다.{ "policies": { "SecurityDevices": { "
NAME_OF_DEVICE
": "/usr/lib64/opensc-pkcs11.so" } } }
문제 해결
문제 해결을 위해 pkcs11-tools
유틸리티를 추가하는 것이 좋습니다. 이 유틸리티를 사용하면 다음 작업을 수행할 수 있습니다.
-
각 스마트 카드를 나열합니다.
-
각 스마트 카드의 슬롯을 나열합니다.
-
각 스마트 카드의 인증서를 나열합니다.
문제를 일으킬 수 있는 일반적인 문제는 다음과 같습니다.
-
슬롯을 인증서에 잘못 매핑했습니다.
-
스마트 카드에 사용자와 매칭될 수 있는 인증서가 여러 개입니다. 인증서는 다음 기준을 사용하여 매칭됩니다.
-
인증서의 루트 CA.
-
인증서의
<KU>
및<EKU>
필드. -
인증서 주체의 UPN.
-
-
키 사용에
<EKU>msScLogin
이 있는 인증서가 여러 개입니다.
일반적으로 스마트 카드의 첫 번째 슬롯에 매핑되는 스마트 카드 인증용 인증서를 하나만 사용하는 것이 가장 좋습니다.
스마트 카드의 인증서 및 키를 관리(예: 인증서 및 키 제거 또는 재매핑)하는 도구는 제조업체마다 다를 수 있습니다. 스마트 카드 작업에 사용할 수 있는 추가 도구는 다음과 같습니다.
-
opensc-explorer
-
opensc-tool
-
pkcs11_inspect
-
pkcs11_listcerts
-
pkcs15-tool
디버그 로깅을 활성화하는 방법
pam_pkcs11
및 pam-krb5
구성 문제를 해결하기 위해 디버그 로깅을 활성화할 수 있습니다.
-
/etc/pam.d/system-auth-ac
파일에서auth
작업을 편집하고pam_pksc11.so
의nodebug
파라미터를debug
로 변경합니다. -
/etc/pam_pkcs11/pam_pkcs11.conf
파일에서debug = false;
를debug = true;
로 변경합니다. 이debug
옵션은 각 매퍼 모듈에 개별적으로 적용되므로pam_pkcs11
섹션 바로 아래 및 적절한 매퍼 섹션(기본값:mapper generic
)에서 모두 직접 변경해야 할 수도 있습니다. -
/etc/pam.d/system-auth-ac
파일에서auth
작업을 편집하고debug
또는debug_sensitive
파라미터를pam_krb5.so
에 추가합니다.
디버그 로깅을 활성화한 후 시스템은 활성 터미널에서 직접 pam_pkcs11
디버그 메시지를 출력합니다. pam_krb5
의 메시지가 /var/log/secure
에 로깅됩니다.
스마트 카드 인증서가 매핑되는 사용자 이름을 확인하려면 다음 pklogin_finder
명령을 사용합니다.
sudo pklogin_finder debug config_file=/etc/pam_pkcs11/pam_pkcs11.conf
메시지가 표시되면 스마트 카드 PIN을 입력합니다. pklogin_finder
는 스마트 카드 인증서에 있는 사용자 이름을
형식으로 NETBIOS
\username
stdout
에 출력합니다. 이 사용자 이름은 사용자 이름과 일치해야 합니다. WorkSpace
Active Directory 도메인 서비스(AD DS)에서 NetBIOS 도메인 이름은 Windows 2000 이전 버전의 도메인 이름입니다. 항상 그런 것은 아니지만 일반적으로 NetBIOS 도메인 이름은 도메인 이름 시스템(DNS) 도메인 이름의 하위 도메인입니다. 예를 들어 DNS 도메인 이름이 example.com
인 경우 NetBIOS 도메인은 대개 EXAMPLE
입니다. DNS 도메인 이름이 corp.example.com
인 경우 NetBIOS 도메인은 대개 CORP
입니다.
예를 들어, corp.example.com
도메인에 있는 mmajor
사용자의 경우 pklogin_finder
의 출력은 CORP\mmajor
입니다.
참고
"ERROR:pam_pkcs11.c:504: verify_certificate()
failed"
메시지를 수신하는 경우 이 메시지는 pam_pkcs11
이 스마트 카드에서 사용자 이름 기준과 매칭되는 인증서를 찾았지만 시스템에서 인식되는 루트 CA 인증서에는 연결되지 않았음을 나타냅니다. 이 경우 pam_pkcs11
은 위 메시지를 출력한 후 다음 인증서를 시도합니다. 사용자 이름과 매칭되는 인증서를 찾고 인증서가 인식된 루트 CA 인증서에 연결된 경우에만 인증을 허용합니다.
pam_krb5
구성 문제를 해결하려면 다음 명령을 사용하여 디버그 모드에서 수동으로 kinit
를 호출할 수 있습니다.
KRB5_TRACE=/dev/stdout kinit -V
이 명령은 Kerberos 티켓 허가 티켓(TGT)을 성공적으로 받을 것입니다. 실패할 경우 명령에 올바른 Kerberos 보안 주체 이름을 명시적으로 추가해 보세요. 예를 들어, corp.example.com
도메인에 있는 mmajor
사용자의 경우 다음 명령을 사용하세요.
KRB5_TRACE=/dev/stdout kinit -V mmajor
이 명령이 성공하면 사용자 이름을 Kerberos WorkSpace 사용자 이름으로 매핑할 때 문제가 발생할 가능성이 큽니다. /etc/krb5.conf
파일의 [appdefaults]/pam/mappings
섹션을 확인하세요.
이 명령은 성공하지 못했지만 암호 기반 kinit
명령은 성공하면 /etc/krb5.conf
파일에서 pkinit_
관련 구성을 확인하세요. 예를 들어, 스마트 카드에 둘 이상의 인증서가 들어 있는 경우 pkinit_cert_match
를 변경해야 할 수 있습니다.