새소식

TIL

[TIL] 230626 <AWS> AWS 기초, IAM

  • -

 

 

AWS 클라우드

  • AWS는 Amazon Web Services의 약어로, 아마존닷컴이 제공하는 클라우드 컴퓨팅 플랫폼
  • 전 세계에 분산되어 있는 데이터 센터에서 고객에게 IT 인프라를 제공하며, 이를 사용하여 고객은 필요한 인프라를 빠르고 쉽게 설정하고 관리 가능

[ AWS의 주요 서비스 ]

  • 컴퓨팅: EC2 (Elastic Compute Cloud), Elastic Beanstalk
  • 데이터베이스: RDS (Relational Database Service) 등
  • 스토리지: S3 (Simple Storage Service), EBS (Elastic Block Store)등
  • 네트워킹: VPC (Virtual Private Cloud), CloudFront, Route 53
  • 보안: IAM (Identity and Access Management) 등

 

 

Onpremise

  • On-premise 서버는 조직 내부에 설치되고 유지보수되는 서버
  • 서버가 조직의 물리적인 위치에 있으며 조직의 IT 인프라를 관리하는 팀이 해당 서버를 관리하고 유지보수
  • 일반적으로 조직의 중요한 데이터나 애플리케이션을 호스팅하고 보호하기 위해 사용됨
  • On-premise 서버는 클라우드 서비스와 대조적!
    • 클라우드 서비스는 일반적으로 인터넷을 통해 액세스할 수 있는 외부 데이터 센터에서 호스팅됨
    • 클라우드 서비스를 사용하면 조직은 자체 IT 인프라를 보유하지 않아도 됨
    • 대신 클라우드 제공 업체가 서버를 관리하고 유지보수

 

 

Asia Pacific Region

  • AWS 리전(Region)은 세계 각지에 있는 AWS 데이터 센터의 물리적인 위치를 의미
  • 각 리전은 여러 개의 가용 영역(Availability Zone, AZ)으로 구성되어 있음
  • 가용 영역은 독립적인 데이터 센터로 구성되어 있으며, 네트워크 연결로 연결되어 있음
  • 여러개의 AZ를 씀으로써 데이터센터가 재해상황에 빠졌을때도 서비스를 유지할 수 있는 고가용성을 확보가능!!!
    • 고가용성(High Availability)
      • 시스템이 예기치 않은 장애 또는 중단에도 불구하고 지속적으로 작동하는 능력
      • 여러 가용 영역에 어플리케이션 및 인프라를 배포함으로써
        자연재해, 정전, 네트워크 장애 또는 기타 유형의 장애로 인해 하나 이상의 가용 영역이 사용 불가능해져도
        서비스가 계속해서 이용 가능하도록 보장 가능
      • 이렇게 함으로써 고객에게 높은 서비스 가용성을 유지하고 업무 중단의 영향 최소화 가능

 

 


 

  • Global 서비스
  • 회원가입 시 만들어진 Root Account는 사용/공유 X!
  • User와 Group을 만들어서 사용해야 함
    • Group : 개발자/운영 과 같이 유저 종류 지정
    • User : 실제 로그인하는 사람
    • User는 Group에 속하지 않을 수도, 여러 Group에 속할 수도!
  • 이렇게 만들어진 Group과 User들은 Policy를 통해서 권한 조정
    • 최소한의 권한 원칙 (least privilege principle)

 

 

IAM

  • AWS Identity and Access Management (IAM)AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스
  • IAM을 사용하면 AWS에서 사용자, 그룹 및 역할을 생성하고 관리하여 리소스에 대한 액세스를 안전하게 제어 가능
    • IAM은 AWS에서 보안을 강화하고 규정 준수 요구 사항을 충족하는 데 중요한 역할
    • IAM을 사용하면 사용자에게 필요한 권한만 부여하여 보안을 유지하고, 일부 규정 준수 규정을 준수하기 위해 일부 사용자에게만 특정 리소스에 대한 액세스를 부여 가능

[ IAM을 사용하면 다음과 같은 보안 기능을 수행가능]

  1. 인증
    : IAM을 사용하여 사용자가 AWS 리소스에 액세스할 때 사용자 이름과 암호를 요청하여 인증 가능
  2. 권한 부여
    : IAM을 사용하여 사용자, 그룹 또는 역할에 대한 권한을 지정가능.
      권한은 AWS 리소스에서 수행할 수 있는 작업을 나타내며 IAM 정책을 사용하여 지정가능.
  3. 권한 검증
    : IAM을 사용하여 사용자가 AWS 리소스에 대한 액세스를 요청할 때 요청이 인증된 사용자에게 허용되는지 여부를 결정 가능.
      IAM은 권한 검증을 수행하기 위해 사용자가 AWS 리소스에 대한 액세스를 요청할 때 IAM 정책을 적용.

 

 

Users, Groups, Policies

  1. 사용자(User)
    : IAM에서 사용자는 AWS 계정에 액세스하는 개별 인물 또는 서비스
      AWS IAM에서는 계정에 액세스하는 각 사용자에 대해 별도의 보안 자격 증명을 생성가능
      이를 통해 사용자가 AWS 리소스에 대한 액세스 권한을 가지며, 이러한 액세스 권한은 IAM 정책을 사용하여 관리됨

  2. 그룹(Group)
    : IAM에서 그룹은 하나 이상의 사용자를 그룹화하여 이들에게 공통된 권한을 부여하는 데 사용됨
     예를 들어, 특정 Amazon S3 버킷에 대한 읽기 및 쓰기 액세스를 가진 모든 사용자를 그룹화 가능
     그룹에 대한 권한은 IAM 정책을 사용하여 관리됨
     그룹은 유사한 권한을 가진 여러 사용자를 효과적으로 관리할 수 있도록 도와줌

  3. 정책(Policy)
    : IAM 정책은 AWS 리소스에 대한 액세스 권한을 지정하는 데 사용되며, 사용자 또는 그룹과 연결됨
     JSON 형식으로 작성되며, 허용 또는 거부할 수 있는 작업 및 AWS 리소스에 대한 액세스 수준을 지정
     일반적으로 최소 권한 원칙을 따름 (필요한 권한만 부여하고, 불필요한 권한을 제거하여 보안을 강화)

 

 

IAM은 Global 서비스
IAM 사용자 생성
그룹 생성
여기서는 모든 권한 갖는 AdministratorAccess 정책을 선택하여 사용자 그룹 생성하였음
생성된 사용자 그룹 선택
사용자 생성 마무리
이메일 로그인 지침 또는 .csv 파일 다운로드를 통해 다른 사람에게 공유가능
대시보드 오른쪽의 AWS 계정에서 계정 별칭 생성하여 사용 가능

 

 

{
  "Version": "policy-version",
  "Statement": [
    {
      "Effect": "allow-or-deny",
      "Action": ["action-name"],
      "Resource": ["resource-arn"],
      "Condition": {
        "condition-operator": {
          "condition-key": "condition-value"
        }
      }
    }
  ]
}
  • Version: 정책의 버전
    (현재는 "2012-10-17" 에서 고정)
  • Statement: 정책의 규칙
    ㄴ 배열 형태로 여러 개의 규칙을 작성가능
    • Effect: 규칙의 적용 여부
      ㄴ "allow" 또는 "deny" 중 하나를 선택
    • Action: 규칙이 적용되는 작업의 종류
      ㄴ ex) "s3:ListBucket"과 같은 형식으로 작성
    • Resource: 규칙이 적용되는 리소스의 ARN (Amazon Resource Name)
      ㄴ ex) "arn:aws:s3:::my-bucket/*"과 같은 형식으로 작성
    • Condition: 규칙이 적용되는 조건
      ㄴ 필수는 아니며, 필요한 경우 추가가능
      ㄴ 다양한 조건 연산자를 사용가능
          ex) "IpAddress" 조건 연산자를 사용하면 특정 IP 주소에서만 작업을 수행할 수 있도록 제한가능

 

MFA

  • MFA는 Multi-Factor Authentication의 약어로, 다중 인증 요소 인증 방식을 의미
  • 일반적인 사용자 ID와 비밀번호 입력 외에 추가적인 인증 요소를 요구하여 보안을 강화하는 방법
  • 일반적으로 사용자의 소유물인 스마트폰 또는 하드웨어 보안 토큰 등을 사용하여 구현됨

  • MFA를 사용하면 사용자의 로그인 정보가 유출되었을 경우에도 보안을 유지가능
    ㄴ 악의적인 공격자가 사용자의 ID와 비밀번호를 훔쳐서 로그인을 시도해도, MFA를 사용하면
        추가적인 인증 요소를 입력하지 않는 한 로그인이 불가능!!!
  • 루트유저에는 반드시 반드시 적용할 것!!!
  • 추가로 만드는 IAM User에도 반드시 해주기!!!

여기서는 인증 관리자 앱을 선택하였음
호환되는 어플리케이션을 설치하고 2번에 뜨는 QR 코드를 스캔한 후 화면에 나타나는 코드를 3번에 입력

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.