AWS 리소스 생성하고 관리
AWS 관리 콘솔
- AWS 리소스를 생성하고 관리하는데 사용하는 웹 기반 사용자 인터페이스 제공
- GUI 방식
AWS 명령줄 인터페이스
- AWS CLI : AWS 서비스를 관리하는 통합 도구 , 운영체제에 설치하면 셸 프로그램에서 AWS 서비스 사용
AWS 소프트웨어 개발 키트
- AWS SDK는 AWS 리소스를 프로그래밍적으로 사용하기 편리하도록 제공되는 라이브러리
- 최소한의 노력만으로도 동작 구현가능
- 파이썬,GO, 루비,자바 다양한 라이브러리 제공
AWS API란?
API란?
- 두 애플리케이션이 상호 작용할 수 있게 도와주는 매개체 => 두 애플리케이션이 서로 통신하면서 정보를 주고받는것
두가지 규칙
- 외부에 공개된 API 서버가 아닐때는 인증된 사용자만 접속
- 요청 할때 규칙을 정리한 문서인 '명세서'가 필요함
- 인증: 사용자가 적법한 서명 값을 가졌는지 확인
- 인가: 인증이 확인 된 사용자가 API 권한을 수행할 수 있는지 확인
AWS API란
- 사용자나 애플리케이션이 AWS 서비스를 사용하기 위해 도와주는 매개체.
- 사용자가 Amazon S3 서비스 사용하려고 하면 사용자는 요청 정보를 AWS API에 보낸다 이때 AWS API는 사용자 인증을 확인후 요청이 적합한다고 판단되면 S3에 전달하여 서비스 처리
- API 로깅 : AWS API 활동 기록 저장소 . 사고나 장애 발생하면 빠르게 대응
AWS IAM
- AWS 서비스와 리소스에 안전하게 접근하도록 관리하는 기능
- 인증 , 권한 통제
- 허가 받은 사용자 : AWS IAM 구성요소중 사용자,그룹
- 서비스에 대한 권한: AWS IAM 구성요솨중 정책 과 역할
구성요소
- AWS 루트 사용자: 해당 계정의 모든 권한
- IAM 사용자: 계정 내 사용자, 자체 자격 증명을 보유. 즉 IAM 사용자마다 특정 AWS 작업을 수행하게 권한 통제
- IAM 그룹: IAM 사용자 집합.
- IAM 정책: 자격 증명이나 리소스 연결될때 요청을 허용하거나 거부하는 권한 정의하는 객체
- IAM 역할 : 특정 권한을 가진 계정에 생성할 수 있는 IAM 자격 증명
- 보안주체: AWS에 요청하는 사람 또는 애플리케이션
AWS IAM 사용자
- 루트 사용자, 일반 사용자로 나뉨
- 루트 사용자가 해킹이라도 되면 공격자가 AWS 계정에 대한 모든 권한을 가지게되므로 일반적으로 AWS 리소스를 사용할 IAM 사용자 생성 및 권한을 부여한후 사용하는걸 권장
AWS IAM 정책
- 사용자가 특정 AWS 서비스를 사용하려고 인가를 요청하면, IAM은 IAM 정책 기반으로 AWS 요청을 검사,평가 한후 허용할지 차단할지 결정
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/Alice"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::example-bucket/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "public-read"
}
}
}
]
}
IAM 정책 주요 요소 설명
- Effect → 정책의 허용(
Allow) 또는 거부(Deny) 여부를 설정
- Principal → 정책을 적용할 사용자, 역할(Role), 계정(AWS ARN)
- Action → 허용 또는 거부할 AWS 서비스 작업 (예:
s3:PutObject)
- Resource → 정책이 적용될 AWS 리소스 (예: 특정 S3 버킷)
- Condition → 특정 조건이 충족될 때만 정책 적용 (예: 특정 ACL 값이
public-read일 때만 허용)
AWS IAM 역할
- AWS API 사용할 수 있는 임시 자격 증명
역할과 정책 차이
