안녕하세요 서후아빠입니다. ^_^
이번 세션은 Control Tower 2편으로 Control Tower에서 관리 중인 AWS 계정 로그인을 위한 SSO에 대해서 실습을 해보겠습니다. 그리고 Okta 연동하여 Okta에서 생성된 그룹과 사용자가 IAM Identitiy Center에 반영되고 Okta를 통해 AWS 계정에 로그인하는 방법도 함께 살펴보겠습니다.
구성도
1단계 : 신규 그룹 및 사용자 생성 (AWS IAM의 User groups, Users와 같은 개념)
Management 계정 > IAM Identity Center > Groups > Create group
Group name | Description (옵션) |
ProdAdminAccess | Prod Account Admin Group |
ProdViewOnlyAccess | Prod Account ViewOnly Group |
Management 계정 > IAM Identity Center > Users > Add user
Specify user details | Add user to groups (옵션) |
Username : sample+admin@gmail.com Password : Send an email to this user with password setup instructions. Email address : sample+admin@gmail.com Confirm email address : sample+admin@gmail.com First name (예시) : sample Last name (예시) : admin |
ProdAdminAccess 선택 |
Username : sample+viewonly@gmail.com Password : Send an email to this user with password setup instructions. Email address : sample+viewonly@gmail.com Confirm email address : sample+viewonly@gmail.com First name (예시) : sample Last name (예시) : viewonly |
ProdViewOnlyAccess 선택 |
MFA 설정 방법 : 사용자 선택 > MFA devices (tab) > Register MFA device > 인증 앱 or 보안키 중 선택 |
2단계 : Permission sets 설정
Management 계정 > IAM Identity Center >Permission sets > Create permission set
Select permission set type | Specify permission set details |
Types : Predefined permission set Select an AWS managed policy : AdministratorAccess |
Permission set name : AdministratorAccess Session duration : 1 hour |
Types : Predefined permission set Select an AWS managed policy : ViewOnlyAccess |
Permission set name : ViewOnlyAccess Session duration : 1 hour |
Management 계정 > IAM Identity Center > AWS accounts > Prod 계정 선택 > Assign users or groups
Select users and groups | Select permission sets |
Groups (tab) : ProdAdminAccess 선택 | AdministratorAccess |
Groups (tab) : ProdViewOnlyAccess 선택 | ViewOnlyAccess |
Users and groups (tab) : 그룹별로 적정한 Permission sets 부여 상태 확인합니다. IAM처럼 User 개별로 권한부여하기보다는 Group에 권한을 부여하는 것을 권고합니다. |
3단계 : 신규 사용자 계정으로 SSO 로그인
"sample+admin@gmail.com" 메일 로그인 > 수신 메일 확인 "Invitation to join AWS Single Sign-on"
Accept Invitation 클릭 > AWS SSO 페이지 이동 > 초기 패스워드 변경
메일 본문 하단에서 SSO 정보 확인
- Your User portal URL (=SSO Portal URL) : https://xxxxx.awsapps.com.start
- Your Username : sample+admin@gmail.com
브라우저 통해서 ‘https://xxxxx.awsapps.com.start‘ 접속 > Username (sample+admin@gmail.com) > AWS Accounts 클릭 > sample 클릭 > AdministratorAccess 권한 확인, Management console 클릭하여 AWS 계정으로 접속
MFA 설정한 경우 2FA 인증 후, 로그인 처리됩니다. sample+viewonly@gmail.com 경우는 로그인하면 ViewOnlyAccess로 확인됩니다. |
구성도 (Okta 연동)
SCIM (System for Cross-domain Identity Management) - 사용자 프로비저닝을 자동화할 수 있는 개방형 표준 - 사용자 ID 수명 주기 관리 프로세스 자동화 |
Okta-1단계 : Okta 계정 및 그룹 생성
https://developer.okta.com/signup/으로 이동하여 연습계정 생성 > 메일 인증 > 초기 패스워드 설정
https://developer.okta.com/login으로 이동하여 Admin으로 로그인
Okta > Directory > People > Add person
User type | First name | Last name | Username | Primary email |
User | 01 | admin | admin01@gmail.com | admin01@gmail.com |
Okta > Directory > Groups > Add group > Name (NetworkAdminAccess) > Save
Okta > Directory > Groups > Add group > NetworkAdminAccess 선택 > People (tab) > Assign people > admin01@gmail.com 선택 > Done
https://developer.okta.com은 개발용 도메인이고, 실제 서비스 도메인은 https://www.okta.com/ 입니다. |
Okta-2단계 : Okta 연동
Okta > Applications > Applications > Browse App Catalog > “AWS IAM Identity Center” 검색 > Add Integration > Done > Sign On (tab) > SAML Signing Certificates > SHA-2의 Actions > View IdP metadata를 마우스 우클릭하여 metadata.xml로 저장
Management 계정 > IAM Identity Center > Settings > Identity source (tab) > Actions > Change identity source
Choose identity source | Configure external identity provider | Confirm change |
External identity provider | IAM Identity Center Assertion Consumer Service (ACS) URL : URL 복사 IAM Identity Center issuer URL : URL 복사 IdP SAML metadata : metadata.xml 선택 |
Confirm that you …. : ACCEPT |
Management 계정 > IAM Identity Center > Settings > Identity source (tab)
Attributes for access control | Automatic provisioning |
Enable | Enable |
Management 계정 > IAM Identity Center > Settings > Identity source (tab) > Actions > Manage provisioning > SCM endpoint와 Access tokens 복사
Access tokens은 해시값이며, 생성 시 1회에 한해서 확인 가능하고, 필요 시 생성하여 사용하면 됩니다. |
Okta > Applications > Applications > AWS IAM Identity Center > Sign On (tab) > Settings의 Edit
Sign on methods |
AWS SSO ACS URL : IAM Identity Center Assertion Consumer Service (ACS) URL 붙여넣기 AWS SSO issuer URL : IAM Identity Center issuer URL 붙여넣기 |
Okta > Applications > Applications > AWS IAM Identity Center > Provisioning (tab) > Configure API Integration > Enable API integration (체크) > Save
API integration |
Base URL : SCIM endpoint 붙여넣기 (끝부분의 ‘/’는 꼭 제거하고 붙여넣기, '/' 있으면 에러 발생) API Token : Access tokens 붙여넣기 |
Okta > Applications > Applications > AWS IAM Identity Center > Provisioning (tab) > To App
To App > Provisioning to App > Edit > 아래 설정 > Save |
Create Users / Update User Attributes / Deactivate Users : Enable |
Okta > Applications > Applications > AWS IAM Identity Center > Assignments (tab) > Assign > Assign to Groups > NetworkAdminAccess Assign > 팝업창에서 변경사항 없으면 Save and Go Back > Assigned 확인 > Done
Okta > Applications > Applications > AWS IAM Identity Center > Push Groups (tab) > Push Groups > Find groups by name > Network 입력하여 NetworkAdminAccess 선택 > Save
Okta > Applications > Applications > AWS IAM Identity Center > Push Groups (tab) > All에서 Push Status가 Active 확인
Management 계정 > IAM Identity Center > Groups > NetworkAdminAccess 동기화 확인
Management 계정 > IAM Identity Center > Users > admin01@gmail.com 동기화 확인
"2단계 : Permission sets 설정" 참고하여 신규 그룹과 사용자 설정 (설명 SKIP) |
Okta > My end user dashboard > My Apps > Work > AWS > IAM Identity Center : 접속 테스트
Okta-3단계 : Okta MFA 설정
Okta > Security > Authenticators > Add Authenticator > Okta Verify를 Add
Add Okta Verify |
Push notification (Android and iOS only) : 체크 Okta FastPass (All platforms) : 체크 - Show the "Sign in with Okta FastPass" button : 체크 |
Okta > Applications > Applications > AWS IAM Identity Center > Sign On (tab) > User authentication의 View policy details > Rules(tab) > Add rule
Rule name | IF | THEN |
ForceMFA | default값 유지 | User must authenticate with : Possession factor 선택 If Okta FastPass is used : Okta Verify 확인 Re-authentication frequency is : Every sign-in attempt 나머지 : default값 유지 |
Okta에서 지원되는 MFA : Email, Google Authenticator, IdP Authenticator, Okta Verity, On-prem MFA, Password, Phone, RSA SecurID, FIDO2, Security Quention, Symantec VIP |
'Management' 카테고리의 다른 글
[실습] CloudWatch Log groups & Metrics (Agent 이용한 로그&지표 수집, 쿼리문 이용한 로그 검색, S3로 내보내기) (0) | 2023.05.15 |
---|---|
[실습] Control Tower 구성하기 - 3편 (보안과 규제 관리) (0) | 2023.02.10 |
[실습] Control Tower 구성하기 - 1편 (배포, AWS 계정 관리, LifeCycle 이벤트, 메뉴) (0) | 2023.02.10 |
[이론] Control Tower (Organizations, SSO) 기본 개념 (0) | 2023.02.10 |
[실습] Telegram Bot or Slack Channel연동하여 CloudWatch Alarm 메시지 받기 (1) | 2023.01.25 |