OAuth2 ์ ์ฉ์ด ๋๋ ์ด ๋ผ์ aws ์ค์ ์ด๋ผ๋ ํ๊ธฐ...
1. ๋ฒํท ์์ฑํ๊ธฐ
์ฌ์ฉ์๋ค์ด ์ฌ์ง ์ ๋ก๋/๋ค์ด๋ก๋ํ ์ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ public์ผ๋ก ๋๋ฆฌ๊ธฐ
๋ฒํท ๋ฒ์ ๊ด๋ฆฌ๋ ๊ธฐ๋ณธ ์ํธํ๋ ์ผ๋จ ๋นํ์ฑํ๋ก ์ค์ ํ๋ค.
1. public access ์ค์
์์ง public access๋ ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ policy๋ฅผ ๋ง๋ค์ด ์ ์ฉํด์ผ ํ๋ค.
๋ฒํท > ๊ถํ > ๋ฒํท ์ ์ฑ > ์ ์ฑ ์์ฑ๊ธฐ๋ก ๋ค์ด๊ฐ ์ค์ ํด์ผ ํ๋ค.
https://awspolicygen.s3.amazonaws.com/policygen.html
- effet : ์ ๊ทผํ๋ ์ฌ๋์ ์ ํํ ๊ฒ์ธ๊ฐ
- principal : ์ ๊ทผํ๋ ์ฌ๋ ์ ํ
- actions : getObject, putObject, deleteObject (์๋น์ค์ ๋ง๊ฒ ์ค์ )
- arn : bucket์ ์๋ ๊ฑฐ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๊ธฐ (arn:aws:s3:::{๋ฒํท ์ด๋ฆ})
๊ทธ๋ฌ๋ฉด ์ฌ๊ธฐ์์ ์ ์ฑ ์ ์์ฑํด์ฃผ๋๋ฐ, ํด๋น jSON ๊ฐ์ bucket์ ์ ์ฑ ์ ๋ถ์ฌ๋ฃ์ผ๋ฉด ๋๋ค
{
"Id": "Policy1689225916395",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1689225914460",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::weddingmate-bucket",
"Principal": "*"
}
]
}
๊ทผ๋ฐ ๊ทธ๋ฅ ๋ ์ผ๋ฉด ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
์ ๊ทผํ ์ ์๋ Resource์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํด์ฃผ์ง ์์์ ๊ทธ๋ ๋ค๊ณ ํ๋๋ฐ, ์์ ๋ณต์ฌํ๋ ์ ์ฑ ์์ Resource ๋งจ ๋ค์ /*๋ฅผ ๋ฌ์์ค๋ค.
(ํน์ ํด๋์๋ง ์ ๊ทผํ๊ฒ ํ๋ ค๋ฉด /ํด๋์ด๋ฆ)
https://24hours-beginner.tistory.com/151
์์กด์ฑ ์ถ๊ฐ
build.gradle์ ์๋๋ฅผ ์ถ๊ฐํ๋ค
implementation 'org.springframework.cloud:spring-cloud-starter-aws' // AWS-S3 bucket
application.yml
- application.yml
# file ๊ด๋ จ ์ค์
spring:
servlet:
multipart:
max-request-size: 30MB
max-file-size: 30MB
- application-cloud.yml
cloud:
aws:
credentials:
access-key: {}
secret-key: {}
s3:
bucket: weddingmate-bucket
region:
static: ap-northeast-2
stack:
auto: false
'๐ฅ ํ๋ก์ ํธ > ์จ๋ฉ๋ฉ์ดํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๋ฅ] Transactional์ ๋ฒ์์์ ๋ฒ์ด๋ dirty checking์ด ๋์ง ์๋ ๊ฒฝ์ฐ (0) | 2023.08.13 |
---|---|
[์ง์] ๋ฉ์๋ ์ฐธ์กฐ์ ์์ฑ์ ์ฐธ์กฐ (0) | 2023.07.28 |
[์ค๋ฅ] ์์ ๊ด๊ณ์ Entity์ @Builder ์ ์ฉ ์ ์ด์ (0) | 2023.07.26 |
[Github Hook] Jira ํฐ์ผ ๋ฒํธ ์ปค๋ฐ ๋ฉ์์ง ์๋ ์ถ๊ฐํ๊ธฐ (0) | 2023.06.29 |
0. ํ๋ก์ ํธ ์ธํ (0) | 2023.06.29 |
๋๊ธ