Cloud/AWS

01. AWS IAM

단님 2025. 2. 23. 00:44
728x90

📌 IAM이 필요한 이유

 

  • 클라우드 환경에서는 여러 사용자와 서비스가 AWS 라우터에 접근 해야 한다.
  • 그러나 모든 사용자에게 권한을 부여하면 보안 위험이 커짐
  • 따라서 사용자마다 적절한 권한을 부여하여 최소 권한 원칙(Least Privilege)을 준수 해야 한다.

AWS IAM을 사용하면 접근 제어를 통해 보안을 강화할 수 있다.

 

📌 IAM의 주요 개념
IAM 사용자 (User) AWS 리소스에 접근할 수 있는 개인 사용자 로그(사람 또는 구성)
IAM 그룹 (Group) 다양한 IAM 사용자를 공유할 권한을 부여 할 수 있음
IAM 정책 (Policy) JSON 형식의 권한 설정 문서, 사용자/그룹/역할(Role)에 부여하여 접근 제어 가능
IAM 역할(Role) 특정 AWS 서비스나 외부 사용자가 AWS 리소스에 접근할 수 있도록 권한을 부여합니다.
IAM 위치 유형 - AWS 관리형 경우 : AWS에서 제공하는 기본 사항(예: AdministratorAccess)
- 사용자 정의 사항 : 필요에 대해 직접 작성하는 경우
- 인라인 섹션 : 특정 사용자, 그룹, 역할에만 적용되는 개별적인 부분
IAM MFA(다중 요소 인증) 2단계 인증을 통해 추가 보안 부분을 제공(OTP, 하드웨어 키 등)
IAM 신뢰(신뢰 정책) 다른 AWS 계정, 서비스, 외부 사용자가 특정 IAM 역할(역할)을 사용할 수 있도록 허용하는 경우

 

IAM 정책(Policy)
  • 특정 사용자 서비스에 대해 각기 다른 권한을 관리해야 한다.
  • IAM을 사용하면 사용자 및 서비스 한계에 접근할 수 있거나 가능하다.

예시(S3 추천할 것)

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

→ 특정 사용자에게 S3 참여 내 권한을 부여할 수 있는 권한 부여

{
  "Version": "2012-10-17", => 정책 언어버전
  "Id": "PolicyIdentifier", =>정책을 식별하는 id 
  "Statement": [
    {
      "Sid": "OptionalIdentifier", =>  statement의 식별자ID 
      "Effect": "Allow or Deny", => 어떠한 특정 api 에 대해 접근 허용 또는 거부의 내용
      "Principal": "account/user/role", =>  특정 정책일 적용될 사용자, 계정 혹은 역할로 구성
      "Action": "Allowed or Denied actions", => effect를 기반하는 정책 api 호출의 목록
      "Resource": "Applicable resources", => 적용된 action의 리소스 목록 
      "Condition": "Optional conditions" => statement 가 언제 적용될지 결정
    }
  ]
}

 

IAM 역할(Role)
  • 원인 : AWS 서비스 또는 외부인이 특정 인스턴스에 접근해야 하지만,
    IAM 사용자 계정을 직접 사용하면 보안 위험이 있습니다.
  • 결과 : IAM 역할을 사용하면 서비스 또는 외부 계정이 특정 권한을 갖도록 설정할 수 있다.

사례

  • EC2가 S3에 접근 → IAM 사용자가 아니라, IAM 역할을 EC2에 부여하여 안전한 접근이 가능하다.
  • Lambda가 DynamoDB에 접근Lambda에 IAM 역할을 부여하여, 필요 권한 부여.

 

IAM MFA(다중 요소 인증)
  • 원인 : AWS 보안이 중요하며, 방해하기 때문에 위험이 있다.
  • 결과 : MFA를 활성화하면 추가 인증을 받은 후 계정 보안을 강화할 수 있다.

사례

  • AWS 로그 및 IAM 사용자에 MFA(OTP 앱, 하드웨어 서비스) 활성화

 

IAM Best Practices (보안경쟁대상)

✅ 사용자 계정 사용 금지 → IAM 사용자를 생성하고 권한은 할당적으로 사용
최소 권한 권한 적용 → 필요 권한만 부여하여 보안 권한 부여
IAM MFA 활성화 → AWS 계정 보안을 강화
IAM 역할(역할) 사용 → AWS 권한 관리 권한 부여
대신 IAM 권한 검토 → 의무 제거

 

 

'Cloud > AWS' 카테고리의 다른 글

03.AWS EC2 (Elastic Compute Cloud)  (0) 2025.02.26
02-1.VPC endpoint  (0) 2025.02.25
02. VPC(Virtual Private Cloud)  (0) 2025.02.24