오늘의 학습 키워드

  • S3
  • 버킷 폴리시

S3

  • Amazon Simple Storage Service는 인터넷 스토리지 서비스.
    -개발자나 IT 운영자가 웹 규모 컴퓨팅 작업을 수행하는 데 필요한 데이터 저장 공간을
    제공하고 는 웹 사이트 호스팅, 온라인 백업, 데이터 아카이브, 기업 애플리케이션, Big Data 분석 등 다양한 용도로 사용된다.

  • S3 서비스 사용 예
    -웹 사이트 호스팅
    -멀티미디어 파일 저장 및 스트리밍
    -애플리케이션 데이터 저장
    -백업 및 복원
    -아키이브

  • S3 서비스 장점
    -높은 내구성, 가용성 및 안정성
    -손쉬운 사용 및 관리
    -보안성
    -높은 확장성

  • Buckets
    -데이터를 저장하는 가장 상위 레벨의 폴더 형태의 컨테이너
    -S3에 저장되는 파일들을 ‘객체’ 라고 부르고 모든 객체는 ‘키’(디렉토리)로 식별된다.

    prefix/delimiter/object-name
    s3://my-bucket/my_folder/my_file.txt
  • 버킷 사용 목적
    -데이터 저장하는 컨테이너 역할
    -객체에 대한 공용 또는 개인적인 접근 권한을 설정하기 위한 위치
    -객체에 대한 특별한 이벤트 알림을 설정하기 위한 위치
    -AWS 계정에서 버킷 및 객체 사용에 대한 비용 추적 및 모니터링 위한 위치

  • 버킷 네이밍 컨벤션
    -대문자 금지, 언더스코어 금지
    -3자(최소)에서 63자(최대) 사이여야 한다.
    -소문자, 숫자, 점(.) 및 하이픈(-)으로만 구성
    -문자 또는 숫자로 시작하고 끝나야 한다.
    -두 마침표를 나란히 붙여 사용하면 안 된다.
    -IP 주소 형식(예: 192.168.5.4)을 사용하지 않는다.

버킷 폴리시

  • 버킷폴리시
    -IAM과 유사하며 JSON 형식의 문서.
    -버킷의 모든 객체에 대한 액세스를 제어할 수 있다.
    -특정 객체 또는 객체 그룹에 대한 액세스를 제어할 수 있다.
    -액세스를 허용하는 IP 주소 또는 범위를 지정할 수 있다.
    -액세스할 수 있는 리소스의 범위를 제한할 수 있다.
    -암호화된 연결을 사용하도록 강제할 수 있다.

  • 폴리시 예시
    -Resource : 버킷 혹은 오브젝트
    -Effect: Allow 혹은 Deny
    -Principal : 대상 유저

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "AllowUserToGetBucket",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::ACCOUNT-ID:user/USERNAME"
			},
			"Action": "s3:GetBucketLocation",
			"Resource": "arn:aws:s3:::BUCKET-NAME"
		}
	]
}

-IAM 사용자 "USERNAME"이 GetBucketLocation 작업을 수행할 수 있도록 지정된 버킷 "BUCKET-NAME"에 대한 액세스를 허용한다.

  • ARN
    -AWS에서 사용하는 고유한 식별자로 AWS의 모든 리소스에 대한 고유한 식별자 역할을 한다.
arn:partition:service:region:account-id:resource-id
arn:partition:service:region:account-id:resource-type/resource-id
arn:partition:service:region:account-id:resource-type:resource-id

//예시
arn:aws:iam::123456789012:user/johndoe
arn:aws:s3:::my_corporate_bucket/
arn:aws:ec2:us-east-1:123456789012:vpc/vpc-0e9801d129EXAMPLE
  • ARN 형식
    -arn: AWS 리소스 이름을 가리키는 고정 문자열
    -aws: 리소스가 AWS에서 호스팅되는 것을 나타내는 고정 문자열
    -service: AWS 서비스 이름을 나타내는 문자열
    (예: s3, lambda, ec2 등)
    -region: AWS 리전 이름을 나타내는 문자열
    (예: us-east-1, ap-northeast-2 등)
    -account-id: AWS 계정 ID를 나타내는 숫자
    -resource-id: 해당 리소스의 고유 식별자
    (예: S3 버킷 이름, Lambda 함수 이름등)

  • ACL
    -Access Control List : 접근 권한을 가진 경우들을 명시

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글