요구사항
빠르고 안정적인 프로필 이미지 이용을 위해 AWS S3 버킷을 사용하기로 했다.
S3 버킷 만드는 방법은
[AWS] S3 개념 및 버킷 만들기 (파일 업로드) — yeonnys' 개발일지
[AWS] S3 개념 및 버킷 만들기 (파일 업로드)
S3란?AWS(Amazon Web Service)의 S3는 Simple Storage Sevice의 약어로, 인터넷 스토리지 서비스를 의미한다. 쉽게 말하자면, 구글 드라이브처럼 파일을 저장하여 다른 사람들과 쉽게 공유할 수 있는 파일 저
yeonnys.tistory.com
내 root 계정으로 S3 버킷 생성 후 접근할 팀원의 IAM 권한을 부여해야한다.
root는 전지전능한 계정, iam은 root 하위의 허용된 권한만 이용가능한 계정이라고 보면 된다.
🔹 Root 계정 vs. IAM 계정 차이
항목 Root 계정 IAM 계정
설명 | AWS를 처음 생성할 때 만든 최고 관리자 계정 | Root 계정이 만든 하위 계정으로, 권한이 제한됨 |
권한 | AWS의 모든 서비스와 리소스에 대한 무제한 권한 | 할당된 권한만 사용 가능 |
삭제 가능 여부 | ❌ 삭제 불가 | ✅ 필요하면 삭제 가능 |
보안 위험 | 해킹 시 모든 리소스를 삭제 가능 | 제한된 권한만 사용하므로 상대적으로 안전 |
사용 권장 여부 | ❌ 사용 지양 (필요 시 IAM 계정 사용 권장) | ✅ 일반적인 AWS 사용은 IAM 계정을 활용 |
나는 여기서 내 ROOT 계정에 대한 IAM 계정을 콘솔에서 로그인 할 수 있게 하려고 한다.
AWS 서비스 검색에서 IAM 검색 후 왼쪽 바에서 사용자를 클릭한다.

오른쪽에 액세스 거부는 권한 경계가 S3 접근만 허용된 IAM 계정으로 접근해서 그렇다.
선택적 권한 부여

트러블슈팅
권한 경계만 설계했는데 해당 IAM 계정으로 AWS 콘솔에 로그인 해보니 ROOT계정에 생성되어 있는 S3 버킷이 안 보였다.
실질적으로 권한을 부여하는 것은 '권한 정책' 칸에서 관리하고 '권한 경계'는 최대 허용 가능한 권한을 제한하는 칸이다.
항목 권한 정책 (Policy) 권한 경계 (Permission Boundary)
설명 | 사용자의 권한을 부여하는 정책 | 최대 허용 가능한 권한을 제한하는 정책 |
주 용도 | 특정 사용자/그룹/역할(Role)에게 권한을 부여할 때 사용 | IAM 사용자가 가질 수 있는 최대 권한을 제한할 때 사용 |
우선순위 | 정책이 허용하는 모든 권한을 사용할 수 있음 | 권한 정책이 허용하더라도, 경계를 초과하면 해당 권한을 사용할 수 없음 |
예시 | "S3 버킷에 접근 가능하도록 설정" | "이 사용자는 S3 관련 작업만 가능하도록 제한" |
나는 팀원 한 명에게만 권한을 부여할것이라 1:1 정책 생성방식인 인라인 정책 생성을 선택했다.
권한 정책 클릭 - 인라인 정책 생성 - 권한 지정에서 서비스 선택 S3 선택 후 정책 이름 설정해주면 완료된다.

권한 부여 성공
IAM 계정에서 S3버킷에 대한 접근이 가능한 걸 볼 수 있다.

'개발 프로젝트' 카테고리의 다른 글
Kubernetes가 왜 많이 쓰이나요? (학습과 프로젝트 도입) (0) | 2025.03.23 |
---|---|
Buffer와 Cache의 차이와 GIT SUBMODULE 사용, 도커 트러블슈팅 err_name_not_resolved (0) | 2025.03.12 |
Docker-compose 환경 has blocked by CORS policy 문제 (0) | 2025.02.17 |
JIRA 활용법 - 가장 높은 점유율의 일정 관리 툴 (1) | 2025.02.02 |
공공데이터포털 데이터 MySQL에 csv파일로 import하는 방법 (1) | 2024.12.23 |