yon11b

[SK 쉴더스 루키즈] User Data, S3 기초, IAM 정책 본문

보안/SK 쉴더스 루키즈

[SK 쉴더스 루키즈] User Data, S3 기초, IAM 정책

yon11b 2026. 4. 20. 21:43
반응형

User Data

1. VPC를 만들고, Public 서브넷도 만들어서 그 안에 넣는다.

2. EC2를 만들고, VPC, 서브넷을 선택한다.

3. [EC2] 80 포트가 접근 가능하게 보안 그룹 규칙을 설정한다.

4. [EC2]  User data 설정을 다음과 같이 넣는다.

#!/bin/sh

dnf upgrade –y
dnf install -y httpd wget php-mysqli php
echo "My home page Emma" >> /var/www/html/index.html 
systemctl start httpd
systemctl enable httpd

 

이제 EC2의 EIP로 접근하면 확인할 수 있다.

모두가 접속 가능 -> 내 pc에서만 접속 가능하도록

인바운드 규칙 편집

 

그 전에는 모두가 접근이 가능했었다. 다른 사람도 내 EC2 웹서버에 접속이 가능했었음

네트워크 문제 해결 접근 방법

  • 보안 그룹 확인하기
  • 공인IP 할당
  • 퍼블릭 서브넷에 위치
    • 서브넷에 연결된 라우팅 테이블에 IGW가 있는지

S3

데이터 저장소. 파일을 객체 단위로 저장. URL로 접근 가능

같은 리전의 다른 부분에 복사본을 저장 -> 가용성이 매우 높음(99.99999%?)

서버리스: 서버를 관리할 필요가 없다.

 

버킷 정책

정책을 누구에게 적용할 것이냐? -> principal에서 정의

IAM정책에는 principal 키워드가 없음

 

IAM 정책

콘솔, CLI, SDK 다 권한이 있어야 접근이 가능하다.

 

IAM의 핵심 구성 요소: user, group, role

User

사람 한 명 / 하나의 애플리케이션

 

Group

user들의 집합

group에 정책을 붙이면 -> 소속된 모든 user가 해당 권한을 상속 받음

한 user는 여러 group에 속할 수 있음

 

Role

일시적으로 떠맡는 신원

임시 자격 증명을 발급받아 사용. (기본 1시간)

 

주요 사용 사례

- EC2 인스턴스가 S3에 접근해야 할 때(EC2가 S3를 직접 건드릴 수는 없음. 반드시 role을 사용해야)

- 다른 AWS 계정의 사용자가 내 리소스에 접근해야 할 때

 

정책 평가 우선순위

https://docs.aws.amazon.com/ko_kr/sns/latest/dg/sns-access-policy-language-evaluation-logic.html

명시적 deny > 명시적 allow > 암시적 deny

 

- 명시적 deny가 없고 명시적 alow가 있어야 권한 행사 가능!

- 명시적 allow, deny 둘 다 없으면 -> 암시적 deny이다.

 

Q. 놔두면 암시적 deny인데 굳이 명시적 deny를 하는 이유는?

A. 중간에 내가 생각지 못하게 allow가 되어 있는 곳이 있을 수도 있기 때문에 명시적 deny 해줘야 함.

 

실습: User 생성 -> 정책 부여

처음에 정책 부여 x

 

 

ec2 fully accesss 권한 부여 후..

 

관리형 정책 vs 인라인 정책

관리형 정책

1. AWS 관리형 정책

   - 이미 만들어져 있는 정책(AWS가 만듦)

   - AmazonS3ReadOnlyAccess, AmazonEC2FullAccess , ...

2. 고객 관리형 정책

   - 사용자가 직접 만들고 관리하는 정책

 

-> 반복 부여 가능

 

인라인 정책

특정 user, group, role에 직접 내장되는 정책

독립적 존재 x, 해당 엔티티에 종속됨

 

-> 1회

 

권한 경계

IAM 정책과 권한 경계 정책의 교집합이 최종 권한이 된다.

 

액세스 키

CLI로 AWS 계정에 접근하려면 액세스 키를 만들어야 한다.

1. AWS CLI 설치(.msi 설치) https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

2. 설치 후 로그인(액세스 키를 이용해서)

 

S3에 있는 파일을 내 로컬 pc로 다운로드

aws s3 cp s3://객체경로 다운받을위치

 

CLI로 S3에 파일 업로드

aws s3 cp 로컬파일경로 s3://버킷경로

 

IAM 권한 부여 권장 가이드

루트 게정에서는 access key, secret key 발급 x → 보안상의 이유

최소 권한 부여

관리형 정책(불필요하게 인라인 정책을 남발하지 말자)

미사용 user, role, 정책은 정기적 검토를 통한 제거

 

 

 

 

 

 

 

728x90