AWS Region를 고르는 기준
• requirements: data never leaves a region without your explicit permission
• Proximity to customers: reduced latency
• Available services within a Region: new services and new features aren’t available in every Region
• Pricing: pricing varies region to region and is transparent in the service pricing page
• 요구 사항: 명시적 허가 없이는 데이터가 영역을 벗어나지 않습니다.
• 고객과의 근접성: 지연 시간 단축
• 지역 내에서 이용 가능한 서비스: 일부 지역에서는 새로운 서비스와 새로운 기능을 이용할 수 없습니다.
• 가격: 가격은 지역마다 다르며 서비스 가격 페이지에서 투명합니다.
IAM는 글로벌 서비스이며 리전을 필요로 하지 않는다.
리전에 따라 사용가능한 서비스가 제한되어있다.
MFA
MFA는 계정 보안을 설정할때 비밀번호 조건 강화외에도 추가로 설정하는 보안방식인데, 세가지 방식이 있다.
- Virtual MFA device - 가상 머신
- Universal 2nd Factor
- Hardware Key..
# 설정 하는 법
보안 자격 증명 > 멀티 팩터 인증(MFA) > MFA활성화
CLI
- Command Line Interface
CLI, 명령줄 인터페이스가 있습니다. 이 인터페이스는 컴퓨터에서 설정되며 액세스 키와 몇 초 안에 다운로드할 자격 증명으로 보호되어 터미널에서 AWS에 액세스할 수 있습니다.
AWS Management 콘솔을 사용하는 대신 사용할 수 있습니다.
# 장점
CLI를 사용하면 AWS 서비스의 공용 API에 직접 액세스할 수 있으므로 이 과정에서 매우 유용합니다.
그런 다음 CLI를 사용하여 리소스를 관리하고 일부 작업을 자동화하는 스크립트를 개발할 수 있습니다
# 윈도우에 CLI설치하기
윈도우용 AWS CLI 설치 사이트로 이동하여 설치하기
# 올바르게 설치 되었는지 확인
1. cmd를 켜기
2. aws --version
# AWS에서 액세스키 받아서 연동하기
1. 액세스 키 받기
IAM > 액세스관리 > 사용자 > 연동할 사용자 클릭 > 요약하단 [보안자격 증명] 탭 클릭 > 액세스 키 세션 내 [액세스 키 만들기] 버튼 클릭
2. CMD켜기
3. aws configure
4. AWS Access Key ID : 액세스 키ID복붙
5. AWS Secret Access Key : 액세스 키PW복붙
6. Default region name : 구분할 유저명 작성
7. Default output format : 안 적어도 됨
# 잘 연동 되었는지 확인
IAM권한인 것을 적어본다.
# 권한이 없을 때 잘 접근 제어되는지 확인
방금전에 IAM users를 조회한 계정에 IAM권한을 지웠다. 그리고 다시 CMD에서 aws iam list-users를 실행해보자
AWS CloudShell
AWS Console에서도 CLI처럼 명령어로 제어할수 있다.
장점은 아까 CLI에서 한것 처럼 엑세스를 받아서 자격증명을 할 필요가 없다는 점이다.
현재 로그인되어있는 계정으로 자격증명이 자동으로 된다.
하지만 해당 방법은 사용가능한 리전이 한정되어있어서, 가능 리전으로 접근해서 사용하거나 해야한다.
(작성일 기준 한국리전은 불가능해서 도쿄리전으로 해봄)
# 파일 만들고 다운로드 받기
클라우드 셸의 특징은 전체 저장소가 있다는 것이다.
[cloudshell-user@ip-10-0-42-127 ~]$ ls
[cloudshell-user@ip-10-0-42-127 ~]$ echo "test">demo.txt
[cloudshell-user@ip-10-0-42-127 ~]$ cat demo.txt
test
[cloudshell-user@ip-10-0-42-127 ~]$ ls
demo.txt
[cloudshell-user@ip-10-0-42-127 ~]$ pwd
/home/cloudshell-user
처음 ls로 파일 목록을 조회해볼 때 클라우드 셀에는 파일이 없다는 점을 알수 있다.
# 글자 사이즈 조절/테마 선택
# 탭 추가하기
SDK
- Software Development Kit
애플리케이션 코드 내에서 AWS에서 API를 호출할 때마다 사용되는 SDK인 AWS 소프트웨어 개발 키트가 있습니다.
SDK는 의 약자로, 이것은 라이브러리 집합입니다. 이것은 언어마다 다르므로, 당신은 SDK를 가지고 있을 것입니다. 비슷하게, 그것은 당신이 당신의 AWS 서비스와 API를 프로그래밍 방식으로 접근하고 관리할 수 있게 할 것입니다. 하지만 이번에는 SDK는 당신이 당신의 터미널 내에서 사용하는 것이 아닙니다. 응용 프로그램에 포함시켜 코딩해야 하는 것입니다.
자바스크립트, 파이썬, PHP와 같은 다양한 프로그래밍 언어를 지원한다.NET,Ruby,Java,Go,Node.js,C++,이 모든 프로그래밍 언어입니다.
안드로이드나 iOS를 사용한다면 모바일 SDK도 있고, 사물인터넷(IoT) 장치 SDK도 있습니다. 따라서 연결된 열 센ㅈ서나 백로그를 사용할 경우에 대비한 장치 SDK도 있습니다.
이상적인 IAM셋팅
- AWS 계정을 설정할 때를 제외하고는 루트 계정을 사용하지 마십시오. AWS 사용자 한 명이 물리적 사용자 한 명과 같다.
- 강력한 암호 정책을 만들어야 한다.
- MFA(Multiple Factor Authentication)를 사용하여 계정을 해커로부터 안전하게 보호해야 한다.
- AWS를 프로그래밍 방식으로 사용하거나 CLI를 사용하여 CLI나 일부 SDK를 사용하려면 액세스 키를 생성해야 합니다. 이러한 액세스 키는 암호와 같다. 해당 액세스 키는 꼭 유출되지 않도록 해야한다.
• Users 사용자: 물리적 사용자에 매핑되었으며 AWS 콘솔의 암호가 있습니다.
• Groups 그룹: 사용자만 포함합니다.
• Policies 정책: 사용자 또는 그룹에 대한 사용 권한을 요약한 JSON 문서
• Roles 역할: EC2 인스턴스 또는 AWS 서비스용
• Security 보안: MFA + 암호 정책
• Access Keys 액세스 키: CLI 또는 SDK를 사용하여 AWS 액세스
• Audit 감사: IAM 자격 증명 보고서 및 IAM Access Advisor
퀴즈 오답노트
IAM Security Tool : IAM Credentials Report
IAM시큐리티 툴 : IAM Credentials Report
Which principle should you apply regarding IAM Permissions?
grant least privilege
IAM 권한과 관련하여 적용할 원칙은 무엇인가요?
원칙을 적게 상속받도록 한다. (최소한의 권한을 준다)
IAM User Groups can not be part of other User Groups.
According to the AWS Shared Responsibility Model, which of the following is AWS responsibility?
AWS infrastructure