AWS 환경으로의 액세스 제한하기 – AWS SSO

AWS SSO에 대해 간략하게 작성한 글입니다
2023.09.26

안녕하세요 클래스메소드의 수재입니다.
고객에게 AWS 환경으로 액세스를 제한하는 방법에 대해 설명할 일이 있었습니다.
해당 내용을 저도 정리할 겸 블로그로 작성해보겠습니다.

IAM 역할 전환

AWS SSO 를 도입하여 액세스 제한을 검토하고 있다면 IAM 역할 전환도 검토를 하는 경우가 많습니다.
간단히 설명하자면 A라는 환경에 접속해야하는 여러 명의 유저가 있는 경우, A라는 환경에 그 유저들의 역할을 생성한 후 유저들은 그 역할을 빌려서 A 환경에서 조작을 할 수 있도록 해주는 기능입니다.
많이 쓰이는 기능이기도하고 이미 관련 내용이 많이 있기 때문에 본 글에서는 참고가 되는 자료 소개만 하도록 하겠습니다.

AWS SSO에 대해

SSO 자체에 대해서는 AWS에서 작성한 글과 그림으로 이해하기 쉽게 작성된 글도 있어서 읽어보시는 것을 추천합니다.
- SSO란 무엇입니까?(AWS) - SSO(Single Sign-On)이란? (토마의 엔지니어링 노트)

이러한 SSO의 기능을 AWS와 연계하여 사용할 수 있도록 지원하는 것이 AWS SSO 입니다.

특징

AWS Organizations와 통합
AWS SSO를 활성화하기 위해서는 AWS Organizations를 필요로 합니다.
AWS Organiztions의 마스터 계정에서 SSO를 활성화하여 조직 내의 관리가 훨씬 쉬워집니다.
따라서 개별 AWS 계정에 대해 하나하나 권한을 설정할 필요가 없어집니다.

AD 통합
AWS SSO를 활성화 할 때 디렉터리를 선택할 필요가 있습니다.
이 때 디렉터리 서비스로서 AWS SSO를 선택할 수 있지만 AD를 선택할 수도 있습니다.
AD로는 AWS의 AD 서비스인 AWS Managed Microsoft AD를 사용하거나
온프레미스에서 운용중인 AD를 그대로 이용하기 위해 AD Connector를 이용하는 것도 가능합니다.

클라우드 어플리케이션과의 연동 Slack, Office365 등 다른 클라우드 어플리케이션과 연동하여 사용할 수 있습니다.
AWS SSO에서 현재 연동된 어플리케이션을 확인할 수 있습니다.

그룹으로 사용자 관리 IAM Group과 같이 동일한 권한을 가지도록 그룹을 이용하여 사용자들의 권한을 관리할 수 있습니다.

간단한 시작 설정
단순하게 클릭 몇 번 만으로 SSO를 활성화 할 수 있습니다.

AWS SSO 시작해보기

AWS 콘솔의 IAM Identity Center 에서 SSO를 활성화 할 수 있습니다.
SSO를 활성화하기 전에 AWS Organiations의 활성화가 필요합니다.
Organizations가 활성화되어 있다면 다음과 같은 순서로 SSO를 활성화 할 수 있습니다.

자격 증명 소스 선택

우선 자격 증명을 저장할 저장소를 선택합니다.
가장 간단한 방법은 AWS SSO의 자격 증명 센터 디렉터리를 선택하는 방법입니다.
필요에 따라 온프레미스의 AD나 AWS 상의 AD, 외부 자격 증명 공급자를 선택하는 것도 가능합니다.(아래 이미지는 작성이 아닌 변경을 누른 후의 이미지이기 때문에 처음 작성 페이지와는 조금 다를 수 있습니다)

사용자 관리

이후 필요에 따라 사용자를 추가하거나 권한을 부여할 수 있습니다.
사용자의 추가는 왼쪽의 [사용자] 탭에서 추가/삭제 할 수 있습니다.
필요 정보는 다음과 같습니다.
입력한 이메일로 초대 메일이 발송되며 수신자는 해당 메일의 승락 버튼을 눌러 SSO에 참가할 수 있습니다.
사용자들의 공통된 권한을 부여하기 위해서 필요에 따라 권한이 부여된 [그룹]을 만들어 관리할 수 있습니다.
유저는 복수의 그룹에 참여할 수 있으며 참가한 그룹의 모든 권한이 합쳐져서 유저에게 적용됩니다.

IAM 역할 전환과 SSO 의 검토

SSO와 IAM의 역할 전환 모두 필요에 따라 유저의 권한을 부여하고 관리할 수 있도록 돕는 기능입니다.
두 방법의 차이를 간략하게 정리하자면 다음과 같습니다. 조건 등을 확인해보고 적절한 방법을 도입하는 것이 좋을 것 같습니다.

  • AWS IAM 역할 전환
    • organizations 등은 불필요
    • AWS IAM에 대한 이해 필요
    • 다른 클라우드와의 연계 불가능
    • 보안 설정은 AWS에서 제공하고 있는 방법만 가능
  • AWS SSO
    • organizations 필요
    • IAM에 비해 직관적인 UI(단, 권한 설정에 대해서는 어느정도 지식이 필요)
    • 다른 클라우드 어플리케이션과 연동 가능
    • SSO와 SAML을 중점으로한 보안 확장 가능

로그인에 관한 보안

IAM 역할 전환을 이용하는 경우 AWS IAM에서 가능한 범위 안에서 로그인의 보안 설정이 가능합니다.
대표적인 방법이 MFA나 접속하는 소스 IP, 특정 VPN 경유 등을 체크하는 방법이며 외부에서 제공하는 방법은 설정할 수 없습니다.

대부분의 경우 소스 IP나 MFA 만으로 보안 요건을 충족할 수 있지만 그 이상의 보안 설정을 요구한다면 IAM 역할 전환으로는 충족하기 어려울 가능성이 있습니다.
이럴 때 SSO를 이용한다면 생체 인증 등을 활용한 보안 강화를 설정할 수 있습니다.

마무리

로그인을 제한한 AWS 환경을 구축하는 것은 AWS에서도 베스트 프렉티스로서 권장하고 있습니다.
필요에 따라 적절한 방법을 도입하여 보다 안전한 환경을 구성하여 사고를 예방하도록 합시다.

긴 글 읽어주셔서 감사합니다.
오탈자 및 내용 피드백은 must01940 지메일로 보내주시면 감사합니다.