본문 바로가기
AWS/SAA

[AWS/IAM] AWS IAM(Identity and Access Management) 소개

by jonnwon 2024. 5. 20.
728x90
반응형

IAM은 사용자가 AWS 리소스에 접근할 수 있는 권한을 관리하고 제어하는 도구다.

 

이를 통해 다양한 사용자 및 서비스가 안전하게 AWS 리소스를 사용할 수 있게 된다.

 

IAM을 사용하면 다음과 같은 기능을 수행할 수 있다:

  • 사용자 생성 및 관리: 각 사용자에게 고유한 자격 증명을 부여하고, 이를 통해 AWS 리소스에 접근할 수 있게 한다.
  • 그룹 관리: 여러 사용자를 하나의 그룹으로 묶어 관리할 수 있다. 그룹에 속한 모든 사용자에게 동일한 권한을 부여할 수 있어 관리가 편리하다.
  • 정책 설정: JSON 형식의 정책 문서를 사용하여 사용자나 그룹이 어떤 작업을 수행할 수 있는지 정의할 수 있다.
  • 다중 인증(MFA): 사용자 계정의 보안을 강화하기 위해 다중 인증을 설정할 수 있다.
  • 연결된 계정 관리: AWS Organizations와 통합하여 여러 AWS 계정을 중앙에서 관리할 수 있다.

사용자 및 그룹 생성

IAM에서 사용자를 생성할 때, 하나의 사용자는 조직 내의 한 사람을 나타낸다. 필요한 경우, 사용자들을 그룹으로 묶을 수도 있다. 예를 들어, 여섯 명의 조직이 있다고 가정해보자: A, B, C, D, E, 그리고 F.

  • Engineers 그룹: A, B, C
  • Support 팀: D, E
  • 그룹에 속하지 않은 사용자: F

그룹에는 사용자만 배치할 수 있으며, 다른 그룹을 포함시킬 수 없다. 이는 IAM에서 중요한 개념이다. 또한, 한 사용자가 여러 그룹에 속할 수도 있다. 예를 들어, C와 D가 감사 팀에서도 일한다면, 이들을 위한 세 번째 그룹을 만들 수 있다.

권한 부여

사용자와 그룹을 생성하는 이유는 이들이 AWS 계정을 사용하도록 허용하기 위해서다. 이를 위해 사용자 또는 그룹에게 IAM 정책이라고 불리는 JSON 문서를 지정할 수 있다. 이 문서에는 특정 사용자나 그룹이 어떤 작업을 할 수 있는지 명시되어 있다.

예를 들어, 특정 사용자에게 EC2, CloudWatch의 사용 권한을 부여할 수 있다. 아래는 이러한 권한을 정의하는 JSON 정책의 예시다:

{
  "Version": "2012-10-17",
  "Id": "ExamplePolicyID",
  "Statement": [
    {
      "Sid": "1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/A"
      },
      "Action": [
        "ec2:DescribeInstances",
        "ec2:StartInstances",
        "ec2:StopInstances"
      ],
      "Resource": "*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": "192.168.0.1/32"
        }
      }
    },
    {
      "Sid": "2",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/A"
      },
      "Action": [
        "cloudwatch:PutMetricData",
        "cloudwatch:GetMetricData"
      ],
      "Resource": "*"
    }
  ]
}

이와 같은 형태의 JSON 문서를 통해 사용자들이 AWS 서비스를 이용하도록 허용할 수 있다.

최소 권한의 원칙

AWS에서는 모든 사용자에게 모든 권한을 부여하지 않는다. 이렇게 하면 큰 비용이 발생하거나 보안 문제가 생길 수 있기 때문이다. 따라서 AWS에서는 최소 권한의 원칙을 적용한다. 즉, 사용자가 꼭 필요로 하는 권한만 부여하는 것이다.

728x90

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

[AWS/IAM] MFA 개요  (0) 2024.05.20
[AWS/IAM] IAM 정책 실습  (0) 2024.05.20
[AWS/IAM] IAM 정책  (0) 2024.05.20
[AWS/IAM] 사용자 및 그룹 실습  (0) 2024.05.20
[AWS] AWS 클라우드 개요  (0) 2024.05.20