기존에는 Microsoft의 AD를 이용하여 계정 관리를 했다. 그러나 AWS를 사용하게 되어 계정 관리를 분리해서 사용했고, 관리하기가 너무 어렵고 귀찮다.
그래서 Microsoft AD와 AWS Directory Service를 이용하여 AWS SSO 연동을 통해 계정 관리를 추천한다.
AWS Oraganizations을 이용하여 AWS Directory Service 계정으로 AWS Console을 로그인하는 방법을 알아보겠다.
먼저, 아래 그림과 같이 AWS Organizations에서 아래 그림과 같이 AWS SSO와 Directory Service를 활성화 한다.
AWS Organizations 활성화
[AWS Web Console] -> [AWS Organizations]
AWS Directory Service 생성
AWS Organizations을 조작할 수 있는 계정에 로그인 한다. 그리고 AWS SSO를 생성할 지역으로 이동한다.
[AWS Web Console] -> [AWS Directory Service] -> [Microsoft AD 생성]
Microsoft AD 생성 시 두 개 이상의 Subnet을 선택해야 한다. 도메인 이름과 비밀번호를 선택한 후 Directory Service를 생성한다. 시간은 약 30~40분정도 소요된다.
AWS SSO(Single Sign-On) 활성화
[AWS Web Console] -> [AWS SSO] -> [Enable AWS SSO]
AWS SSO는 한 리전에서만 활성화가 가능하다. 활성화 하는데 약 30초의 시간이 소요된다.
AWS SSO에 Directory Service 연결
AWS SSO가 활성화 된 후 아래와 같은 화면에서 Managed your directory를 선택한다.
현재 설정된 Directory를 AWS Directory Service로 바꾸기 위해 Change directory를 선택한다.
Change directory 화면이 나오면 Microsoft AD directory를 선택한 후 앞서 생성한 Managed Microsoft AD를 선택한다.
Next: Review 버튼을 클릭하면 기존 AWS SSO 설정이 전부 삭제된다는 안내 문구가 뜨며, TEXT 창에 Confirm 이라고 기입하고 Finish 버튼을 클릭한다.
옆 그림과 같이 기존 AWS SSO directory가 삭제되고, AWS Directory Service가 연결됐는지 확인한다.
AWS SSO와 AWS Directory Service가 정상적으로 연결되면 아래와 같이 설정된다. Attribute mappings는 언제든 원하는대로 수정이 가능하다.
AD에 User 및 Group 생성
Directory Service의 ADDS에 연결하여 User와 Group을 생성한다. 이 때 AD에 Join 된 Windows EC2가 필요하다.
또한 E-mail Address를 입력을 권장한다.
Permission 설정
[AWS Web Console] -> [AWS SSO] -> [AWS Accounts]
AWS Accounts에서 Permission sets 탭으로 이동하고, Create permission set 버튼을 눌러 정책을 생성한다.
User an existing job function policy, AdministratorAccess를 선택하고 Create 버튼을 클릭한다. 이 옵션은 AWS SSO에서 제공하는 정책을 이용할 때 사용된다.
Create a custom permission set을 선택한다.
Name을 입력한다. 이 이름으로 각 AWS Account에 Role이 생성되며, 사용자가 보는 정책 이름이다. 한번 설정하면 수정할 수 없다.
Session duration은 로그인한 계정의 세션 지속시간을 나타낸다. 이 값은 Idle time이 아닌 로그인 후 강제 로그아웃시 까지의 시간을 나타낸다.
What policies do you want to include in
your permission set? 메뉴에서 Create a custom permissions policy를 선택한다.
Create a custom permissions policy 메뉴에서 IAM Policy를 JSON 형식으로 입력한 후 Create 버튼을 클릭 한다.
AWS Account에 Permission 연결
AWS Account Console에서 AWS organization 탭으로 이동한다. 그럼 아래와 같은 화면에서 AWS account를 선택하고 Assign users 버튼을 클릭한다.
Assign Users 창에서 Groups을 선택하면 AD의 Group을, users를 선택하면 AD의 User를 검색할 수 있다. Users를 선택한 후 생성한 계정을 검색한다.
검색된 계정을 선택하고, Next: Permission sets 버튼을 클릭한다. Select permission sets에서 어떤 Permission을 연결할 지 선택한 후 Finish 버튼을 클릭하여 연결한다.
AWS SSO 동작 확인
AWS SSO Console에서 Directory로 이동한다. Details 섹션에서 User portal URL에 있는 주소를 복사해서 새로운 브라우저에 연결한다. 그리고 AD에서 생성한 계정으로 로그인 한다.
로그인이 완료되면 AWS Account에 연결된 두 개의 계정을 확인하고 로그인 하려는 계정을 선택해서 Management console을 클릭한다.
선택한 계정에서 SSO로 로그인이 됐는지 확인한다.
AWS Account에 연결된 성정 관리
[AWS Web Console] -> [AWS SSO] -> [AWS Accounts]
관리할 AWS Account를 선택한다. 위와 같은 화면이 나오면 사용자 또는 그룹을 추가/제거 하거나 연결된 Permission set을 관리할 수 있다.
AWS SSO의 제약상항은 아래와 같다.
- AWS SSO는 하나의 지역에서만 활성화할 수 있다.
- AWS SSO는 현재 2019-10-30 기준, N.Virginia, Ohio, Oregon, Singapore, Sydney, Frankfurt, Ireland, London Region만 가능하다.
- AWS SSO와 Directory Service는 동일한 지역에 존재해야 한다.
참고 자료
AWS Blog
AWS Document
'AWS' 카테고리의 다른 글
AWS IAM Identity Center를 활용한 Datadog SSO 인증 (0) | 2023.06.27 |
---|---|
AWS와 GCP 클라우드 상품 비교 (0) | 2019.12.24 |
AWS Public Cloud 비교(AWS, Azure, Google Cloud Platform, OpenStack) (0) | 2016.04.09 |
AWS 활용 Web Application 구축(VPC, Security Group, NACL, ELB, Auto Scaling, VPN) (0) | 2016.03.21 |
AWS Korea Region Open (0) | 2016.01.08 |