본문 바로가기

Management

[실습] Control Tower 구성하기 - 2편 (IAM Identity Center = SSO, Okta 연동)

반응형

안녕하세요 서후아빠입니다. ^_^

이번 세션은 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
반응형