반응형
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를 설정할 수 있으며, 이 과정은 다음 단계를 포함합니다:
- IAM 대시보드에 로그인합니다.
- 보안 자격 증명 탭에서 MFA 장치 추가를 선택합니다.
- 사용할 MFA 장치 유형을 선택하고, 장치를 계정에 연결합니다.
- 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 |





