본문 바로가기
Ect./AWS

AWS 기초 강좌 2

by 쿠리의일상 2023. 7. 1.

AWS 계정

계정 생성하면 루트 유저기본 리소스(기본 VPC) 등이 생성됨

AWS 계정 아이디가 부여되고 - 숫자로 / 추후에 AWS 계정에 별명 지정 가능하다 - 문자로

AWS 는 기본적으로 루트 사용자와 IAM 사용자로 나눌 수 있는데

루트 유저

생성한 계정의 모든 권한을 자동으로 가지고 있으며, 생성 시 만든 이메일 주소로 로그인 해준다. (빌링-계산 권한은 루트 유저가 유일하게 가지고 있다)

탈취 당했을 때 복구가 힘들기 때문에, 관리 목적 외엔 사용을 자제하고 MFA(일회용 패스워드, Multi Factor Authentication) 설정을 권장.

AWS api 호출이 불가하다 -> AccessKey, Secret AccessKey 부여 X

 

IAM 유저 (Identity and Access Management)

만들 때 주어진 아이디로 로그인하고, 기본 권한이 없으므로 따로 권한 부여가 필요하다.

사람이 아닌 어플리케이션 등의 가상 주체를 대표할 수 있음

AWS api 를 호출 할 수 있다 -> AccessKey 는 아이디 / Secret AccessKey 는 비밀번호의 개념

AWS 관리를 제외한 모든 작업은 관리용 IAM 유저를 만들어서 사용해준다.

* 권한 부여 시 루트 유저와 같이 모든 권한(AdminAccess 로 지정한 경우)을 가질 순 있지만 빌링 관련 권한은 루트 유저 직접 해야한다. 혹여 루트 유저가 빌링을 허용해주면 IAM 유저도 빌링에 접근이 가능해진다.

 

AWS 루트 계정을 우선 만든다

-> 루트 유저로 로그인 하고, 본인 계정을 클릭해준다. (리전 변경도)

-> 보안 자격 증명에 접속

-> MFA 설정을 해준다 - 구글 OTP 가 필요

여기서 MFA 디바이스 할당(활성화)를 실행하면,

여기서 구글 OTP(구글 Authenticator) 를 사용하여 큐알을 읽어준다.

여기서 보이는 숫자를 MFA 코드를 입력해주면 된다.

** 여기서 QR코드는 한번 생성 후 다시 볼 수 없기 때문에 미리 저장해두는 것이 좋다고 한다.

 

-> 계정 별명을 생성하려면 IAM 대시보드에 접속해서 우측에 보이는 계정 별칭 부분에 생성을 누른다.

일단은 별칭을 저렇게 해두었다.

-> 관리 권한을 가진 IAM 유저를 생성하려면 대시보드의 사용자탭에서 사용자 추가를 해준다.

AWS Management Console 에 대한 사용자 액세스 권한을 제공하기로 하고, IAM 사용자를 생성을 클릭하면

콘솔 암호를 지정해줄 수 있다.

권한은 직접 정책 연결을 선택해주고

AdministratorAccess 를 선택해준다.

이는 AWS 의 모든 권한(빌링을 제외한) 을 주는 권한이다.

이렇게 확인해줄 수 있고, .csv 파일로 다운로드 받아주는 게 좋다.

 

-> 사용자 목록에서 방금 만들어준 유저를 눌러 IAM 유저에서 MFA 설정

보안 자격 증명 탭에서 MFA를 설정해줄 수 있다.

이렇게 되면 끝 - 이때 QR은 굳이 저장해줄 필요는 없다.

 

-> 루트 유저는 로그아웃 후, IAM 유저로 로그인해준다

 

잘 로그인 된다.

내 루트사용자는 test-9405 인 것이고, 루트 사용자의 IAM 사용자는 admin 인 것이다.

이때 빌링(결제)를 제외한 모든 권한을 허용했기 때문에 루트 사용자와 거의 동일한 기능을 하는데... 결제 대시보드에 접근 시 아래와 같은 화면을 볼 수 있다.

빌링은 루트 계정만 가능!

 

IAM 이란?

글로벌 서비스임을 잊지 말자.

Identity and Access Management 의 약자로 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있다.

그리고 AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부할 수 있다.

  • AWS 어카운트 관리 및 리소스 사용자 서비스의 권한을 제어
  • 서비스 사용을 위한 인증 정보를 부여
  • 사용자 생성 및 관리 및 계정의 보안
  • 다른 계정과의 리소스 공유
  • 계정에 별명 부여 가능

 

IAM의 구성

사용자 그룹 정책 역할
실제 AWS 를 사용하는 사람 혹은 어플리케이션을 의미 사용자의 집합
그룹에 속한 사용자는 그룹에 부여된 권한을 행사
사용자와 그룹, 역할이 무엇을 할 수 있는지에 관한 문서

JSON 형식
AWS 리소스에 부여하여 AWS 리소스가 무엇을 할 수 있는지 정의
다른 사용자가 역할을 부여 받아 사용

다른 자격에 대해 신뢰 관계를 구축 가능하며 역할을 바꾸어 가며 서비스를 사용 가능하다.

 

IAM 의 권한 검증

사용자가 S3를 사용하고 싶다면

 

정책이 핵심

 

 

 

 

IAM 자격 증명 보고서

  • 계정의 모든 사용자와 암호, 액세스 키, MFA 장치 등의 증명 상태를 나열하는 보고서를 생성하고 다운로드 가능
  • 4시간엔 1번씩 생성 가능
  • AWS 콘솔, CLI, API에서 생성 요청 및 다운로드 가능
암호 액세스키 기타
-암호 활성화 여부
-마지막으로 사용된 시간
-마지막으로 변경된 시간
-언제 변경되어야 하는지
-액세스키 활성화 여부
-마지막으로 사용된 시간
-마지막으로 변경된 시간
-어떤 서비스에 마지막으로 사용되었는지
-MFA 사용 여부
-사용자 생성 시간

 

.csv 형태로 확인 가능하다

 

IAM 모범 사용 예

  • 루트 사용자는 사용하지 않기
  • 불필요한 사용자는 만들지 않기
  • 가능하면 그룹과 정책을 사용하기
  • 최소한의 권한만을 허용하는 습관 들이기 - Principle of least privilege
  • MFA 활성화하기 - 루트 유저와 admin IAM 유저는 필수!
  • AccessKey 대신 역할을 활용하기
  • IAM 자격 증명 보고서를 활용하여 계정 상태를 확인해주기

'Ect. > AWS' 카테고리의 다른 글

AWS 기초 강좌 3 - EC2 기초 1~3  (0) 2023.07.11
AWS 기초 강좌 1  (0) 2023.06.30