1. AWS 정리 - 아키텍팅, 계정 보안

joong·2022년 7월 25일
3
post-thumbnail

목표

  • 복원력 있고 안전하며 가용성이 뛰어난 IT 솔루션을 AWS에서 설계
  • Solutons Architect - Associate 자격증 취득

1. 아키텍팅 기본 사항

모범 사례에 따른 클라우드 인프라 구축

ㅇ AWS 서비스 생성 및 관리 도구

  • AWS 관리 콘솔
  • AWS CLI
  • AWS CDK, SDK
  • CloudFormaation

ㅇ 비관리형 서비스

  • 인프라는 AWS가 관리하지만 인프라에서 발생하는 상황은 고객이 제어
    e.g. Amazon EC2

o 관리형 서비스

  • 고객은 최적화만 책임
  • 데이터 백업, 데이터베이스 복제, 방화벽 구성 기본 구성 단계 단순화 및 자동화
    e.g. RDS

ㅇ 서버리스 서비스

  • VPC 인프라 내에서 작동하지 않음, 인프라를 관리할 필요 없음
  • 엔드포인트 URL로 서비스에 액세스

ㅇ AWS 인프라

  • 데이터 센터, 가용 영역, 리전, AWS Local Zones, CloudFront 엣지 로케이션
AWS Local Zones엣지 로케이션
짧은 지연 시간데이터 캐싱
로컬 데이터 처리빠른 콘텐츠 전송
일관된 AWS 경험더 나은 사용자 경험

2. 계정 보안

AWS 계정 및 리소스에 대한 효율적인 액세스 권한 관리

ㅇ AWS 계정 루트 사용자

  • AWS 서비스에 대한 전체 액세스 권한 보유
  • 이메일과 암호로 로그인
  • 일상적인 상호작용에 사용하면 안됨
    -> IAM을 상용해 추가 사용자를 생성하고 최소 권한의 원칙에 따라 권한 부여

ㅇ IAM

  • 사용자, 그룹 및 역할을 생성하고 관리
  • AWS 서비스 및 리소스에 대한 액세스를 관리
  • 액세스 제어 분석, 회사 디렉토리와 통합
    -> 정책을 작성하고 IAM 아이덴티티 또는 특정 리소스에 연결하는 방식으로 관리 (대부분 정책은 JSON)

ㅇ 보안 주체

  • AWS 리소스에 대한 작업을 요청할 수 있는 권한을 가진 엔티티
  • 사용자 또는 서비스일 수 있음
  • 사용자 및 서비스가 역할을 수임하도록 허용
  • 리소스에 액세스할 수 있는 임시 보안 인증 정보를 부여
  • 애플리케이션이 AWS 계정에 액세스하도록 허용하는 프로그래밍 방식 액세스를 지원

ㅇ IAM 사용자

  • 각 사용자에게 개별적으로 권한을 할당할 수 있음
  • 각 사용자는 자체 보안 인증 정보가 있음

ㅇ 사용자 보안 인증 정보 및 작동 방식

보안 인증 정보 유형용도
루트 이메일 및 암호계정 생성 및 해지 (일상 작업용 아님)
IAM 사용자 이름 및 암호콘솔 액세스
액세스 키 ID 및 비밀 액세스 키API 및 SDK 통한 AWS CLI 및 프로그래밍 방식 요청
MFA루트 및 IAM 사용자에 대해 활성화할 수 있는 추가 보안 계층

ㅇ IAM 사용자 그룹

  • IAM 사용자를 하나 이상의 IAM 사용자 그룹에 할당
  • 해당 그룹 모든 사용자에게 적용할 정책 IAM 사용자 그룹에 연결

ㅇ IAM 역할

  • 임시 AWS 보안 인증 정보를 제공
  • 권한을 특정 사용자 또는 서비스에 위임
  • 사용자는 다른 사용자와 보안 인증 정보 공유하지 않고 역할 수임
  • 권한은 역할에 따른 작업 수행하는 동안만 유효

ㅇ IAM 정책 할당

  • 모든 유형의 IAM 정책을 생성하고 관리하는 도구 제공
  • 여러 정책을 하나의 아이덴티티에 연결 할 수 있고, 각 정책에 여러 권한 포함될 수 있음

ㅇ 권한 부여

  • 자격 증명 기반 정책 : 사용자, 그룹 및 역할에 할당
    - 누가, 어떤 작업을, 어떤 리소스를 대상으로, 어떤 조건에서 수행할 수 있는지
  • 리소스 기반 정책 : 리소스에 할당
    • 관리형 정책: 독립 실행형 자격 증명 기반 정책
      • AWS 관리형 정책: AWS에서 생성하고 관리하는 관리형 정책
      • 고객 관리형 정책: 고객이 AWS 계정에서 생성하고 관리하는 관리형 정책
    • 인라인 정책: 단일 사용자, 그룹 또는 역할에 직접 추가하는 정책, 엔티티간 엄격한 일대일 관계, 아이덴티티 삭제하면 인라인 정책도 삭제

ㅇ 정책 요소

설명필수
Effect정책에서 액세스 허용, 거부 여부 Allow 또는 Deny로 표시
Principal계정, 사용자, 역할 또는 페더레이션 사용자로 액세스 허용, 거부 표시 (리소스 정책)
Action정책이 허용하거나 거부하는 작업 목록 포함
ResourceAction이 적용되는 리소스 목록을 지정
Condition정책에서 권한 부여하는 상황 지정

ㅇ IAM 정책 평가되는 방법

  • 명시적으로 거부되어 있는가? -> 명시적으로 허용되어있는가?

ㅇ 페더레이션 사용자

  • AWS 계정이 없는 사용자 또는 어플리케이션
  • 역할을 할당하면 제한된 시간 동안 AWS 리소스에 대한 액세스 권한을 부여 가능
  • 외부 서비스로 인증할 수 있는 AWS 외부 사용자가 있는 경우 유용
  • 자격 증명 공급자: IAM 사용자 생성하는 대신 IdP 사용가능, 외부 아이덴티티 관리할 수 있음

ㅇ AWS Signle Sign-On

  • 모든 AWS 계정의 액세스 및 사용자 권한을 중앙에서 관리할 수 있음

ㅇ AWS Organizations 사용

  • 계정을 조직 단위(OU)로 그룹화하여 계층 구조를 생성 (중앙 집중식 관리)
  • SCP 적용 -> OU 내 모든 계정이 SCP에 의해 바인딩 됨
  • 통합 과금 방식의 장점을 활용
  • 최종 일관성을 갖춘 데이터 복제

ㅇ IAM 정책이 SCP와 상호 작용하는 방식

  • SCP는 조직의 권한을 관리하는데 사용하는 조직 정책 유형
  • SCP는 IAM 권한과 SCp의 교집합만 허용
  • 권한을 부여하지 않고 필터 역할을 함

0개의 댓글