All Honey Tip

AWS IAM 계정이란? 정의부터 생성까지! 클라우드 권한 관리 완벽 가이드

수정 일:

발행 일:

AWS IAM 계정이란? 정의부터 생성까지! 클라우드 권한 관리 완벽 가이드

AWS 콘솔에 로그인 할 때 보이는 AWS IAM 계정에 대해 알고 계시나요?
저 같은 경우엔 업무에서 AWS를 사용할 때, 왜 사용하는지도 모르고 그저 로그인 수단으로만 사용했던 기억이 납니다.
이번 시간에는 AWS IAM의 정의부터 핵심 구성 요소, 그리고 실제 사용자 생성 방법까지 상세하게 알아보겠습니다.






클라우드 인프라를 구축하고 관리할 때 가장 먼저 마주하는, 그리고 절대 타협할 수 없는 부분이 바로 ‘보안’입니다.

AWS 환경에서 보안의 첫걸음이자 핵심은 바로 접근 권한을 제어하는 건데요.
무심코 루트(Root) 계정으로 모든 작업을 수행하고 있다면, 로그인 수단을 다시 고려해봐야 합니다.

IAM(Identity and Access Management)AWS 리소스에 대한 접근을 안전하게 제어할 수 있도록 도와주는 웹 서비스입니다. 쉽게 말해, “누가(Identity)” AWS의 “어떤 리소스(Access)”에 접근하여 “무엇을 할 수 있는지(Management)”를 중앙에서 통제하는 시스템입니다.

시스템을 운영하다 보면 수많은 서비스(EC2, S3, RDS 등)를 다루게 됩니다. IAM을 활용하면 각 작업자나 애플리케이션이 자신에게 딱 필요한 권한만 가지도록 세밀하게 조정할 수 있어, 예상치 못한 데이터 유출이나 시스템 장애를 방지할 수 있습니다.

image 19






IAM은 크게 4가지 기본 개념으로 이루어져 있습니다.
권한 관리를 설계할 때 아래 요소들을 조합하여 사용합니다.

구성 요소영문 명칭설명
사용자IAM UserAWS와 상호작용하는 실제 사람이나 애플리케이션을 의미합니다.
각각 고유한 이름과 자격 증명(비밀번호, 액세스 키)을 가집니다.
그룹IAM Group동일한 권한이 필요한 사용자들의 집합입니다.
그룹에 권한을 부여하면 속한 모든 사용자에게 일괄 적용되어
관리가 편리해집니다.
역할IAM Role특정 권한을 임시로 위임받을 수 있는 자격입니다.
사용자뿐만 아니라 EC2 인스턴스, Lambda 함수 등
AWS 서비스 자체에 권한을 부여
할 때 주로 사용됩니다.
정책IAM Policy구체적인 권한을 정의하는 JSON 형식의 문서입니다.
“S3 버킷 A에 대해 읽기만 가능”과 같이
매우 세밀하게 접근 제어 규칙을 작성합니다.







업무가 아닌 혼자만의 서버를 관리할 때는 IAM을 굳이 사용하지 않아도 된다고 생각합니다.
하지만, 사용자나 접근 Application이 추가적으로 존재할 땐 반드시 IAM 설정이 필요해요.

IAM을 사용해야 하는 이유는 4가지 정도로 요약해서 설명할 수 있습니다.



1) 최소 권한 원칙(Principle of Least Privilege) PoLP

관리자, 개발자, 데이터 분석가 등 각자의 역할에 맞춰 꼭 필요한 권한만 부여하여 보안 사고의 피해를 최소화합니다.


2) 루트 계정 보호

AWS 가입 시 생성되는 루트 계정은 모든 권한을 가진 마스터키와 같습니다.
일상적인 작업은 IAM 계정으로 수행하여 루트 계정의 탈취 위험을 막아야 합니다.


3) 다중 인증(MFA) 지원

로그인 시 비밀번호 외에 OTP 등을 요구하는 MFA를 적용하여
계정 보안을 한층 더 강화할 수 있습니다.


4) 비용 무료

AWS IAM 서비스 자체는 추가 비용 없이 기본적으로 제공되는 강력한 보안 기능입니다.
돈이 드는 것도 아니니 굳이 안 쓸 이유도 없죠 ㅎㅎ







이제 실제 업무에 투입될 개발자나 운영자를 위해
새로운 IAM 사용자를 생성하는 방법을 단계별로 알아보겠습니다.


루트 계정 또는 IAM 생성 권한을 가진 관리자 계정으로 AWS 콘솔에 로그인합니다.
👉 https://aws.amazon.com/ko/console/


좌측 상단 검색창에 IAM을 검색해서 이동해보세요

image 20







IAM 사용자 → 사용자 생성

image 21

좌측 탐색 메뉴에서 ‘사용자(Users)’를 클릭한 후, 우측 상단의 [사용자 추가(Add users)] 버튼을 누릅니다.




  • 사용자 이름: 생성할 계정의 이름(예: backend-dev-01)을 입력합니다.
  • AWS Management Console 액세스 제공: 사용자가 브라우저를 통해 직접 AWS 콘솔에 로그인해서 작업해야 한다면 이 체크박스를 선택합니다.
    ※ (CLI나 API로만 접근하는 애플리케이션용 계정이라면 체크하지 않습니다.)
  • 콘솔 액세스를 체크했다면, ‘사용자 지정 암호’를 설정하거나 ‘자동 생성된 암호’를 선택합니다. 보안을 위해 ‘사용자가 다음 로그인 시 새 암호를 생성해야 함’ 옵션을 켜두는 것을 권장합니다.
image 23






해당 사용자에게 어떤 리소스 접근 권한을 줄지 3가지 방식 중 하나로 선택합니다.

  • 그룹에 사용자 추가 (권장): 사전에 만들어둔 권한 그룹(예: Developer-Group)이 있다면 체크하여 손쉽게 권한을 일괄 부여합니다.
  • 권한 복사: 기존에 있는 다른 IAM 사용자와 동일한 권한을 그대로 복사해 옵니다.
  • 직접 정책 연결: 기존 AWS 관리형 정책이나 직접 생성한 정책(Policy)을 검색하여 개별적으로 연결해 줍니다.

그룹이 없다면 당황하지 말고 ‘그룹 생성’버튼을 통해 만드시면 됩니다 ㅎㅎ

image 22


원하는 서비스를 검색해서 확인해보세요.
json이나 우측의 설명 컬럼을 참고하면 됩니다.

image 24
image 25







이후 검토 및 생성 단계에서 ‘사용자 생성’을 누르면 끝입니다.

image 26


주의: 이 화면을 벗어나면 해당 비밀번호는 다시 확인할 수 없습니다!
반드시 화면에 뜬 비밀번호를 복사하여 안전하게 전달하거나,
[.csv 다운로드] 버튼을 눌러 자격 증명 파일을 안전한 곳에 보관해 주세요.

image 27







지금까지 AWS IAM의 핵심 개념부터 실제 계정 생성 과정까지 단계별로 알아보았습니다.
처음엔 수많은 정책과 그룹 생성 같은 과정이 낯설고 번거롭게 느껴질 수 있지만, 안전하고 체계적인 클라우드 운영을 위해 IAM은 선택이 아닌 필수입니다.

오늘 알아본 내용을 바탕으로 루트 계정의 일상적인 사용은 멈추고, 각자의 역할에 꼭 맞는 권한만 부여된 IAM 계정으로 AWS 인프라를 구축해 보시길 바랍니다.


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다