[코드잇 풀스택 1기] - AWS - IAM

2024. 11. 16. 16:18취업 준비 !

AWS IAM(Identity and Access Management)

IAM은 AWS 클라우드 리소스에 대해 안전하게 접근 제어할 수 있도록 돕는 서비스.

IAM을 사용하면 사용자, 그룹 ,역할 등을 생성하고 AWS 리소스에 대한 접근 권한을 세부적으로 관리 할 수 있다.

 

간단하게 email 계정에 하위 계정을 내려준다고 생각하시면 됩니다.⭐

 

 

IAM 이 왜 중요할까 ?

1. 보안 관리

⭐ IAM을 사용하면 누가 어떤 리소스에 접근할 수 있는지 제어할 수 있습니다.

⭐ 사용자는 특정 권한을 명확하게 할당받아야만 AWS 리소스에 접근할 수 있습니다.

⭐ 멀티 팩터 인증을 통해 추가적인 보안 계층을 설정할 수 있습니다.

 

2. 세분화된 접근 제어

⭐ IAM 정책을 사용하여, 세부적인 접근 제어를 설정할 수 있습니다. (엄청 많아요, 기존 파일에서 수정도 가능합나다.)

⭐ 특정 사용자나 서비스가 특정 리소스만 접근할 수 있도록 제한하며, 보안 리스크를 중리 수 있습니다.

 

3. 규모에 맞는 유연한 관리

⭐ IAM은 대규모 조직에서 사용자 및 접근 권한 관리를 효율적으로 지원합니다.

⭐ 그룹 및 역할을 활용해 일괄적으로 권한을 관리할 수 있습니다.

 

IAM의 주요 구성 요소 및 기능

1. 사용자

⭐ IAM 사용자는 개별 사용자 계정으로, 각 사용자는 고유한 자격 증명을 가질 수 있습니다.

⭐ 사용자는 AWS Management Console, CLI, API를 통해 AWS 리소스에 접근할 수 있습니다.

 

2. 그룹

⭐ 그룹은 여러 사용자는 논리적으로 묶어 일괄적으로 권한을 관리할 수 있는 기능입니다.

⭐ 그룹 정책을 할당하면, 그룹 내 모든 사용자가 해당 권한을 상속받습니다.

 

3. 역할

⭐ 역할은 특정 작업을 수행하기 위해 임시 권한을 부여 하는 기능입니다.

⭐ 사용자나 서비스가 역할을 맡아 임시 자격 증명으로 특정 AWS 리소스에 접근할 수 있습니다.

⭐ 역할은 사람이 아닌 애플리케이션, 서비스, 계정 간의 접근 제어를 위주로 사용됩니다.

 

4. 정책

⭐ 정책은 JSON 형식으로 작성된 접근 제어 규칙으로, 사용자, 그룹 역할에 권한을 부여하거나 제한할 수 있습니다.

{
  "Version": "2024110-16",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::example-bucket"
    },
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::example-bucket/*"
    }
  ]
}

위 코드처럼 특정 사용자에게 S3 버킷에서 목록 조회와 객체 가져오기를 허용합니다.

기존 정책에서 수정이 가능합니다.