λ‘œμΌ“πŸΎ
article thumbnail
λ°˜μ‘ν˜•

s3 버킷 μ •μ±…μ΄λž€?
aws s3에 버킷을 λ§Œλ“€κ³  ν•˜λ‚˜μ˜ 이미지 νŒŒμΌμ„ μ—…λ‘œλ“œ ν›„ ν•΄λ‹Ή μ΄λ―Έμ§€μ˜ μ£Όμ†Œλ₯Ό ν˜ΈμΆœν•΄ 보면 μ•„λž˜ 이미지와 같이 Access Denied였λ₯˜λ₯Ό λ°œμƒμ‹œν‚€λ©΄μ„œ μ—‘μ„ΈμŠ€ λ˜μ§€ μ•ŠλŠ”λ‹€.


이런 ν˜„μƒμ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μƒμ„±ν•œ s3버킷에 버킷 μ •μ±… μ΄λΌλŠ” 것을 생성해야 ν•©λ‹ˆλ‹€.

s3 버킷 μ •μ±…μ΄λž€ μ‚¬μš©μžκ°€ s3 버킷에 μ—‘μ„ΈμŠ€ ν•  수 μžˆλŠ” μ •μ±… μ˜΅μ…˜μ€‘ ν•˜λ‚˜ 이며 json 문법을 μ‚¬μš©ν•˜μ—¬ 버킷에 λŒ€ν•œ μ—‘μ„ΈμŠ€λ₯Ό μ œμ–΄ ν•©λ‹ˆλ‹€.
s3κ°€ 무엇인지? 버킷이 무엇인지?에 λŒ€ν•œ κΆκΈˆμ¦μ€ λ‹€μŒ 링크λ₯Ό μ°Έκ³ ν•˜μ‹œκΈΈ λ°”λžλ‹ˆλ‹€.

 

Amazon S3μ΄λž€ λ¬΄μ—‡μΈκ°€μš”? - Amazon Simple Storage Service

HTTPλ₯Ό ν†΅ν•œ SOAP 지원은 μ€‘λ‹¨λ˜μ—ˆμ§€λ§Œ HTTPSλ₯Ό 톡해 κ³„μ†ν•΄μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μƒˆλ‘œμš΄ Amazon S3 κΈ°λŠ₯은 SOAP에 λŒ€ν•΄ μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. REST API λ˜λŠ” AWS SDKλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

docs.aws.amazon.com

 

λ‹€μŒμœΌλ‘œ aws s3의 버킷정책에 λŒ€ν•΄μ„œ λ‹€μŒ 2가지 사둀λ₯Ό 예제둜 μ•Œμ•„λ΄…λ‹ˆλ‹€.

— 사둀 —
1. λͺ¨λ“ μ‚¬μš©μžμ— λŒ€ν•œ 읽기 ν—ˆμš©.
2. νŠΉμ • IPλ˜λŠ” IPλŒ€μ—­μ— λŒ€ν•œ ν—ˆμš©.

 

awss3buckettest버킷에 λͺ¨λ“ μ‚¬μš©μžκ°€ 읽기 κΆŒν•œ(GetObject) 가진닀.

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"PublicReadGetObject",
         "Effect":"Allow",
         "Principal":"*",
         "Action":"s3:GetObject",
         "Resource":"arn:aws:s3:::awss3buckettest/*"
      }
   ]
}

μœ„ 섀정은 λΆˆνŠΉμ • μ‚¬μš©μžκ°€ μ›ΉλΈŒλΌμš°μ €λ‘œ awss3buckettest λ²„킷에 올린 νŠΉμ • Objectλ₯Ό 호좜 ν•  수 μžˆλ‹€κ³  μ΄ν•΄ν•˜λ©΄ λ©λ‹ˆλ‹€.

 

νŠΉμ • IPμ—λ§Œ 읽기 κΆŒν•œ λΆ€μ—¬

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"AllowIPs",
         "Effect":"Allow",
         "Principal":"*",
         "Action":"s3:GetObject",
         "Resource":"arn:aws:s3:::awss3buckettest/*",
         "Condition":{
            "IpAddress":{
               "aws:SourceIP":"192.168.0.0/24"
            },
            "NotIpAddress":{
               "aws:SourceIP":"192.168.0.100/32"
            }
         }
      }
   ]
}

μœ„ 섀정은 192.168.0.0/24 λŒ€μ—­μ—μ„œ awss3buckettest λ²„킷에 GetObject 접근을 ν—ˆμš©ν•œλ‹€. ν•˜μ§€λ§Œ κ·Έ μ™Έ IPλŒ€μ—­κ³Ό 192.168.0.100 IP μ£Όμ†Œ μ—μ„œμ˜ 접근은 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€. μ ‘κ·Όμ‹œ λ‹€μŒκ³Ό 같은 였λ₯˜λ©”μ‹œμ§€λ₯Ό λΏŒλ¦°λ‹€.

s3 λ²„ν‚·μ •μ±…μ—μ„œ μ—¬λŸ¬κ°€μ§€ 쑰건을 μ§€μ •ν•˜λŠ” 방법은 λ‹€μŒ 링크λ₯Ό μ°Έμ‘°ν•©λ‹ˆλ‹€.
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/amazon-s3-policy-keys.html

 

Amazon S3 쑰건 ν‚€ 예 - Amazon Simple Storage Service

이 μ˜ˆμ œλŠ” 계정 κ°„ κΆŒν•œμ— κ΄€ν•œ κ²ƒμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ Dave(κΆŒν•œμ„ κ°€μ Έμ˜€λŠ” μ‚¬λžŒ)κ°€ 버킷을 μ†Œμœ ν•œ AWS 계정 에 μ†ν•œ 경우 μ΄λŸ¬ν•œ 쑰건뢀 κΆŒν•œμ€ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. Daveκ°€ μ†ν•œ μƒμœ„ 계정이 μ‚¬μš©μžκ°€

docs.aws.amazon.com

 

λ°˜μ‘ν˜•
profile on loading

Loading...