회사나 조직에서 AWS를 사용하다 보면, 다음과 같은 SSO (Single Sign On) 페이지를 통해 로그인 하는 아래와 같은 페이지를 본 적이 있으실 겁니다.

한번 설정해 보면 세션이 유지되는 동안 매번 id/password를 입력해 주지 않아도 되어서 사용하기도 편하고,
또한 aws-cli나 aws-sdk를 사용할 때도 AWS_ACCESS_KEY, AWS_ACCESS_SECRET 같은 유출되면 안 되는 정보들을 로컬 컴퓨터에 평문으로 저장하지 않아도 되어서, 보안 상으로도 이점이 있습니다.
또한 무료 서비스라 (Link ) 추가 비용도 전혀 들지 않습니다!

그러면 한번 설정해 봅시다!
1. IAM Identity Center 설정하기
1. AWS에서 SSO를 검색해서 IAM Identity Center 를 찾습니다.

2. 활성화를 눌러줍니다!
- 이 때, Identity Center는 한 리전에서만 활성화 가능하니 주로 쓰는 리전에 활성화 해 주면 추후 관리하기 좀 더 편합니다.

3. AWS Organization을 먼저 설정해 줍니다.

- 다음과 같은 에러창을 만날건데, AWS Organization을 먼저 생성해 줍니다.
- AWS Organization도 마찬가지로 무료 서비스입니다. (Link )
4. 그러면 Dashboard가 생성되는데, 추가 설정을 위해 설정으로 이동 버튼을 눌러줍니다.

5. 일단 SSO 로그인 페이지에 별칭을 부여해 봅시다.
- 기본으로 제공해 주는 로그인 페이지는
aadfbasdf-d.awsapps.com/start과 같이 자동 생성된 페이지라 기억하기 어렵습니다. - 이걸
lemonlogin.awsapps.com/start처럼 별명을 지정해 봅시다. - 딱 한 번만 설정할 수 있으므로, 신중하게 설정합시다!


6. 그룹을 추가합시다!

그룹을
7.사용자를 추가합시다!

- 사용자 추가 버튼을 누른 뒤에..

- 사용자 정보를 입력해 줍니다. 암호는 이메일로 설정 메일을 받을 수도, 일회용 패스워드를 받을 수도 있습니다.
- 기본값으로 이메일로 받도록 합시다.

이후 Group을 선택할 수 있는데, 5.에서 설정했던 그룹을 추가해 줍니다.
이후 이메일을 확인하여 초대를 수락하고, 해당 계정에 Password를 설정한 후 어딘가에 기록해 둡니다!
8. 권한을 추가합시다!

- 권한 세트를 선택합니다. 저는
AdministratorAccess를 선택했지만, 다른 값을 선택할수도 있습니다. - 사전 정의된 권한 세트에 원하는 Role이 없다면 사용자 지정으로 직접 선택할 수도 있습니다.

- 이후 나머지 설정을 적어 줍니다.
- 세션 기간의 경우, 해당 시간이 지나면 자동으로 AWS가 로그아웃 시키는 시간입니다.
- 기본은 1시간인데, 너무 자주 로그아웃 되면 귀찮아서 저는 4시간 정도로 늘렸습니다.
릴레이 상태는 로그인 성공 시 Redirect할 URL을 정할 수 있습니다. 예를 들어 Billing 권한이라면 로그인 성공시 Billing 페이지로 리다이렉션되는 식입니다.- 필요하다면 문서(Link ) 를 참고해서 설정해 주세요. 저는 빈 칸으로 남겨뒀습니다.
9. SSO 로그인 설정하기

- 이후 AWS 계정 탭에서 내 계정을 선택하고,
사용자 또는 그룹 할당을 눌러주세요.

- 위에서 설정한 그룹을 추가하고

- 위에서 설정한 권한을 추가해 주세요.
10. SSO 로그인

- 이제 5에서 추가했던 aws 로그인 주소로 가서 로그인 해 봅시다.
별칭.awsapps.com/start로 들어가서 로그인합니다.

- SSO 설정에 성공하셨습니다!
Appendix 1. 보안 강화하기

- IAM Identity Center - 설정에 들어가 SSO 계정에 대한 MFA 설정, 세션 길이 설정 등을 할 수 있습니다.
- 다른 내용은 그대로 쓰더라도,
이 사용자에게 등록된 MFA 디바이스가 없는 경우 - 로그인 시 MFA 디바이스를 등록하도록 요구옵션은 키는 것을 추천드립니다.
Appendix 2. AWS SSO로 AWS_CLI 사용하기

- SSO 설정 이후 위와 같이 aws configure sso를 이용하여 로그인 설정을 해 줍니다. (빨간색으로 밑줄친 줄은 직접 입력합니다.)
- 설정 이후
aws s3 ls커맨드 등을 이용하여 정상 세팅되었는지 확인합니다.

Comments