11강 Iam 강의 및 실습노트 AWS Cloud
🛡️ AWS IAM 완벽 가이드: 사용자, 그룹, 롤과 권한 관리
AWS의 IAM(Identity and Access Management) 서비스는 AWS 리소스에 대한 권한을 관리하는 매우 중요한 서비스입니다. 이 서비스는 보안과 관련된 핵심 역할을 하며, AWS 계정 내에서 권한을 세밀하게 제어할 수 있도록 도와줍니다.
📌 IAM 개념 이해하기
IAM은 무엇인가요?
IAM은 AWS 리소스에 대한 액세스 관리를 담당하는 서비스입니다.
IAM을 사용하면 사용자를 만들고, 그룹에 추가하고, 각각의 권한을 설정하여 AWS 리소스에 접근할 수 있도록 할 수 있습니다.
✅ IAM의 주요 구성 요소
- IAM 사용자(User): AWS 리소스를 사용할 수 있는 개별 사용자를 의미합니다. 사람일 수도 있고, 외부 애플리케이션(예: 사이버덕)일 수도 있습니다.
- IAM 그룹(Group): 여러 IAM 사용자들을 묶어 권한을 관리하는 집합입니다.
- IAM 롤(Role): AWS 리소스에 대한 권한을 부여하는 권한 세트입니다. 예를 들어 EC2 인스턴스가 S3에 접근할 수 있도록 롤을 부여할 수 있습니다.
- IAM 정책(Policy): 특정 AWS 리소스에 대한 액세스를 허용하거나 거부하는 규칙을 정의합니다. 예를 들어 EC2 리소스를 읽기 전용으로 접근할 수 있도록 하는 정책을 생성할 수 있습니다.
🛡️ IAM 실습 완벽 가이드
AWS에서 제공하는 IAM(Identity and Access Management) 서비스는 리소스에 대한 권한 관리를 담당합니다. 실습을 통해 IAM 사용자 생성, 그룹 설정, 정책 적용 등을 실습하면서 IAM의 기본 개념을 확실히 이해해봅시다.
📌 실습 1: IAM 사용자 생성하기
1️⃣ 사용자 추가
- AWS 관리 콘솔에 로그인한 후, IAM 서비스를 검색하여 접속합니다.
- 왼쪽 메뉴에서 사용자를 클릭하고, 사용자 추가 버튼을 클릭합니다.
- 사용자 이름을 입력합니다. 예시: test-im-user
- 액세스 유형을 선택합니다.
- AWS Management Console Access: 웹 콘솔을 통해 접근
- 프로그램적 액세스: 외부 프로그램(API)에서 접근할 수 있도록 액세스 키 발급
여기서는 AWS Management Console Access만 선택합니다.
- 비밀번호 설정:
- 자동 생성된 비밀번호를 사용하고, 사용자가 첫 로그인 시 비밀번호를 변경하도록 설정합니다.
- 다음: 권한 버튼을 클릭합니다.
📌 실습 2: IAM 권한 설정
2️⃣ 권한 부여
- 권한 설정 화면에서 직접 정책 연결을 선택합니다.
- EC2 read-only 정책을 선택합니다.
- EC2 read-only 정책은 EC2 리소스에 대해 읽기 전용 권한만 부여합니다.
- 검토 화면에서 사용자 정보를 확인하고, 사용자 생성 버튼을 클릭하여 사용자를 생성합니다.
- 사용자 생성 후, CSV 파일 다운로드 버튼을 클릭하여 사용자 정보를 저장합니다. 이 파일에는 사용자 이름, 비밀번호, 로그인 링크 등이 포함됩니다.
📌 실습 3: IAM 롤(Role) 생성 및 부여
3️⃣ IAM 롤(Role) 설정
- IAM 대시보드에서 롤 메뉴로 이동합니다.
- 롤 생성 버튼을 클릭하여 새로운 롤을 생성합니다.
- EC2 역할을 선택하여 EC2 인스턴스에 특정 권한을 부여할 수 있도록 설정합니다.
- 정책 선택 화면에서 AmazonEC2FullAccess 또는 필요한 정책을 선택하고, 롤 생성 버튼을 클릭합니다.
📌 실습 4: IAM 그룹(Group) 설정
4️⃣ IAM 그룹 만들기
- IAM 대시보드에서 그룹 메뉴로 이동합니다.
- 그룹 생성 버튼을 클릭하여 새로운 그룹을 생성합니다.
- 그룹 이름을 입력합니다. 예: DevTeam
- 정책 연결 단계에서 해당 그룹에 부여할 권한을 선택합니다. 예: EC2 Full Access (EC2에 대한 전체 액세스 권한)
- 사용자 추가 단계에서, 앞서 생성한 IAM 사용자를 추가합니다.
- 그룹 생성 버튼을 클릭하여 그룹을 생성합니다.
📌 실습 5: IAM 사용자로 로그인
5️⃣ IAM 사용자로 로그인
- CSV 파일에서 제공된 IAM 사용자 로그인 링크를 복사하여 브라우저의 시크릿 창에서 접속합니다.
- IAM 사용자 이름과 비밀번호를 입력하여 로그인합니다.
- 로그인 시 비밀번호 변경을 요청받으면, 새 비밀번호를 설정하고 로그인을 완료합니다.
참고: IAM 사용자는 루트 계정과 다르게 제한적인 권한만 가지므로, 기본적인 대시보드나 설정 화면에서 일부 리소스만 보일 수 있습니다.
📌 실습 6: 권한 검토
6️⃣ IAM 권한 검토 및 테스트
- EC2 리소스에 접근할 수 있는지 확인하기 위해, EC2 대시보드로 이동합니다.
- EC2 read-only 정책을 적용한 IAM 사용자로 로그인했을 때, 인스턴스를 생성하려고 하면, 권한이 없다는 메시지가 표시됩니다.
- IAM 사용자에게 부여된 권한에 따라, 읽기 전용 액세스만 허용되기 때문에, 생성 작업은 실패하게 됩니다.
- 권한 확장:
- EC2 Full Access를 부여한 그룹에 사용자를 추가하면, 인스턴스 생성 및 수정이 가능해집니다.
- 그룹 권한을 변경한 후, 다시 EC2 인스턴스를 생성하여 인스턴스 시작을 확인합니다.
⚙️ IAM 보안 관리
IAM 사용자는 **최소 권한 원칙(Least Privilege Principle)**을 따라야 합니다. 즉, 각 사용자에게 필요한 최소한의 권한만을 부여하여 보안을 강화할 수 있습니다.
- 루트 계정 사용 최소화: 루트 계정은 모든 권한을 가지고 있으므로 루트 계정 사용을 최소화하고 IAM 사용자로 필요한 권한만 부여하여 사용합니다.
- 다단계 인증(MFA): 보안을 강화하려면 **다단계 인증(MFA)**을 설정하여 계정 보호를 강화합니다.
- IAM 정책 설정: IAM 정책을 사용하여 세부적인 권한 제어가 가능합니다. 예를 들어, S3FullAccess, DynamoDBReadOnly 등 필요한 리소스에 대한 액세스를 정확하게 설정할 수 있습니다.
📊 IAM 실습 요약
IAM 사용자 | AWS 리소스를 사용하는 개별 사용자 |
IAM 그룹 | 여러 사용자를 묶어서 권한을 관리하는 집합 |
IAM 롤 | AWS 리소스에 액세스를 부여하는 권한 세트 |
IAM 정책 | 특정 리소스에 대한 액세스를 허용/거부하는 규칙 |
프로그램적 액세스 | AWS SDK나 API로 접근하는 방식 |
콘솔 액세스 | 웹 브라우저를 통해 AWS 콘솔에 로그인하는 방식 |
🧑💻 결론
IAM은 AWS에서 보안 관리를 매우 중요한 역할을 합니다. 사용자, 그룹, 롤, 정책을 통해 각 리소스에 대한 세밀한 권한 설정이 가능하며, 이를 통해 최소 권한 원칙을 준수하고 안전한 AWS 환경을 만들 수 있습니다.
이 실습을 통해 IAM 사용자 생성, 그룹 및 롤 부여, 정책 적용 등의 과정을 익히셨다면, 이제 실제 서비스나 프로젝트에서 IAM을 효율적으로 사용할 수 있을 것입니다! 🚀