AWS로 시작하는 인프라 구축의 정석 리뷰1(3장 IAM)

신창호·2023년 7월 9일
0

aws책리뷰

목록 보기
1/8
post-thumbnail

IAM

  • AWS계정을 만들어서 시작하게 되면 가장 먼저 작업하게되는 구간
  • IAM 은 AWS의 리소스 접근을 안전하게 관리하는 시스템
    • 인증과 접근 허가 기능을 구현
  • 최상단에는 root계정이 있고, 각각 권한이 부여된 하위 계정을 만들 수 있다.
root
├── 일반 계정
├── 배포 관리자 계정
│   ├── EC2 개발 계정
│   ├── S3,..개발 계정 
│   └── ...
└── 운영 관리자 계정
    └── docker 관리자 계정

루트 계정(사용자)

  • 루트계정은 모든 권한을 지니고 있기 때문에, 제약을 걸 수 없다는 단점이 있다.
  • 그렇기 때문에 하위 IAM 계정을 만들고 루트계정을 사용하지 않는 것이 중요하다.
    • 루트계정은 개발관련된 작업을 하지 않는다.
    • 오히려 관리와 같은 특수한 작업을 할때 이용한다.
  • 또한, 보안을 강화하기 위해, 강력한 암호로 변경하거나 MFA(멀티 팩터 인증)을 사용한다.
    • MFA는 다중인증으로, 하나의 인증이 아닌 2개 이상의 인증을 해야 접속할 수 있는 형태를 말한다.

루트 계정(사용자)이 하는 작업

  • AWS 계약 해지
  • 일반 사용자 관리
  • 청구정보 관련 설정
    • 기본값으로 청구정보에 접근 불가하기때문에 IAM유저가 청구서 정보에 접근할 수 있도록 허가한다.
    • 이메일로 청구서를 받게 설정한다.링크
    • 무료 용량 한도 초과 경보도 설정한다. 링크
    • 월별 예상 요금 경보 만들기 링크

사용자와 그룹

  • 권한부여할 사용자가 많아지면 그룹 단위로 관리한다.

IAM 대시보드를 이용해 안정성 확인하기

  • AWS에서는 IAM의 보안 모범 사례를 정의한다.
  • 총 5가지 항목이 있고 적절한 설정 순서가 있다.
    • AWS 계정 루트 사용자의 액세스 키 잠금
    • MFA활성화
    • 개별 IAM사용자 생성
    • 사용자 그룹을 이용한 접근 권한 할당
    • 사용자에 대한 강력한 암호 정책 구성



실습

  • 루트계정아닌 이미 IAM 계정을 가지고 실습해보고자 한다.

MFA 활성화

MFA이란?

  • 초기 IAM 사용자는 아이디(aws iD), user이름, user 비밀번호로 로그인 할 수 있다.
  • 하지만 이방식만으로는 안전한 방식이 아닐 수 있다.
  • 보안 업계에서는 인증하기 위한 요소를 세가지로 분류한다.
    • 아는 요소 : 본인만 알 수 있는 정보(비밀번호, 인증번호)
    • 가진 요소 : 본인만 가지는 것(스마트폰, 신용카드)
    • 갖춘 요소 : 본인의 생물학적요소 (지문, 홍채)
  • 위 요소를 하나만 있는 것 보다 2가지 이상의 요소로 조합하여 로그인할 수 있는 편이 보안 측면에서 강력하다.
  • 이처럼 여러 요소를 조합해 인증을 수행하는 것을 멀티팩터 인증(MFA)이라 한다.

인증용 스마트폰에 MFA용 어플리케이션 설치

  • 스마트폰은 이미 많이 보급되어 있기 때문에, 스마트폰을 활용하여 진행
  • MFA용 어플리케이션 종류
    • Google Authenticator
    • Microsoft Authenticator
    • LastPass Authenticator
    • Duo Mobile 등이 있다.

AWS MFA 설정 활성화

MFA 디바이스 할당

총 2단계 과정 진행

  1. 디바이스 이름과 선택
  1. 디바이스 설정
  • 3단계 과정으로 설정할 수 있는데,
      1. 모바일에 애플리케이션을 설치하면 됩니다.(필자는 google Authenticator로 했음)
      1. QR코드 표시하면 QR코드를 볼 수 있다. 그 QR코드를 스캔하면 된다.
      1. 핸드폰으로 스캔하면 동시에, 일정 시간이 지나게 되면 넘어가는 6자리 번호가 나타난다.
      • 해당 번호 6자리를 연속으로 2번 입력하면 인증이 완료된다.

앞으로 로그인시 나타나는 멀티 팩터 인증 창


개별 IAM 사용자 생성

사용자 생성

  • IAM -> 사용자 -> 사용자 추가

  • 사용자 추가시, 총 3단계 과정을 거친다.

    1. 첫번째에서는 엑세스 유형이름을 정한다.
    • 액세스 유형
      • 프로그래밍 방식 액세스 : AWS가 제공하는 API나 SDK등을 이용해 직접 서비스를 조작하는 사용자(프로그램)
      • AWS 관리 콘솔 액세스: 콘솔 화면을 이용해 리소스를 조작하는 사용자(사람)
    • 아래 선택시, AWS 관리 콘솔액세스 설정된다.
  • 2.두번째에서는 권한 설정을 한다.

    • 그룹에 사용자 추가
    • 기존 권한 복사
    • 직접 정책 연결
  • 3.마지막으론 입력한 값이 올바른지 확인하고 생성한다.

그룹 생성

각각의 사용자에게 접근 권한을 부여할 수도 있지만, 이렇게되면 관리가 어려워 접근 권한을 그룹에 할당하여, 누락없이 사용자에게 접근권한을 부여할 수 있다.

  • IAM -> 사용자그룹 -> 그룹 생성

그룹생성하려면 설정해야되는 것

  • 그룹 이름 지정
  • 권한 정책 연결
  • 그룹에 사용자 추가

권한 정책 연결

정책

  • AWS에서는 매우 다양한 리소스를 제공하는 만큼 가각 개별적으로 접근 권한을 부여하는 것은 현실적이지 않다.대신 여러 리소스로의 접근 권한을 묶는 정책(policy )을 제공한다.
  • 직접 만들 수 도 있지만, 미리 설정되어 제공되는 정책을 사용하는게 훨씬 편하다.
    • PowerUserAccess : AWS안의 리소스에 대한 모든 접근 권한을 가진다.
    • IAMFullAccess : IAM에 대한 모든 접근 권한을 가진다.
    • 이둘의 권한이 주어져도 AWS계정 계약해지는 불가는 함으로 루트계정보다는 안전해진다.

암호 정책 구성

비밀번호 정책이 있다. 이것은 쉬운 비밀번호를 이용할 수 없도록 비밀번호 내용이나 기한에 제한을 추가할 수 있다.

profile
한단계씩 올라가는 개발자

0개의 댓글