Search
Duplicate
📒

[AWS - SAA] 18. IAM - 고급

상태
완료
수업
AWS - Solutions Architect
주제
AWS
4 more properties
참고

AWS Organizations

NOTE
다수의 AWS 계정을 동시에 관리할 수 있게 해주는 서비스!
다음과 같이 조직내에 그룹을 계속해서 만들 수 있음!
조직을 생성하면 조직의 메인 계정이 관리 계정이 되고 조직에 가입한 계정이나 생성한 계정은 멤버 계정이 된다.
멤버 계정은 한 조직에만 소속된다.
조직 내 모든 계정의 비용을 통합 결제 가능
계정 간에 예약 인스턴스와 Savings Plans 할인이 공유된다.

AWS Organization 장점

NOTE
다수의 계정을 가지므로 다수의 VPC를 가진 단일 계정에 비해 보안이 뛰어나다.
결제 목적의 태그 기준을 적용할 수 있다.
모든 계정에 대해 CloudTrail을 활성화해서 모든 로그를 중앙 S3 계정으로 전송 가능하다.
보안측면에서 서비스 제어 정책(SCP)를 정의 가능하다.

SCP (서비스 제어 정책)

NOTE
사용자 및 역할을 제한하기 위해 OU또는 계정에 적용되는 IAM 정책!
마스터 계정에는 적용되지 않는다(관리자 권한)
명시적 허용이 있어야 한다. (IAM과 같이 기본적으로는 아무것도 허용하지 않는다)
다음과 같은 계층으로 누가 뭘 할 수 있는지 알아보자!
다음과 같이 허용이나 블락을 할 수 있음!
관리계정 ⇒ SCP가 적용되지 않음
계정 A
무엇이든 할 수 있다.
Redshift(OU의 명시적 거부)
계정 B
무엇이든 할 수 있다.
EXCEPT 엑세스 Redshift(Prod OU의 명시적 거부)
EXCEPT 엑세스 Lambda(HR OU의 명시적 거부)
계정 C
무엇이든 할 수 있음
예외 액세스 Redshift(Prod OU의 명시적 거부)

IAM 고급

IAM Conditions

NOTE
IAM 내부의 정책에 적용되며 사용자 정책일 수도 있고, 리소스 정책일 수도 있음!
Conditions 부분! ⇒ API 호출시 클라이언트 IP를 제한하는 방식! ex) 회사 네트워크에서만 AWS 사용을 가능하게 함
Conditions 부분! ⇒ API 호출 지역을 제한하는 방식! ex) 특정 지역에서 특정 서비스에 대한 엑세스를 허용/거부
Conditions 부분! ⇒ 태그로 제한하는 방법 ex) EC2의 태그가 DataAnalytics인 경우 허용

IAM 역할 vs 리소스 기반 정책

NOTE
IAM 역할
원래 권한을 포기하고 역할에 할당된 권한을 가진다!
Kinesis Data Stream, ECS 작업 등은 IAM역할 사용
리소스 기반 정책
보안 주체는 자신의 권한을 포기할 필요가 없다!
AWS Lambda, SNS, SQS, API Gateway 등은 리소스 기반 정책을 사용
리소스 기반 정책을 지원하는 서비스와 리소스가 늘고있음!

IAM Permission Boundaries

NOTE
권한경계는 사용자와 역할만 지원하고 그룹은 지원하지 않는다!
권한경계 ⇒ S3, CloudWatch, EC2를 모두 허용 이걸 IAM에 연결하는것이 권한경계이다!
IAM 권한 경계와 IAM 정책을 통한 권한을 연결하면 아무 권한도 생기지 않는다!
IAM 정책은 IAM 권한 경계 밖에 있기 떄문에 사용자가 다른 IAM 사용자를 생성할 수 없다.
IAM 권한 경계는 SCP와 함께 사용할 수 있음!
관리자가 아닌 사용자에게 책임을 위임하기 위해 권한 경계 내에서 새 IAM 사용자 생성
권한을 스스로 부여하고 관리하는데 특권 남용을 위해 스스로를 관리자로 만들지 못하게 할 때
계정에 SCP를 적용해서 계정의 모든 사용자를 제한하지 않고 특정 사용자만 제한할 때

IAM 정책 평가 로직

NOTE
관심 있으면 한번 읽어보자..

Amazon Cognito

NOTE
사용자(AWS 외부)에게 웹 모바일 앱과 상호작용 할 수 있는 자격 증명을 부여해준다!
사용자 풀
자격 증명 풀
수백 명의 모바일 사용자, SAML을 통한 인증 등의 키워드가 나오면 Amazon Cognito를 떠올릴 것
세분화된 액세스 제어를 위해 DynamoDB에서 행 수준 보안을 활성화할 수 있음

Amazon Cognito User Pools(CUP)

NOTE
웹 및 모바일 앱을 대상으로 하는 서버리스 사용자 DB!
인증의 개념! ex) 클럽 입구에서 경비원이 신분증을 확인하는 것 ⇒ 뭘하는지 결정하는게 아닌 누구인지만 알아냄
사용자 이름 또는 이메일, 비밀번호의 조합으로 간단한 로그인 절차 정의
비밀번호 재설정, 이메일 및 휴대폰 인증 가능
Multi Factor Authentication(MFA) 인증 기능
Facebook, Google 등과 통합할 수 있어서 소셜 로그인 가능
API Gateway나 Application Load Balancer와 통합

Amazon Cognito Identity Pools(Federated Identites)

NOTE
임시 AWS 자격 증명을 사용해 AWS 계정에 직접 액세스
승인의 개념! ex) 인증을 받고 클럽에 들어온 다음에 발생한다. 실내에 들어간 이후의 스탬프나 팔찌의 개념! 내가 뭘 할 수 있는가를 나타냄
사용자는 Cognito 사용자 풀 내의 사용자가 될 수도 있고 타사 로그인이 될 수도 있음
직접 또는 API Gateway를 통해 서비스에 엑세스 가능
자격 증명에 적용되는 IAM 정책은 Cognito 자격 증명 풀 서비스에 사전 정의되어 있음
기본 IAM 역할을 정의할 수도 있고, 게스트 사용자나 특정 역할이 없는 사용자는 기본 IAM 역할을 상속

AWS IAM Identity Center

NOTE
AWS Single Sign-On 서비스의 후속 서비스로 이름만 변경된 동일한 서비스
Identity Center로 들어가서 비밀번호를 입력하지 않고 바로 로그인함!
한 번만 로그인하면 되니까 Single Sign-On이라 함!
AWS 조직의 AWS 계정
SAML 2.0 통합이 가능한 애플리케이션
Identity 공급자는 IAM 자격 증명 센터에 내장된 ID 저장소나 서드 파티 ID 공급자에 연결 가능
여러 개의 AWS 계정을 가지고 있다면 사용하는걸 권장한다.

AWS IAM Identity Center - 동작

NOTE
간단하게 요약하면 다양한 방식으로 동작한다.. (자세하게 몰라도 될듯)

AWS IAM Identity Center - 세분화된 권한

NOTE
다중 계정 권한
조직에서 여러 계정에 대한 엑세스 를 관리할 수 있음
권한 셋을 사용하여 사용자를 그룹에 할당하는 하나 이상의 IAM 정책을 정의!
애플리케이션 할당
어떤 사용자 또는 그룹이 어떤 애플리케이션에 엑세스할 수 있는지 정의
필요한 URL, 인증서, 메타데이터 제공
속성 기반 액세스 제어
태그를 사용하여 비용 센터에 할당하거나 직함 등을 주어 특정 리전에만 엑세스 가능

AWS Directory Service

Microsoft Active Directory(AD)

NOTE
조직의 디지털 전화번호부라고 생각!
AD 도메인 서비스가 있는 모든 Windows 서버에서 찾을 수 있다.
객체 데이터베이스이며 사용자 계정, 컴퓨터, 프린터, 파일 공유, 보안 그룹이 객체가 될 수 있다.
모든 객체는 트리(tree)로 구성되고, 트리의 그룹을 포레스트라고 함

AWS Direcotry Service

NOTE
AWS Managed Microsoft AD
AWS에 자체 AD를 생성하고 로컬에서 관리할 수 있으며 MFA를 지원
독립 실행형 AD로 온프레미스 AD와 상호 신뢰 관계를 구축
AD Connector
디렉토리 게이트웨이(프록시)로 온프레미스 AD에 리다이렉트하며 MFA를 지원
사용자는 온프레미스 AD에서만 관리
Simple AD
AWS의 AD 호환 관리형 디렉토리
Microsoft 디렉토리를 사용하지 않으며 온프레미스 AD와도 결합되지 않음
온프레미스 AD가 없으니 AWS 클라우드에 AD가 필요한 경우 사용하는 서비스

Amazon Control Tower

NOTE
모범 사례를 기반으로 안전하고 규정을 준수하는 다중 계정 AWS 환경을 손쉽게 설정 및 관리할 수 있는 서비스!
다중 계정 생성을 위해 AWS Control Tower는 AWS Organization 서비스를 사용해 계정을 자동 생성
AWS Control Tower의 장점
클릭 몇 번으로 환경을 자동으로 설정 할 수 있고 구성이 가능
가드레일을 사용해 자동으로 지속적인 관리 가능
대시보드를 통해 모든 계정의 규칙 준수를 모니터링
AWS Control Tower - 가드레일
AWS Control Tower 환경 내의 모든 계정에 대한 거버넌스를 얻는다.
예방 가드레일
AWS Organization 서비스의 SCP를 사용해 적용
탐지 가드레일
AWS Config 서비스를 사용하여 규정을 준수하지 않는 것을 탐지한다