IAM (Identity and Access Management)

📌 AWS IAM은 AWS 리소스에 대한 액세스를 안전하게 제어하는 웹 서비스입니다. IAM을 통해 사용자, 그룹, 역할을 생성하고 리소스 접근 권한을 관리할 수 있습니다. 주요 기능은 다음과 같습니다.

주요 기능

  1. 인증: 사용자의 사용자명과 암호를 통해 AWS 리소스 접근을 인증.
  2. 권한 부여: IAM 정책을 통해 사용자, 그룹, 역할에 적절한 권한을 할당.
  3. 권한 검증: 사용자가 AWS 리소스에 액세스하려 할 때 정책을 기준으로 요청 허용 여부를 판단.

IAM은 AWS 보안 강화와 규정 준수를 지원하며, 최소 권한 원칙(필요한 권한만 부여)을 통해 안전한 환경을 제공합니다.


2. Users, Groups, Policies

IAM에서 사용자는 AWS 리소스에 액세스하는 개체로, 그룹과 정책을 통해 효율적으로 권한을 관리할 수 있습니다.

구성 요소

  1. 사용자(User)
    • AWS 계정에 접근하는 개별 사용자 또는 서비스.
    • 각 사용자마다 별도의 보안 자격 증명을 생성 가능.
    • IAM 정책으로 각 사용자의 권한 관리.
  2. 그룹(Group)
    • 공통된 권한을 가진 사용자들을 묶는 단위.
    • 그룹 단위로 정책을 설정해, 여러 사용자에 대해 효율적으로 권한 관리.
    • 예: S3에 읽기 권한이 필요한 사용자들을 "S3 Readers" 그룹으로 관리.
  3. 정책(Policy)
    • JSON 형식으로 작성된 문서로, 리소스 접근 권한을 지정.
    • 구조:
      • 권한 허용 또는 거부(Effect)
      • 수행 가능한 작업(Action)
      • 영향을 받는 리소스(Resource)
      • 조건부 설정(Condition, 선택적)
    • 원칙: 최소 권한 원칙을 따라 필요한 권한만 부여.

3. Policy 구조

IAM 정책은 JSON 형식으로 작성되며, 다음과 같은 구조를 가집니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::example-bucket"],
      "Condition": {
        "IpAddress": {"aws:SourceIp": "192.0.2.0/24"}
      }
    }
  ]
}

정책 요소

  • Version: 정책의 버전(고정 값 "2012-10-17").
  • Statement: 정책의 규칙으로 여러 개 작성 가능.
  • Effect: 허용("Allow") 또는 거부("Deny")를 지정.
  • Action: 수행 가능한 작업(예: "s3:PutObject").
  • Resource: 규칙이 적용되는 AWS 리소스(예: S3 버킷의 ARN).
  • Condition: 요청에 적용되는 조건(예: 특정 IP 주소에서만 허용).

 

MFA (Multi-Factor Authentication)

📌 MFA는 다중 인증 요소를 활용하여 로그인 보안을 강화하는 방식입니다. 일반적인 비밀번호 인증 외에 추가적인 요소(예: OTP, 보안 토큰)를 요구합니다.

MFA의 필요성

  1. 비밀번호 유출 방지: 비밀번호가 유출되어도 추가 인증이 필요하므로 리소스를 보호 가능.
  2. AWS 보안 강화: 루트 사용자와 IAM 사용자에 대해 반드시 MFA 적용 권장.

구현 예시

  • 루트 사용자 및 IAM 사용자 계정에 MFA 설정.
  • 인증 방법: 스마트폰 애플리케이션(예: Google Authenticator) 또는 하드웨어 보안 키 사용.

추가로 알아야 할 정보

  • IAM은 AWS 보안의 핵심으로, 사용자, 그룹, 정책의 체계적 관리가 필수입니다.
  • 정책은 필요할 때만 추가 조건(Condition)을 설정하여 최소 권한 원칙을 준수해야 합니다.

장단점 요약 (표)

  장점 단점
IAM 정책 최소 권한 원칙 적용 가능 정책 작성이 복잡할 수 있음
IAM 그룹 여러 사용자의 권한을 일괄적으로 관리 가능 개별 사용자 권한 추가 시 별도 처리 필요
MFA 비밀번호 유출 시 추가 보안 제공 추가 인증 절차로 인해 로그인 시간이 늘어날 수 있음

 

+ Recent posts