1) AWS CloudFront 보안 액세스 - 뷰어 / 오리진 프로토콜 정책
- 이렇게 프로토콜 정책을 세워 Client가 진입할 때의 흐름을 설정해줄 수 있다.
2) OAI (Origin Access Identity)
- OAI를 통해 S3 버킷의 액세스를 클라우드 프론트를 통해서만 하도록 할 수 있게 하는 기능
- 이전동안 실습했던 문제들은 대부분 Client가 S3 Bucket 직접 접근하는 방식(퍼블릭)이였다.
- 하지만 여기서는 CloudFront를 지나가므로 직접적으로 접근은 불가하다.
- S3 Bucket의 정책에 OAI ID가 있는 것만 허용한다.
- CloudFront는 Origin Access ID를 가지고 있기 때문에 접속할 수 있다.
CloudFront 보안 액세스
1) Singed URL, Signed Cookies
- 서명된 URL 또는 쿠키를 이용해서 콘텐츠에 접속하는 기능
- URL 또는 쿠키에는 콘텐츠 만료기간, 액세스 가능한 IP 주소를 지정할 수 있음
- 유로 콘텐츠나 보안을 위해 콘텐츠의 유효/만료 기간을 지정해야 하는 경우 사용 (승인된 사용자만 콘텐츠를 보도록)
- 서명된 URL은 1개의 파일에 1개의 서명만 저장 (1개의 파일 접속을 위한 URL)
- 서명된 쿠키는 하나의 쿠키로 여러 개의 파일 접속 가능
2) 지역 제한 (Geographic Restrictions)
- 특정 국가에서의 콘텐츠 액세스를 제한 하는 기능
- 법률적인 사항으로 국가별로 저작권이 다른 경우에 사용 가능
- 2가지 지리적 제한 옵션이 있다.
- 화이트리스트 (Whitelist) : 리스트에 있는 국가만 액세스 허용하고 나머지는 모두 거부
- 블랙리스트 (BlackList) : 리스트에 있는 국가만 액세스 거부하고 나머지는 모두 허용
3) AWS Web Application Firewall (WAF), AWS Shield와 결합해 DDos 방어 기능을 함
4) 필드 레벨 암호화
- 신용 카드 번호와 같이 사용자가 제출한 데이터를 안전하게 오리진 서버로 업로드할 수 있게 해주는 CloudFront의 기능
- PUT/POST 요청이 오리진으로 전달되기 전에 엣지로케이션에서 비대칭 암호화 키를 사용하여 데이터를 추가로 암호화
- 데이터는 프라이빗 키를 가진 애플리케이션만 복호화할 수 있다.
실습
지금은 CloudFront나 버킷으로 DNS주소로 바로 홈페이지에 들어갈 수 있다.
OAI 만들기
우선 CloudFront버킷에 들어가 [권한]에 들어간다.
그리고 버킷 정책 부분의 수정을 통해 OAI를 만들 수 있다.
CloudFront로 들어가 [보안]의 [원본 엑세스]를 들어간다.
들어가서 이름은 OAI로 만든다.
클릭해서 들어가주고
이 ID만 정책이 가능하도록 정책을 바꿔야한다.
다음과 같이 바꿔주고 방금 만들어준 OAI로 바꿔주고 정책을 복사한다.
이제 복사한 부분을 나의 버킷 정책에 넣어줄 것이다.
AWS 소스가 다음과 같은 부분을 GetObject할 것이다. 다음과 같이 작성해주고 저장을 누른다.
다음은 Public Access를 차단하자.
이제 차단이 됐으므로 S3에 대한 일반 접속이 안될것이다.
하지만 도메인 네임으로 접속했을 경우 접속이 잘 된다.
왜냐하면 위에서 버킷 정책에서 (OAI) 부분을 허용했기 때문이다.
다음은 Http.접속이 안되는 Redirect Https를 설정해보자.
이렇게 설정한 후 적용시간이 기다리고 확인해보면 https로 Redirection이 된 것을 확인할 수 있다.
또한 지리적 제한도 둘 수 있다.
이렇게 원치 않는 지역을 차단할 수도 있다.
'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글
AWS 데이터베이스 개요 (0) | 2023.01.11 |
---|---|
AWS Global Accelerator란? (0) | 2023.01.11 |
AWS CloudFront 배포해보기 (0) | 2023.01.11 |
AWS 스토리지 서비스 비교 (0) | 2023.01.11 |
AWS CloudFront란? (0) | 2023.01.11 |