안녕하세요, 코린이의 코딩 학습기 채니 입니다.
"유데미" AWS 강의를 참고하여 포스팅한 개인 공부 내용입니다.
IAM (Identity and Access Management)
→ 사용자 생성 및 그룹 배치
→ 글로벌 서비스 해당
→ 가입을 하면서 생성된 root 계정은 오직 계정을 생성할 때만 사용
→ 개인 사용자 혹은 그룹을 생성할 수 있음
✅ 글로벌 서비스 여부 판단
- AWS Console에서 우측 상단에 Global이라고 표시되어 있음
- 글로벌 서비스가 아니라면 내가 선택한 리전이 표시됨
사용자와 그룹을 생성하는 이유
* AWS 계정을 사용하도록 허용하기 위함
* 허용을 위해선 권한 부여를 해야함 → IAM 정책 (JSON 문서)
다만, 모든 사용자에게 모든 것을 허용하지 않고 최소 권한의 원칙을 적용
IAM 정책
→ 그룹마다 정책을 부여할 수 있음 (그룹이 없는 개인 사용자 또한 가능)
→ 원하는 사용자에게 inline 정책 적용 가능
⭐️ IAM 정책 구성 요소
- Version: 정책 언어 버전
- Id: 정책 식별 ID (선택 사항)
- Statement
- Sid: 문장 ID (선택 사항)
- Effect: 접근 허용 여부
- Principal: 특정 정책이 적용될 사용자, 계정 혹은 역할
- Action: 허용 및 거부되는 API 호출 목록
- Resource: 적용될 action의 리소스 목록
- Condition: Statement가 언제 적용될 지 결정 (선택 사항)
✅ Version, Id는 문이 아니라 IAM 정책 자체의 일부!
IAM 계정 보호
Password Policy (비밀번호 정책의 정의)
→ 비밀번호가 강력할 수록 계정 보안이 철저
* 비밀번호 최소 길이 설정
* 특정 유형의 글자 사용 요구 (대/소문자, 숫자, 특수문자 등)
* 비밀번호 변경 허용 / 금지
* 일정 기간이 지나면 비밀번호 만료
* 비밀번호 재사용 막음
Multi Factor Authenticaton (MFA) - 다요소 인증
→ 필수적으로 사용하도록 권장
→ 비밀번호와 소지하고 있는 보안 장치를 함께 사용 (비밀번호를 해킹 당해도 계정이 침해당하지 않음)
MFA 옵션
- 가상 MFA 장치 (Virtual MFA device)
→ 원하는 수만큼의 계정 및 사용자 등록 가능
- Google Authenticator (하나의 휴대전화에서만 사용 가능)
- Authy (여러 장치에서 사용 가능)
하나의 장치에서도 토큰을 여러개 지원
- U2F 보안키 (Univeral 2nd Factor)
- Yubico 사의 YubiKey (제 3자 회사 장치)
하나의 보안 키에서 여러 루트 계정과 IAM 사용자를 지원 → 하나의 키로 충분
- Yubico 사의 YubiKey (제 3자 회사 장치)
- Hardware Key Fob MFA Device
- Gemalto 사 제품
- AWS GovCloud (미국 정부의 클라우드)
→ 특수한 Key Fob 필요 (SurePassID 사 제품)
AWS Access 방법
- password + MFA
- CLI: access key(자격증명)에 의해 보호
- AWS CLI 설치
access key를 생성하여 access
(https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html) - CloudShell 이용 (우측 상단에 아이콘 있음 → 사용불가한 region이 있으니 확인 필요)
AWS 클라우드에서 무료로 사용 가능한 터미널 같은 개념
구성 (글씨 크기 조정), 파일 업로드/다운로드, 전체 저장소 존재, 내부적으로 API 호출하는 등 장점 및 기능이 많음
- AWS CLI 설치
# AWS CLI 명령어
$ aws configure
AWS Access Key ID [None]: 발급받은 ACCESS KEY ID
AWS Secret Access Key [None]: 발급받은 SECRET ACCESS KEY
Default region name [None]: ap-northeast-2
Default output format [None]:
$ aws iam list-users
{
"Users": [
{
"Path": "/",
"UserName": "chany-dev",
"UserId": "USER ID",
"Arn": "ARN",
"CreateDate": "2023-11-20T13:17:49+00:00",
"PasswordLastUsed": "2023-11-29T12:36:54+00:00"
}
]
}
- SDK: 애플리케이션 코드 내에서 API 호출 (access key에 의해 보호)
사용자마다 access key를 생성하기 때문에, 공유 금지
(Access Key ID = username, Secret Access Key = password와 같음)
'Cloud > AWS' 카테고리의 다른 글
AWS) EC2 인스턴스 스토리지 - EBS, AMI (1) | 2023.12.26 |
---|---|
AWS) EC2 보안그룹 - SSH, 인스턴스 역할, 구매 옵션 (0) | 2023.12.13 |
AWS) EC2 - 옵션 및 인스턴스 유형 (0) | 2023.11.30 |
AWS) IAM 역할, 보안도구 및 공통 책임 모델 (0) | 2023.11.29 |
AWS) AWS 클라우드 개요 - 지역 및 AZ (0) | 2023.11.20 |