[ISMS] AWS WorkSpaces Pools + Okta SAML 세부 구성 가이드 (2편)
2026. 3. 19. 10:20ㆍ기타/ISMS
728x90
SMALL
ISMS 인증심사를 위한 망분리를 위해 WorkSpaces Pools를 구성한 과정을 단계별로 정리했다. Okta SAML SSO 연동, non-persistent Pool, 커스텀 이미지(Chrome 기본)까지 포함한다.
개요
- 목적: ISMS 인증심사 대응 망분리. 개인정보 접근 환경을 일반 업무망과 분리한 전용 WorkSpaces Pool 구성
- 사전 준비: 리전(예: ap-northeast-2), VPC(Private 서브넷 2개, NAT), Okta Admin 권한, AWS IAM·WorkSpaces 콘솔 접근
관련 글: 구성기 (1편)에서 WSP, 트러블슈팅 확인. 1편 먼저 읽기 권장.
[일반 업무망] [개인정보 접근 전용망]
사용자 PC ······················► admin (직접 접근 불가)
│
▼
Okta ──(SAML)───► WorkSpaces Pool ───(NAT EIP)───► admin
사전 확인
| 항목 | 확인 |
|---|---|
| 리전 | Pool 운영 리전 (예: ap-northeast-2 서울) |
| VPC | Private 서브넷 2개 (서로 다른 AZ), NAT Gateway 아웃바운드 |
| Okta | Admin 권한, SAML 앱 생성 가능 |
| AWS | IAM, WorkSpaces 콘솔 접근 권한 |
aws ec2 describe-subnets --filter "Name=vpc-id,Values=YOUR_VPC_ID" \
--region ap-northeast-2 \
--query 'Subnets[*].[SubnetId,AvailabilityZone,CidrBlock]' --output table
방법
Step 1: Pools 디렉토리 생성
- WorkSpaces 콘솔 접속
- Directories, Create directory
- WorkSpace type: Pool
- User identity source: User access URL
placeholder(나중에 Okta Sign on URL로 변경), Relay state parameter name 비움 - Directory information: Name, Description
- Networking: VPC, Private 서브넷 2개 (서로 다른 AZ), Access to internet 활성화 (Private 시 생성 후 CLI로 false)
- Security group: 아웃바운드 TCP 80, 443, UDP 4195
- Active Directory Config: 건너뜀
- Storage: Home folders 비활성화
- Create directory
확인: 디렉토리 ID (wsd-로 시작), Registration code 메모
Step 2: Okta SAML 앱 생성
- Okta Admin, Applications, Create App Integration
- SAML 2.0, Next
- Single sign on URL:
https://signin.aws.amazon.com/saml - Audience URI:
https://signin.aws.amazon.com/saml - Name ID format: Persistent
- Save
- Sign On 탭, Identity Provider metadata URL 복사
Step 3: IAM SAML IdP 생성
- IAM Identity providers 접속
- Create provider, Provider type: SAML
- Provider name: 예) OktaWorkSpacesPools
- Metadata document: Okta 메타데이터 URL 붙여넣기 또는 XML 파일 업로드
- Create provider
Step 4: IAM SAML 역할 생성
- IAM Roles, Create role
- Trusted entity: SAML 2.0 federation, Step 3 IdP 선택
- Allow programmatic access only
- Role name: 예) WorkSpacesPoolsOktaRole, Create role
Trust relationships 수정:
sts:TagSession추가- Condition을
SAML:aud=https://signin.aws.amazon.com/saml로 변경 (SAML:sub_type 아님)
"Condition": {
"StringEquals": {
"SAML:aud": "https://signin.aws.amazon.com/saml"
}
}
인라인 정책 추가:
{
"Effect": "Allow",
"Action": [
"workspaces:CreateStreamingSession",
"workspaces:DescribeWorkspacesPoolDirectory",
"workspaces:Stream"
],
"Resource": "arn:aws:workspaces:ap-northeast-2:YOUR_ACCOUNT_ID:directory/DIRECTORY_ID"
}
Step 5: workspaces_DefaultRole
- IAM, Roles,
workspaces_DefaultRole검색 - 없으면: WorkSpaces Quick Setup 또는 Personal WorkSpace 1회 실행으로 자동 생성
- Add permissions, Attach policies,
AmazonWorkSpacesPoolServiceAccess연결
Step 6: Okta SAML 앱 속성
- Okta Admin, Applications, Step 2 앱 클릭
- Sign On 탭, Edit
- Attribute statements, Add Attribute 3개:
| Name | Value |
|---|---|
https://aws.amazon.com/SAML/Attributes/Role |
"arn:aws:iam::YOUR_ACCOUNT_ID:role/WorkSpacesPoolsOktaRole,arn:aws:iam::YOUR_ACCOUNT_ID:saml-provider/OktaWorkSpacesPools" (따옴표 포함, Constant) |
https://aws.amazon.com/SAML/Attributes/RoleSessionName |
user.profile.email |
https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email |
user.profile.email |
- Save
- Assign 탭, 사용자 또는 그룹 할당
Step 7: Okta Relay State
- Okta 앱, Sign On, Edit, Show Advanced Settings
- Relay State URL:
https://workspaces.euc-sso.ap-northeast-2.aws.amazon.com/sso-idp?registrationCode=REGISTRATION_CODE - REGISTRATION_CODE를 Step 1 디렉토리 Registration code로 교체 (공백은
+) - 파라미터명: RelayState
Step 8: 디렉토리에 SAML 활성화
- WorkSpaces, Directories, Pools directories
- Step 1 디렉토리 선택
- Authentication, Edit, Edit SAML 2.0 Identity Provider
- User Access URL: Okta 앱 Sign on URL 전체 복사 (appId 포함 필수)
- IdP deep link parameter name: RelayState
- Save
Step 9: WorkSpaces Pool 생성
- WorkSpaces, Pool, Create WorkSpaces Pools
- Bundle: Value (Windows Server 2019). Pool은 Linux 미지원
- Running mode: AutoStop
- Manual scaling: Minimum 0, Maximum 사용 인원 + 여유
- Select directory: Step 1 디렉토리
- Create WorkSpace Pool
Step 10: EnableInternetAccess 수정 (Private 서브넷 시)
aws workspaces modify-workspace-creation-properties \
--resource-id DIRECTORY_ID \
--workspace-creation-properties EnableInternetAccess=false \
--region ap-northeast-2
Step 11: 접속 테스트
- Okta 앱에 할당된 사용자로 로그인
- 해당 앱 타일 클릭
- WorkSpaces Pool 세션 시작
- 또는
https://clients.amazonworkspaces.com에서 Registration code 입력
(선택) Step 12: 커스텀 이미지 생성
Chrome 기본 브라우저 등 커스텀 설정이 필요하면 아래 순서로 진행. 이미지 빌더는 반드시 Value (Server 2019).
12.1 Simple AD 생성 (도쿄)
서울에는 Simple AD 없음. 도쿄(ap-northeast-1)에서 생성.
- WorkSpaces 콘솔, 리전 ap-northeast-1
- Directories, Create directory
- WorkSpace type: Personal, User identity source: Simple AD
- Directory DNS name:
imagebuilder.local(FQDN, 점 포함 필수) - Directory NetBIOS name: IMAGEBUILDER
- Administrator password: 8-64자
- Networking: VPC, Private 서브넷 2개
- Create directory
12.2 이미지 빌더 WorkSpace (도쿄)
- WorkSpaces (도쿄), Create WorkSpace
- Directory: 12.1 Simple AD
- Bundle: Value (Windows Server 2019) (WSP 필수)
- User: imagebuilder 등 1명
- Create WorkSpace, Available 대기
12.3 Chrome 설치
- WorkSpace 접속
- Edge로 Chrome 다운로드 후 설치
- 설정, 앱, 기본 앱, 웹 브라우저, Chrome
- 캐시·히스토리 삭제
12.4 Image Checker
- WorkSpace 재부팅
C:\Program Files\Amazon\ImageChecker.exe실행- Run, 모든 검사 PASSED
- Validation Successful 확인
12.5 커스텀 이미지 생성 (도쿄)
- WorkSpaces (도쿄), 해당 WorkSpace 선택
- Actions, Create image
- Image name: 예) pool-chrome
- Create image, 완료 대기
12.6 이미지 복사 (도쿄에서 서울로)
- WorkSpaces, Images, Image Registry, ap-northeast-1
- 이미지 선택, Actions, Copy image
- Destination: ap-northeast-2 (Seoul)
- Copy image, 완료 대기
12.7 커스텀 번들 생성 (서울)
- WorkSpaces, 리전 ap-northeast-2
- Images, Image Registry, 복사된 이미지, Create bundle
- Compute: Value (2 vCPU, 4GB RAM)
- Storage: Value와 동일 (Root 80GB)
- Bundle name: 예) pool-chrome-bundle
- Create bundle, Bundle ID 확인
12.8 Pool에 커스텀 번들 적용
aws workspaces update-workspaces-pool \
--pool-id POOL_ID \
--bundle-id BUNDLE_ID \
--region ap-northeast-2
12.9 빌드 리소스 삭제
- 도쿄 이미지 빌더 WorkSpace 삭제
- 도쿄 Simple AD 디렉토리 삭제
- 도쿄 커스텀 이미지 삭제 (선택)
체크리스트
- Step 1: Pools 디렉토리
- Step 2-4: Okta, IAM IdP, IAM 역할
- Step 5: workspaces_DefaultRole
- Step 6-8: Okta 속성, Relay State, 디렉토리 SAML
- Step 9-11: Pool 생성, EnableInternetAccess, 접속 테스트
- Step 12: 커스텀 이미지 (선택, Value/Server 2019 필수)
참고
- https://docs.aws.amazon.com/workspaces/latest/adminguide/managing-stacks-fleets.html
- https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-saml.html
- https://docs.aws.amazon.com/workspaces/latest/adminguide/pools-images.html
- https://docs.aws.amazon.com/workspaces/latest/adminguide/pools-images-custom-image.html
- https://help.okta.com/en-us/content/topics/apps/apps-add-saml-app.htm
- 구성기 (1편)
#AWS #WorkSpaces #WorkSpacesPools #Okta #SAML #SSO #ISMS #망분리 #인증심사 #커스텀이미지 #WSP #클라우드데스크톱
728x90
LIST
'기타 > ISMS' 카테고리의 다른 글
| [ISMS] AWS WorkSpaces Pools + Okta SAML + 커스텀 이미지 구성기 (1편) (0) | 2026.03.19 |
|---|