Ⅰ. IAM 이란?
IAM : Identity and Access Management
AWS의 리소스에 대한 개별적으로 접근제어와 권한을 가지도록 계정 또는 그룹을 생성, 관리하는 글로벌 서비스이다.
최초에 AWS에 가입 할 때 계정의 루트 사용자가 생성되는것이다. 이 루트 계정은 사용해서도, 공유해서도 안된다.
💡 루트 계정에는 너무 많은 권한이 있기 때문에, 사용자를 만들어 최소한의 필요한 권한을 줘야한다.
그 대신 IAM에서 사용자를 생성한다.
하나의 사용자는 조직 내의 한 사람에 해당이 된다.
기본적으로 그룹을 생성해서 사용자를 배치해준다.
그룹과 사용자를 생성하는 이유는
그룹과 사용자에 따른 권한을 주기 위함이다!
정책, 또는 IAM 정책 이라고 불리는 JSON 문서를 지정하여 권한을 허용해준다.
Ⅱ. IAM 익히기
1. IAM 사용자 생성하기 (정책부여)
- IAM 콘솔로 이동
- 사용자 생성
- 사용자 세부 정보 지정
-
사용자 이름 지정
필자는 자격증 취득이 목적이므로 Identityi Center에서 사용자 지정하는 부분은 생략하도록 하겠다.
-
암호 지정
-
권한 설정 (그룹을 만들어서 권한을 주는 것이 편하다)
그룹 생성 클릭
admin 이라는 그룹을 생성하고 AdministratorAccess 정책 부여
AdministratorAccess 정책은 모든 리소스에 엑세스 할 수 있는 권한이다.그룹을 생성하고 그룹에 지금 생성하는 사용자를 추가해주도록 설정한다.
- 검토 및 생성
- 결과
![]() | ![]() |
2. IAM MFA
생성한 그룹과 사용자들의 정보를 보호하는 방법은 2가지가 있다.
첫 번째 방법은 비밀번호 정책이다.
두 번째 방법은 다요소 인증 (MFA) 이다.
MFA는 내가 알고 있는 비밀번호와 보안 장치를 함께 사용하는 것이다.
아래 그림과 같은 방식이다.
비밀번호와 지문인식
💡 AWS에서의 MFA 장치 옵션
1. 가상 MFA 장치
Google Authenticator(핸드폰에서만 사용 가능), Authy(컴퓨터 등 여러 장치에서 사용 가능)
Google Authenticator Authy
2. U2F 보안 키 (Universal 2nd Factor)
물리적 장치이다.
YubiKey 는 하나의 보안 키에서 여러 루트 계정과 IAM 사용자를 지원한다.
Yubico 사의 YubiKey
3. Hardware Key Fob
자동차 키 처럼 생각하면 쉽다.
Gemalto 사의 장치
MFA 실습
1. IAM 비밀번호 설정
IAM → 계정설정 → 암호정책 → 편집
2. 멀티팩터 인증 설정
계정 이름 클릭 후 보안 자격 증명 클릭
아까 생성산 사용자 dorong9로 들어가서 MFA 를 생성해주기 위해서 ‘MFA 없이 활성화됨’ 을 클릭
핸드폰으로 MFA 인증을 할 것이다.
아래와 같이 QR 코드가 나오는데
내 핸드폰에 Google Authenticator을 설치하여 해당앱으로 QR코드를 스캔하면 된다.
이렇게 하면 설치가 완료됩니다.
3. AWS 액세스
AWS에 액세스 하는 방법은 3가지가 있다.
-
사용자 이름 및 비밀번호와 MFA
-
CLI (Command Line Interface) : 명령줄 인터페이스
-
SDK (Software Developer Kit)
2번 3번은 완전히 동일한 액세스 키로 보호가 된다.
액세스 키를 생성해보자.
-
내 보안 자격 증명
-
액세스 키 생성
💡 절대로 해당 액세스 키는 타인과 공유하면 안된다!!
CLI
AWS CLI는 명령줄 shell 에서 명령어를 사용하여 AWS 서비스들과 상호작용 할 수 있도록 해 주는 도구다
AWS CLI 를 사용하는 이유는 모든 명령어가 aws 로 시작한다.
CLI를 사용하면 AWS 서비스의 공용 API로 직접 액세스가 가능하다
CLI를 통해 리소스를 관리하는 스크립트를 개발해 일부 작업을 자동화 할 수 있다.
SDK
SDK 는 소프트웨어 개발 키트이다.
특정 언어로 된 라이브러리의 집합이다.
따라서 프로그래밍 언어에 따라 개별 SDK가 존재한다.
SDK는 터미널 내에서 사용하는 것이 아니라 코딩을 통해 애플레ㅣ케이션 내에 심어두어야 한다.