일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- N+1문제
- 알림생성
- 이미지가 포함된 게시글
- 토큰
- secret코드
- JWT 쓰는 방법
- N+1
- element.style
- 메뉴바 한번에
- 3계층구조
- JSON Web Token
- .env
- 패스파라미터
- 메뉴바
- 부트캠프
- 알림생성모듈
- route 53
- 게시글 이미지
- 네비게이션 한번에
- 포트번호
- getComputedStyle
- Winston
- 게시글 이미지 업로드
- 레포지토리
- 환경변수
- 스테이지어스
- JWT 쓰는이유
- JWT
- 쿼리스트링
- unnest
- Today
- Total
기주
[AWS] aws 특정 EC2, S3에서 하나의 계정에만 접근 허용하기, IAM 정책 JSON, arn 문법구조 본문
사용자, 그룹, 역할, 정책
역할과 정책의 차이점)
역할은 일정시간이 지나면 자동으로 역할이 해제된다(임시적)
반면 정책을 부여받았다면 정책을 다시 회수하는 작업이 필요하다
IAM policy JSON 구조)
전체 정책에 대한 Optional top-level elements가 있고, 이에 여러개의 Statement를 추가하는 형태.
하나의 Statement에는 여러개의 permission 정보가 포함되어있다
Optional top-level element)
version : iam policy JSON 문서 양식 버전
statement (array) : 권한 부여 규칙의 나열
id : 정책 식별자를 지정
IAM policy 구조)
Effect : 명시된 정책에 대한 허용 or 차단 (allow or deny)
ㄴ effect가 allow라면 특정 작업을 허용하는 정책
principal : 접근을 허용 or 차단하고자 하는 주체 (사용자, 역할, aws 계정)
ㄴ리소스 기반 정책에서만 사용
action : 정책에서 수행가능한 작업
ㄴ*은 해당 서비스의 모든작업
ㄴs3:GetObject는 버킷에서 객체를 읽을 수 있는 작업
resource : 정책이 허용 or 차단되는 자원 (s3의 버킷, ec2의 인스턴스)
ㄴ resource를 사용하여 특정 서비스나 리소스에 대한 작업이 수행되도록 정책을 제한 할 수 있다
ㄴ특정 버킷에 대한 작업을 지정하기위해 해당 버킷의 ARN을 resource로 사용할 수 있다
principal : 정책이 적용되는 조건
ㄴ예시) 특정 IP주소에서만 허용되도록 하는 조건
팁)
-나열되는 요소들의 순서는 중요하지않다. Resource가 먼저오든 action이 먼저 오든 상관없다
-정책에서 condition 요소는 지정하지 않아도된다.
- 하나의 요소내에 여러개를 지정해줄때는 리스트 이용
-action / not action, principal / not principal, resource / notresource는 택일해야한다
자격증명 기반정책과 리소스기반 정책)
IAM 정책은 사용자에게 부여하는 방식을 이용할 수 도 있지만,
리소스에 부여하는 방식을 이용할 수도 있다.
-자격 증명기반정책(identity-based policies) : User, Group, Role에 할당하는 IAM 정책
ㄴ 특정 사용자에게 정책을 할당하는 방식이므로 principal을 기재하지 않는다
-리소스 기반 정책 : 리소스 (S3 버킷, ec2 인스턴스)에 할당하는 IAM 정책
ㄴ어떤 사용자에게 정책을 할당할지 써줘야하므로 principal을 기재한다
arn 문법구조)
arn (Amazon Resource Name) : AWS의 모든 리소스의 고유 아이디
arn의 형식)
ㄴarn:partition:service:region:account-id:resource-id
partition : 리소스가 존재하는 aws 리전의 그룹
service : aws 서비스 (s3)
region : 리전
account-id : aws 계정 id(123456789012), 리소스를 소유하고있는 aws 계정의 ID로 하이픈 없이 표기
resource-id : 리소스이름 or 리소스 ID or 리소스 경로, *도 사용가능
리소스마다 arn 형식이 다를 수 있고, region, account-id가 생략될 수도 있다
s3버킷 arn에는 리전과 계정번호를 쓸 필요 없다
ㄴ
arn:aws:s3:::bucket_name
arn:aws:s3:::bucket_name/key_name
'TIL' 카테고리의 다른 글
[AWS] aws 탄력적IP (0) | 2024.02.07 |
---|---|
[AWS] aws 키페어 분실시 복구하는법 (0) | 2024.02.07 |
[TIL] 로컬에서 개발하기2) DB 원격 접속하기 postgreSQL (0) | 2024.01.22 |
로컬에서 개발하기1) 프로젝트 폴더 내려받기 (git clone) (0) | 2024.01.22 |
캐싱 (0) | 2024.01.14 |