AWS S3 Bucket ์ƒ์„ฑ

ํ™์„ฑํ—Œยท2023๋…„ 2์›” 19์ผ
0
  1. ๐Ÿ” S3(Simple,Storage, Service)๋ž€
    S3๋Š” AWS(Amazon Web Service)์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐ๋„ท ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
    S3(Simple Storage Service) ๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.

โœ… S3์˜ ์žฅ์ 
๋†’์€ ๋‚ด๊ตฌ๋„๋ฅผ ์ž๋ž‘ํ•˜๋ฉฐ ์ •๋ณด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ €๋ ดํ•œ ๋น„์šฉ์œผ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค(ec2์— ์ด๋ฏธ์ง€, ์˜์ƒ๋“ฑ์„ ์ €์žฅํ•˜๋ฉฐ ๋น„์šฉ์ด ๋งŒ๋งŒ์น˜ ์•Š์Šต๋‹ˆ๋‹ค.)
๋ณด์•ˆ์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค ( SSL์„ ํ†ตํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ „์†ก๊ณผ ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋ฏ€๋กœ ํ•ดํ‚น ๊ฑฑ์ •์ด ์ ์Šต๋‹ˆ๋‹ค.)
์†๋„๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค (๊ฐ ์ง€์—ญ์— ๋งž๊ฒŒ ์„ ํƒํ•˜๋ฉฐ, ์—…/๋‹ค์šด๋กœ๋“œ ์‹œ ์ง€์—ญ์‹œ๊ฐ„ ์ตœ์†Œํ™”๋ฅผ ์œ„ํ•œ ๋ฉ€ํ‹ฐ ํŒŒํŠธ ์—…๋กœ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
2. ๐Ÿ“‘ S3 ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ
1) ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ ํด๋ฆญ

2) ๋ฒ„ํ‚ท ์ด๋ฆ„, ๋ฆฌ์ „ ์ž…๋ ฅ

3) ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์„ค์ •

์‹ค๋ฌด์—์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋Š” ๋ชจ๋“  ์•ก์„ธ์Šค ์ฐจ๋‹จ ํ˜น์€ ACL์„ ์ด์šฉํ•˜์—ฌ ์•ก์„ธ์Šค ์ฐจ๋‹จํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋ณด์•ˆ์„ ์œ„ํ•ด ์ข‹์Šต๋‹ˆ๋‹ค.

4) ๋ฒ„ํ‚ท๋ฒ„์ „๊ด€๋ฆฌ, ๊ธฐ๋ณธ ์•”ํ˜ธํ™”

๋ณด์•ˆ์ƒ ๊ธฐ๋ณธ ์•”ํ˜ธํ™”๋„ ํ™œ์„ฑํ™”๋ฅผ ํ•˜๋Š”๊ฒŒ ์ข‹์ง€๋งŒ ๊ธฐ๋ณธ ์ƒ์„ฑ ํ›„ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๋น„ํ™œ์„ฑํ™” ํ•ด๋‘ก๋‹ˆ๋‹ค.
์„œ๋ฒ„์ธก ์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•œ ์ฐธ๊ณ ์ž๋ฃŒ https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/serv-side-encryption.html

5) ๋ฒ„ํ‚ท ์ƒ์„ฑ ํ™•์ธ

6) ์—…๋กœ๋“œ ์‹œ๋„

์—…๋กœ๋“œ -> ํŒŒ์ผ/ํด๋” ์ถ”๊ฐ€ -> ์—…๋กœ๋“œ

7) ์—…๋กœ๋“œ๋œ ์‚ฌ์ง„ ํ™•์ธ

8) ์—…๋กœ๋“œ ์ด๋ฏธ์ง€ ํ™•์ธํ•˜๊ธฐ
์ด๋ฆ„ ํด๋ฆญ -> ๊ฐ์ฒด URL ํด๋ฆญ

9) AccessDenied ์˜ค๋ฅ˜ ๋ฐœ์ƒ
์—…๋กœ๋“œํ•œ ์‚ฌ์ง„์„ ๋ณด๊ธฐ์œ„ํ•ด URL์ ‘๊ทผ ํ•˜์˜€์œผ๋‚˜ access denied ๋ฐœ์ƒ๐Ÿ˜ถ

10) ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ ์ˆ˜์ •
๊ถŒํ•œ -> ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ -> ํŽธ์ง‘ -> ์ฒดํฌ ๋ชจ๋‘ ํ•ด์ œ -> ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ €์žฅ

11) ๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘
๊ถŒํ•œ -> ๋ฒ„ํ‚ท์ •์ฑ… -> ํŽธ์ง‘ -> ๋ฒ„ํ‚ท์ •์ฑ… -> ๋ฒ„ํ‚ท ARN ๋ณต์‚ฌ ํ›„ ์ •์ฑ… ์ƒ์„ฑ๊ธฐ ํด๋ฆญ

12) ๋ฒ„ํ‚ท ์ •์ฑ… ์ƒ์„ฑ(1)

Select Type of Policy - S3 Bucket Policy ์„ ํƒ
Principal - ์ž…๋ ฅ
Actions - GetObject ์„ ํƒ
13) ๋ฒ„ํ‚ท ์ •์ฑ… ์ƒ์„ฑ(2)
๋ณต์‚ฌํ•œ ๋ฒ„ํ‚ท ARN์„ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•œ ํ›„์— /
์„ ์ถ”๊ฐ€ -> Add Statement ํด๋ฆญ

14) ๋ฒ„ํ‚ท ์ •์ฑ… ์ƒ์„ฑ(3)
Generate Policy ํด๋ฆญ

15) ๋ฒ„ํ‚ท ์ •์ฑ… ์ƒ์„ฑ(4)
Policy JSON Document๋ฅผ ๋ณต์‚ฌํ›„ ๋‹ซ๊ธฐ

16) ๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘ ์ ์šฉ
๋ณต์‚ฌํ•œ Json์„ ๋ถ™์—ฌ๋„ฃ์€ ํ›„ -> ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ €์žฅ
(์ˆ˜์ •) resource ๋งˆ์ง€๋ง‰์— /* ์ถ”๊ฐ€!!

17) ์—…๋กœ๋“œํ•œ ์‚ฌ์ง„ ์žฌํ™•์ธ
๋‹ค์‹œ ๋ฒ„ํ‚ท -> ๊ฐ์ฒด -> ์ด๋ฆ„ ์„ ํƒํ›„ -> ๊ฐ์ฒดURL ํด๋ฆญ

์ •์ƒ์ ์œผ๋กœ ์‚ฌ์ง„์ด ๋ณด์ž…๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ CORS ๊ถŒํ•œ ์„ค์ •

์—ฌ๊ธฐ์—

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "x-amz-server-side-encryption",
            "x-amz-request-id",
            "x-amz-id-2"
        ],
        "MaxAgeSeconds": 3000
    }
]

๋ถ™์—ฌ๋„ฃ๊ธฐ

profile
๋ณด๋ฆ„๋‹ฌ ๐ŸŒ•

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด