IAM 개념을 깊이 파고들어 실습을 통해 이해하기

발행: (2026년 2월 21일 오후 10:54 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

Introduction

최근 인터뷰에서 IAM과 관련된 질문을 많이 접했으며, 시나리오 기반 질문도 포함되었습니다:

“IAM 사용자가 AWS 계정에 FullAdmin 권한을 가지고 있는데도 S3 버킷에 접근하지 못합니다. 이유가 무엇일까요?”

아래는 IAM 개념을 간결히 정리하고 실무에 적용할 수 있는 내용입니다.

IAM User

  • AWS에 접근이 필요한 사람, 서비스, 혹은 애플리케이션을 나타냅니다.
  • 접근 권한을 부여하려면 IAM 정책을 직접 사용자에게 혹은 사용자가 속한 그룹에 연결합니다.

IAM Groups

  • 공통된 권한과 역할을 공유하는 사용자들의 모음입니다.
  • 그룹에 연결된 정책은 모든 구성원에게 상속됩니다.

IAM Roles

  • 사용자, 애플리케이션, 혹은 AWS 서비스에 임시 접근을 제공합니다.
  • 권한의 기간과 범위를 제한함으로써 보안을 강화합니다.
  • 역할에 대한 권한은 해당 역할에 IAM 정책을 연결하여 정의합니다.

Principle of Least Privilege

사용자가 업무 수행에 필요한 최소한의 권한만 부여하고, 불필요한 접근은 제거합니다.

IAM Policies and Permissions

  • 정책은 AWS 리소스에 대한 행동을 세밀하게 제어합니다.
  • 정책은 어떤 리소스에 접근할 수 있는지와 어떤 작업을 수행할 수 있는지를 명시하는 진술문으로 구성됩니다.

AWS Identity‑Based Policy

  • IAM 사용자, 그룹, 역할에 연결됩니다.
  • 정체성(identity)의 관점에서 권한을 제어합니다.

AWS Resource‑Based Policy

  • S3 버킷, RDS 인스턴스 등 AWS 리소스에 직접 연결됩니다.
  • 어떤 주체(사용자, 역할, 서비스)가 해당 리소스에 접근할 수 있는지를 지정합니다.

Example: accounting이라는 그룹은 S3 버킷 및 그 안의 객체를 삭제하는 권한이 거부됩니다.

IAM Permission Boundaries

  • 더 넓은 정책이 연결되어 있더라도 IAM 엔터티가 가질 수 있는 최대 권한을 제한합니다.
  • 과도한 권한을 부여받을 수 있는 인턴이나 주니어 직원에게 적합합니다.

Scenario: 인턴에게 전체 제어 권한을 부여하는 정책이 있지만, 권한 경계(permission boundary)가 실제로 관리해야 할 리소스에만 접근을 제한합니다.

IAM Session Policy

  • 사용자나 역할에 대해 임시적이고 세션에 한정된 권한을 제공합니다.
  • 짧은 기간 동안 AWS 리소스에 접근을 허용할 때 유용합니다.

Inline Policy

  • 사용자, 그룹, 역할 내부에 직접 삽입됩니다.
  • 다른 엔터티가 재사용할 수 없습니다.
  • Example: DevOps 엔지니어에게 일정 기간 후 만료되는 임시 S3 접근 권한을 부여합니다.

Managed Policy

  • AWS에서 제공하는(AWS‑managed) 또는 조직에서 직접 만든(고객‑managed) 정책입니다.
  • 여러 계정에 걸쳐 여러 사용자, 그룹, 역할에 연결할 수 있습니다.
  • 조건을 사용해 권한이 적용되는 시점과 방식을 더욱 세밀하게 조정할 수 있습니다.

Tags: AWS, IAM, Security, Cloud

0 조회
Back to Blog

관련 글

더 보기 »