제로부터 쌓는 개발일지
article thumbnail
반응형

AWS Identity and Access Management (IAM)는 Amazon Web Services (AWS)의 리소스에 대한 액세스를 관리하고 보안을 강화하는 핵심 서비스입니다.

IAM을 통해 사용자는 AWS 리소스에 대한 세밀한 액세스 제어를 설정할 수 있으며, 보안을 강화하기 위한 다양한 메커니즘을 제공받습니다.여기에는 사용자, 그룹, 정책, 그리고 다중 요소 인증(MFA) 등이 포함됩니다.

 

IAM의 핵심 구성 요소

  • 사용자(User): AWS 리소스에 액세스할 수 있는 개인이나 서비스를 의미합니다.
    각 사용자에게는 고유한 식별 정보와 자격 증명이 있으며, 이를 통해 AWS 리소스에 액세스할 수 있습니다.
  • 그룹(Group): 공통된 권한을 공유하는 사용자 집합입니다.
    그룹을 통해 여러 사용자에게 일관된 권한을 쉽게 할당할 수 있습니다.
  • 정책(Policy): 사용자나 그룹에 적용되어 리소스에 대한 액세스 권한을 지정하는 문서입니다.
    JSON 형식으로 작성되며, 특정 작업의 허용 또는 거부를 세밀하게 지정할 수 있습니다.

 

IAM 설정 방법

AWS에서 IAM 검색

 

IAM은 글로벌 서비스로 리전 변경이 불가능

 

Users 만들기

 

사용자 이름 설정 후 엑세스 권한 제공 체크

  • 체크하지 않을 경우 API를 활용해서 엑세스 하는 것만 가능
  • 체크 할 경우 WEB에서 접근 할 수 있는 계정으로 생성됨
  • 다음 로그인 시 새 암호를 생성하는 것은 해당 계정 최초 로그인 시 패스워드를 재설정 하는 것을 말함

 

그룹에 사용자 추가 선택 후 그룹 생성

 

그룹 이름 작성 후 부여할 권한 선택

  • 사진에 선택된 권한은 모든 권한을 부여하는 관리자 권한
  • AWS에서 권한 템플릿을 제공해주므로 상세설정 또한 가능
    Ex. 특정 서비스(EC2 등)의 읽기 권한만 부여 등

 

만든 그룹 선택 후 다음 클릭

 

올바르게 설정했는지 확인 후 사용자 생성 클릭

 

CSV 파일 저장 또는 이메일로 해당 계정의 정보를 팀원에게 전송

  • 해당 페이지에서 빠져 나가면 비밀번호 확인 불가능

 

IAM 대시보드로 이동

  • aws 계정의 계정 ID는 루트 계정의 어카운트
  • 로그인 URL에서 IAM 사용자 계정으로 로그인 가능

 

IAM 계정 로그인

  • IAM에서 생성한 사용자 이름과 패스워드로 로그인

 

계정 ID를 랜덤숫자가 아닌 임의로 변경해주는 방법

  • aws 루트 계정으로 접속 후 IAM 대시보드로 이동
  • 계정 별칭 생성을 눌러서 원하는 별칭 입력
  • 변경해도 기존의 숫자형태 계정 ID는 사용가능

 

 

정책 구조

IAM 정책은 JSON 형식으로 작성되며, 다음과 같은 주요 요소를 포함합니다

{
  "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",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::example-bucket/*"
    }
  ]
}
  • Version: 정책 언어의 버전을 명시합니다. 현재는 "2012-10-17"이 표준입니다.
  • Statement: 하나 이상의 개별 선언으로 구성되며, 정책의 실제 규칙을 정의합니다.
  • Effect: 해당 규칙이 허용할지("allow"), 거부할지("deny") 결정합니다.
  • Action: 어떤 AWS 서비스의 어떤 작업이 규칙에 의해 영향을 받는지 정의합니다.
  • Resource: 해당 규칙이 적용되는 리소스를 ARN (Amazon Resource Name)으로 지정합니다.
  • Condition: 규칙 적용의 세부 조건을 정의합니다.
    이는 선택적 요소로, 특정 조건 하에서만 규칙을 적용하고자 할 때 사용됩니다.

 

MFA (다중 요소 인증)

MFA는 보안을 강화하는 중요한 방법 중 하나로, 사용자가 로그인할 때 두 가지 이상의 인증 방법을 사용해야 하는 시스템입니다. 

MFA는 다음과 같은 요소를 조합하여 사용합니다

  • 지식 요소: 사용자만 알고 있는 정보(예: 비밀번호).
  • 소유 요소: 사용자가 소유하고 있는 물리적 장치(예: 스마트폰, 보안 토큰).
  • 생체 인식 요소: 사용자의 생체 정보(예: 지문, 얼굴 인식).

 

MFA 적용하기

MFA를 적용하는 것은 AWS에서 권장하는 보안 최선의 방법 중 하나입니다.

특히 루트 계정과 중요한 IAM 사용자에게 MFA를 적용해야 합니다.

MFA를 설정하면, 로그인 시 사용자 ID와 비밀번호 외에도 MFA 장치에서 생성된 코드를 입력해야 합니다.


AWS 관리 콘솔을 통해 MFA를 설정할 수 있으며, 이 과정은 다음 단계를 포함합니다:

  1. IAM 대시보드에 로그인합니다.
  2. 보안 자격 증명 탭에서 MFA 장치 추가를 선택합니다.
  3. 사용할 MFA 장치 유형을 선택하고, 장치를 계정에 연결합니다.
  4. MFA 장치에서 생성된 코드를 입력하여 MFA 설정을 완료합니다.

 

OTP 등록하기

  • IAM 대시보드로 이동 후 MFA 추가 클릭
  • 루트 계정과 IAM User 둘 다 해줘야됨

 

식별 이름 설정 후 Authenticator app 선택

  • Security Key: USB 스틱
  • Authenticator app: 휴대폰 앱 (Google OTP 등)
  • Hardware TOTP token: 미국 정부용 AWS 클라우드 (사용할 일이 없음)

 

구글 OTP 앱에서 QR 코드를 찍고 코드 입력

  • MFA 코드 1: QR 코드 찍고 뜨는 6자리 숫자
  • MFA 코드 2: 시간 경과 후 MFA 코드 1 다음에 나오는 6자리 숫자

 

설정 완료

  • 로그인 할때마다 OTP 인증이 필요해짐
  • 휴대전화를 변경하거나 할때 OTP 설정 또한 같이 가져가야되므로 주의가 필요

 

AWS 언어 변경

  • 우측상단 톱니바퀴 클릭 후 더 많은 사용자 설정 진입

 

현지화 및 기본 리전 편집 클릭

 

기본 리전과 언어 선택 후 저장

 

반응형

'클라우드 서비스 > AWS' 카테고리의 다른 글

Relational Database Service  (0) 2024.02.07
Elastic Load Balancer  (1) 2024.02.07
Elastic Compute Cloud  (1) 2024.02.06
profile

제로부터 쌓는 개발일지

@PachyuChepe

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...