Categories: 미분류

AWS IAM 사용법 – 사용자 권한 세분화와 MFA 설정 꿀팁

AWS IAM(Identity and Access Management)은 AWS 리소스에 대한 접근 제어를 담당하는 핵심 서비스입니다. 관리자 혼자 사용하는 소규모 계정부터, 수십 명이 협업하는 대규모 조직까지 모두 사용해야 할 필수 기능이죠.

이번 글에서는 IAM의 기본 개념부터, 사용자별 권한 세분화, 그리고 보안 강화를 위한 MFA(Multi-Factor Authentication) 설정 꿀팁까지 실용적인 내용을 담아 정리했습니다.


IAM이란? 왜 꼭 써야 할까?

IAM은 AWS 리소스에 대한 접근을 세밀하게 통제할 수 있는 서비스입니다. 기본적으로 AWS 루트 계정은 모든 권한을 가지고 있지만, 이 계정으로 모든 작업을 하면 보안상 매우 위험합니다.

IAM을 사용하면 다음과 같은 이점이 있습니다:

  • 개별 사용자/그룹 생성 및 관리 가능
  • 리소스에 대한 세분화된 권한 부여 가능
  • MFA 등 보안 강화 기능 적용 가능
  • 정책 기반 접근 제어로 조직/역할 분리 가능

즉, IAM을 제대로 설정하면 보안은 물론 협업 효율성까지 극대화할 수 있습니다.


IAM 사용자 만들기 – 실습으로 배우기

1. IAM 콘솔 접속

  • AWS 콘솔 > “IAM” 검색 → 진입
  • 좌측 메뉴 → UsersAdd users 클릭

2. 사용자 이름 및 접근 방식 설정

  • 사용자 이름: developer01, analyst02
  • Access type:
    • 콘솔 접근 (비밀번호 기반)
    • 프로그래밍 접근 (API, CLI, SDK) → Access key 생성 필요

3. 권한 설정

  • 기존 그룹에 사용자 추가하거나
  • 기존 정책 연결 (AdministratorAccess, AmazonS3ReadOnlyAccess 등)
  • 또는 직접 권한을 JSON 형식으로 생성 가능

4. 태그 추가 및 사용자 생성 완료

  • 역할, 프로젝트 이름 등을 태그로 입력하면 관리에 용이함

IAM 사용자 권한 세분화 꿀팁

IAM은 **정책(Policy)**을 기반으로 권한을 제어합니다. JSON 형식의 문서를 통해 매우 정밀한 제어가 가능합니다.

예: S3 특정 버킷만 접근 가능한 정책

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::my-bucket-name/*"
    }
  ]
}

권한 세분화 전략

역할 유형예시 권한
개발자Lambda 실행, CloudWatch 보기, S3 일부 접근
분석가Athena, S3 ReadOnly
운영 담당자EC2, RDS 시작/중지, 로그 확인
외부 프리랜서특정 프로젝트 리소스만 제한적 접근

Tip: 사용자 그룹을 만들어 역할별 정책을 붙이면 관리가 쉬워집니다.


MFA 설정으로 보안 강화하기

루트 계정이나 관리자 계정에는 반드시 MFA(다중 인증) 설정이 필요합니다. 단순한 비밀번호만으로는 계정이 해킹될 수 있어 위험합니다.

MFA 설정 방법

  1. IAM 콘솔 → 사용자 선택 → Security credentials 탭
  2. Assign MFA device 클릭
  3. Virtual MFA device 선택
  4. 스마트폰에 Google Authenticator 또는 Authy 설치
  5. QR 코드 스캔 → MFA 코드 두 번 입력
  6. 설정 완료

이제 로그인 시마다 일회용 MFA 코드 입력이 필요해집니다.


IAM 보안 모범 사례 요약

  1. 루트 계정은 사용 금지, 오직 IAM 사용자로 작업
  2. 모든 사용자에 개별 계정 생성 – 공유 계정 금지
  3. 필요 최소 권한 원칙(Least Privilege Principle) 적용
  4. IAM 정책은 그룹 기반으로 관리
  5. 관리자 계정에는 반드시 MFA 설정
  6. Access key는 주기적으로 교체하고, 노출 금지
  7. IAM Access Analyzer나 CloudTrail을 통해 사용 기록 모니터링

Q&A

Q1. IAM 정책을 직접 JSON으로 작성해야 하나요?

꼭 그렇진 않습니다. AWS는 **많은 기본 정책(Managed Policy)**를 제공하며, 대부분의 일반적인 역할은 클릭만으로 설정 가능합니다. 그러나 보다 세밀한 제어가 필요한 경우에는 직접 JSON으로 커스터마이징할 수 있어야 합니다. 정책 생성기는 GUI 기반으로 정책 생성을 도와주므로 처음에도 무리 없습니다.


Q2. 루트 계정을 완전히 차단해도 괜찮나요?

AWS에서는 루트 계정을 삭제할 수 없지만, 사용을 최소화하는 것이 보안상 필수입니다. MFA를 설정하고, 루트 계정은 결제 정보 확인, IAM 사용자 생성 등 일부 작업에만 제한적으로 사용하세요. 나머지 모든 작업은 IAM 사용자에게 위임해야 합니다.


Q3. 여러 사용자에게 동일한 권한을 주려면 어떻게 해야 하나요?

이럴 땐 **IAM 그룹(Group)**을 사용하세요. 예를 들어 ‘개발자’ 그룹을 만든 뒤, 필요한 정책을 그룹에 연결하고 사용자들을 그 그룹에 추가하면 됩니다. 권한 변경도 그룹 단위로 하면 일괄 적용되므로 관리가 매우 편해집니다.


Q4. IAM 사용자에게도 MFA를 강제로 적용할 수 있나요?

네, 가능합니다. IAM 정책이나 **AWS Organizations SCP(서비스 제어 정책)**를 통해 MFA 미설정 사용자는 AWS 리소스 접근 불가하게 만들 수 있습니다. 또는 로그인 시 MFA를 설정하지 않으면 콘솔 사용을 제한하는 조건도 추가할 수 있습니다. 보안 중심의 조직에서는 꼭 적용하세요.


Q5. IAM 사용 내역을 확인하려면 어떻게 하나요?

AWS CloudTrailIAM Access Analyzer를 이용하면 IAM 사용자의 활동 로그를 추적할 수 있습니다. 누가 언제 어떤 리소스에 접근했는지, 어떤 API를 호출했는지를 기록하며, 이상 접근이 탐지되면 알림도 받을 수 있습니다. CloudTrail은 모든 AWS 계정에 자동 활성화되며, 자세한 로그는 S3에 저장해 분석할 수 있습니다.


huniverse4

Recent Posts

윈드라이브 동기화 용량 초과 시 대처법

윈드라이브(OneDrive)를 사용하다 보면 어느 순간 “동기화 중지됨”, “저장소 가득 참”이라는 메시지를 마주할 수 있습니다. 이는…

1개월 ago

윈드라이브 동기화 폴더 바꾸는 법 (드라이브 변경 포함)

윈드라이브(OneDrive)를 사용하다 보면, 기본으로 설정된 동기화 폴더 위치가 불편하거나 C드라이브 용량 부족 등으로 인해 다른…

1개월 ago

윈드라이브를 수동 동기화로 설정하는 방법

윈드라이브(OneDrive)는 기본적으로 자동으로 파일을 클라우드와 동기화하도록 설정되어 있습니다. 문서를 수정하거나 사진을 추가하면, 몇 초 내로…

1개월 ago

윈드라이브 동기화 안 될 때 체크할 설정 5가지

윈드라이브(OneDrive)는 자동으로 파일을 클라우드에 백업하고 여러 기기와 실시간으로 동기화해주는 매우 유용한 도구입니다. 하지만 간혹 “OneDrive…

1개월 ago

윈드라이브 동기화 상태 확인 및 오류 해결법

윈드라이브(OneDrive)는 실시간으로 파일을 클라우드에 저장하고 여러 기기에서 자동으로 동기화해주는 편리한 서비스지만, 때때로 동기화가 멈추거나 오류가…

1개월 ago

윈드라이브 특정 폴더만 동기화하는 방법

윈드라이브(OneDrive)는 기본적으로 전체 OneDrive 폴더를 PC와 동기화하지만, 모든 데이터를 동기화할 필요는 없습니다. 저장 공간을 절약하거나,…

1개월 ago