도구 & 환경 설정/AWS

AWS 유저 생성, MFA 설정

go_getter 2025. 5. 12. 23:07

IAM (Identity and Access Management) - 유저 관리

- Users, Groups, Policies
- MFA

 

회원가입시 만들어진 계정(Root Account)는 사용/공유되지 않아야 한다.

Root Account는 AWS에서 할 수 있는 작업이 많아서 해당 계정을 해킹당하면 위험이 크다.

IAM으로 User와 Group을 만들어서 사용한다.

 

IAM은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다.

만들어진 Group, User들은 Policy를 통해서 권한을 조정한다.

 


유저 등록 방법

Step 1. 유저 정보 입력

Provide user access ~ : 체크박스 체크 안하면 api를 통한 접근만 가능 / 체크하면 web을 통한 접근 가능

Users must create a new password ~ : 체크박스 체크하면 자동 생성된 비밀번호를 새로운 비밀번호로 변경 필수

 

Step 2. 그룹 설정

커스텀 : Create group > Create policy > 원하는 권한 선택

자동 설정 : Create group > 기본 제공되는 그룹 선택(ex. AdministratorAccess)

// 커스텀 시 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" 또는 "deny" 중 하나를 선택합니다.
- Action: 규칙이 적용되는 작업의 종류를 나타냅니다. 예를 들어 "s3:ListBucket"과 같은 형식으로 작성합니다.
- Resource: 규칙이 적용되는 리소스의 ARN (Amazon Resource Name)을 나타냅니다. 예를 들어 "arn:aws:s3:::my-bucket/*"과 같은 형식으로 작성합니다.
- Condition: 규칙이 적용되는 조건을 나타냅니다. 필수는 아니며, 필요한 경우 추가할 수 있습니다. 다양한 조건 연산자를 사용할 수 있습니다. 예를 들어 "IpAddress" 조건 연산자를 사용하면 특정 IP 주소에서만 작업을 수행할 수 있도록 제한할 수 있습니다.

 

Step 3~4. 확인 및 생성

Email sign-in instructions : 팀원에게 로그인 url과 username 전송

Download .csv file : password 저장

 

로그인

alias 설정 시 URL이 랜덤 숫자가 아니라 https://{alias}.signin...으로 설정됨

유저 생성 시 발급된 URL을 브라우저 주소창에 입력 -> username, password 입력해서 로그인

 


MFA (Multi-factor authentication)

- 로그인 시 비밀번호 외의 요소로 추가 인증하는 방법

- ex. Virtual Authenticator (모바일 앱으로 인증번호 입력)

- Root user의 MFA 설정 필수 (보안 강화)

 

Step 1. 인증 디바이스 선택

Add MFA > device 선택

 

Step 2. 디바이스 설정

Show QR > 모바일 앱에서 QR 인식 > 앱의 코드 2개 입력

이제부터 로그인 시 MFA까지 인증해야 로그인 성공