AWS Security Token Service
- AWS 리소스에 액세스할 수 있는 제한된 권한의 임시 자격 증명을 생성한다.
- 보안 액세스 키와 같은 자격 증명을 생성할 수 있지만 단기적인 자격 증명이기에 만료 기간을 설정해야 한다.

- 사용자가 어떤 역할에 액세스해서 그 역할을 활용하고자 한다면 STS API 호출을 통해서 역할에 권한을 위임한다.
- STS 서비스와 통신하고 API 호출의 결과로 임시 보안 자격 증명을 받는다.
- 보안 자격 증명은 액세스 키, 보안 키 그리고 세션 키와 같으며 사용 가능한 기간에 제한이 있다.
- 그리고 이 세 가지 자격 증명을 사용하여 방금 권한을 위임한 역할을 사용해서 AWS 리소스에 액세스한다.
Use cases
- Identity federation(자격 증명 페더레이션)
- 외부 시스템에서 자격 증명을 관리하고 AWS 리소스에 액세스할 수 있는 STS 토큰을 제공하는 것
- 교차 또는 동일한 계정 액세스를 위한 IAM 역할도 하나의 사용 사례이다.
- EC2 인스턴스에 IAM 역할을 제공했던 작업도 STS를 이용해 이뤄진다.
AWS에서 임시로 제한적인 권한 자격 증명이 필요할 때 AWS STS를 생각하자
Amazon Cognito
- 웹 또는 모바일 애플리케이션 사용자에게 자격 증명을 제공하는 방법이다
- 사용자의 새로운 웹 또는 모바일 애플리케이션의 사용자가 수백만 명이 있다고 할 때 애플리케이션 사용자를 위해 IAM 사용자를 만들면 안됨
- IAM 사용자는 사용자의 회사에 속해있으며 직접적으로 AWS를 사용할 사람들만을 위한 것
- 모바일 또는 웹 애플리케이션을 위해서는 Cognito를 통해 사용자를 생성할 수 있다.

- Cognito는 사용자에 대한 내부 데이터베이스를 갖는다.
- 모바일 또는 웹 애플리케이션의 수백만 명의 사용자는 Cognito에 통합된 로그인 자격 증명을 갖게 된다.
- Cognito를 이용하면 버튼으로 각종 소셜 미디어 등으로 리디렉션 돼서 해당 계정을 이용해 로그인 하는 기능을 적용할 수 있다.
웹 또는 모바일 애플리케이션 구축을 계획하고 있고 AWS에서 사용자를 관리하고 싶을 경우 적합한 서비스이다
Directory Service
Microsoft Active Directory
- Microsoft Active Directory(이하 AD)는 AD 도메인 서비스를 가지는 모든 Windows 서버에서 찾아볼 수 있다.
- 사용자 계정, 컴퓨터, 프린터, 파일 공유, 보안 그룹 등과 같은 객체의 데이터베이스이다.
- MS AD를 사용하면 중앙 집중식 보안 관리가 가능하고 계정을 만들거나 권한을 할당할 수도 있다.
- 보통 온프레미스 시스템 내에 사용된다.
- AWS에는 AD가 없기 때문에 AWS와는 다름
AWS Directory Services
AWS Managed Microsoft AD
- 로컬에서 사용자를 관리하고 멀티 팩터 인증을 지원하는 AWS에 고유한 AD를 생성하게 해준다.
- 이미 온프레미스 AD가 있을 경우 양방을 신뢰할 수 있는 연결로 설정할 수도 있다.
AD Connector
- AWS에서 보낸 요청을 온프레키스 AD로 리디렉션하는 프록시이다.
- 멀티 팩터 인증도 지원하지만 사용자는 온프레미스 AD에 잔류해야 한다.
- AD Connector에 연결하고 온프레미스 AD로 프록시 요청이 간다는 의미
Simple AD
- MS AD는 아니지만 AD 호환이 가능한 AWS 관리형 디렉토리이다.
- AD와는 결합할 수 없고, 단순히 클라우드 독립 실행형 AD일 뿐이다.
CCP 단계에선 Microsoft AD나 AD에서 Directory Service를 떠올리는 정도면 된다
IAM Identity Center
- AWS Single Sign-On(이하 SSO)의 후속 서비스이다.
- 조직의 모든 AWS 계정에 대해 한 번만 로그인하면 된다. 즉, 모든 계정에 대해 4개의 로그인을 기억하는 게 아니라, 1개의 로그인만 기억하면 된다.
- 비즈니스 클라우드 애플리케이션
- ex) Salesforce, Box, Microsoft 365 …
- SAML2.0이 활성화된 애플리케이션
- EC2 윈도우 인스턴스에서도 SSO를 할 수 있다.
- 모든 계정을 계정별로 관리하는 것이 아닌 중앙에서 관리하는 것이다.
- Identity Providers
- 사용자 데이터 저장 위치
- IAM Identity Center에 내장된 Identity 저장소
- third-party 저장소
시험에선 여러 AWS 계정에 한 번에 액세스하는 것이 나오면 IAM Identity Center에 대해 생각하자
Advanced Identity 요약
- IAM
- AWS 계정 내에서 Identity 및 액세스 관리를 하기 위한 것
- 회사에 속한 신뢰할 수 있는 사용자를 만들 수 있음
- AWS Organizations
- 이전 섹션에서 살펴본 AWS Organization은 이 섹션에서도 사용할 수 있음
- Organization 덕분에 여러 계정을 관리할 수 있기 때문
- Security Token Service (STS)
- 임시적이고 제한적이며, 권한 있는 자격 증명을 발급하여 AWS 리소스에 액세스하게 해준다.
- Cognito
- 모바일 및 웹 애플리케이션을 위한 사용자 데이터베이스를 만들어 줌
- Directory Service
- AWS에서 Microsoft Active Directory를 통합하기 위한 서비스
- IAM Identity Center
- 여러 계정과 애플리케이션에 대해 한 번의 로그인으로 여러 계정을 원활하게 탐색할 수 있게 해 줌
References