AWS(Amazon Web Service)

[AWS] Amazon S3 - Access Points

yunseohhe 2024. 11. 11. 18:32

S3 - Access Points

  • 많은 데이터가 담긴 S3 버킷을 예로 들어보자.
     - 우리에겐 재무 데이터나 영업 데이터 등등이 있고, 다양한 사용자나 그룹들이 그들의 데이터에 액세스 하려고한다.
     - 우린 아주 복잡한 S3 버킷 정책을 생성하고 시간이 지나면서 그게 커지도록 할 수 있는데, 사용자와 데이터가 많아질수록 이걸 관리하기가 더욱 어려워질 수 있다.
  • 그래서 우린 S3 액세스 포인트라는 것을 만들 수가 있다. 예를 들면 우린 Finance 액세스 포인트를 만들 수 있고, 그게 재무 데이터와 연결될 것이다. 그럼 재무 데이터는 어떻게 연결하느냐?
      - 액세스 포인트 정책을 정의할 것인데, 이 정책은 S3 버킷 정책과 똑같은 모습이다. 그리고 /finance라는 접두어에 읽기와 쓰기 액세스 권한을 부여할 것이다. 
  • 다음으로 우린 Sales 액세스 포인트를 정의할 수 있다. 역시 액세스 포인트 정책 덕분에 이게 영업 데이터와 연결될 것이다. 
      - 이 액세스 포인트에는 다른 게 첨부된다. 그리고 /sales라는 접두어에 읽기와 쓰기 액세스 권한을 부여할 것이다. 
  • 그럼 위의 이미지에 보이는 대로 이제 2개의 정책이 있고, 만일 Analytics 액세스 포인트를 만들려면 그걸 만들어서 재무와 영업 데이터를 지시하도록 할 수 있는데, 읽기 전용 액세스 권한만 부여할 것이다. 그럼 우린 Analytics 액세스 포인트에 대한 읽기 전용 정책을 생성할 것이다. 우린 보안 관리를 S3 버킷 정책에서 꺼내어 액세스 포인트에 넣었다. 그리고 모든 액세스 포인트는 각자 보안을 가지고 있다. 그래서 적절한 IAM 권한이 있다면 우리 사용자들은 Finance 액세스 포인트에 액세스 할 수 있다.
  • 버킷의 재무 부분에만 접속할 수 있고, 역시 영업에 관련된 사용자들은 영업 부문에만 액세스할 수 있다. 분석 그룹은 재무와 영업에 동시에 액세스가 가능할 수 있다.
  • 이렇게 액세스 포인트를 사용함으로써 우리는 S3 버킷에 액세스할 다양한 방법을 정의한다. 결과적으로 우린 아주 간단하게 보안을 관리할 수 있게 되는 것이다.

 

요약하자면

  - 액세스 포인트는 S3 버킷의 보안 관리를 간소화해주고, 각각의 액세스 포인트는 각자의 DNS 이름을 갖게 된다. 그걸로 우리는 액세스 포인트에 접속하게 된다. 
  - 액세스 포인트가 인터넷 오리진에 연결되거나 프라이빗 트래픽의 경우에 VPC 오리진에 연결되도록 할 수 있다. 그런 다음에 우리는 버킷 정책과 아주 비슷한 액세스 포인트 정책을 첨부하고, 그렇게 하면 우리는 보안 관리를 스케일링 할 수 있게 된다.

 

 

 

S3 - Access Points - VPC Origin

  • S3 액세스 포인트의 VPC 오리진을 우리는 프라이빗 액세스가 가능하도록 정의할 수 있다.

  • 예를 들어, VPC의 EC2 인스턴스는 인터넷을 통하지 않고 VPC 액세스 포인트와 VPC 오리진을 통해 우리의 S3 버킷에 액세스 할 수 있다. 그럼 위의 VPC 오리진에 액세스하기 위해 우린 액세스 포인트에 액세스하기 위한 VPC 엔드포인트라는 걸 만들어야 한다.
  • 그건 VPC 안에 있고 우리가 VPC 오리진을 통해 액세스 포인트에 사적으로 접속 할 수 있게 해줄 것이다. 그리고 위의 VPC 엔드포인트에는 정책이 있고, 그 정책은 타깃 버킷과 액세스 포인트에 대한 액세스를 허용해 줘야 한다.
  • 그럼 VPC 엔드포인트 정책은 우리읜 EC2 인스턴스가 Amazon S3의 액세스 포인트와 S3 버킷에 모두 접속하게 허용해 줄 것이다. 그럼 이 경우엔 VPC 엔드포인트 보안이 있고, 또한 액세스 포인트 정책에도 보안이 있다. 그리고 S3 버킷 수준에도 보안이 있다.