Gsutil: aws_session_token ์ง€์›

์— ๋งŒ๋“  2018๋…„ 06์›” 12์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: GoogleCloudPlatform/gsutil

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” gsutil v. 4.3.1์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ AWS ์‚ฌ์ „ ์„œ๋ช…๋œ URL๋กœ ์ž‘์—…ํ•  ๋•Œ ํ•„์ˆ˜ ๊ตฌ์„ฑ ์„ค์ •์ธ AWS_SESSION_TOKEN์— ๋Œ€ํ•œ ๋ช…๋ฐฑํ•œ ์ง€์›์ด ์—†์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‚ฌ๋ก€: ๋‚ด ๊ณ„์ •์— ์žˆ๋Š” GCP ๋ฒ„ํ‚ท์—์„œ S3๋กœ ๊ฐ์ฒด๋ฅผ ์—…๋กœ๋“œํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. AWS์—์„œ ๋ฏธ๋ฆฌ ์„œ๋ช…ํ•œ URL๊ณผ ๋‹ค์Œ์„ ํฌํ•จํ•˜๋Š” ํ•ด๋‹น ์ž๊ฒฉ ์ฆ๋ช…์„ ์ œ๊ณต๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

  1. AWS_ACCESS_KEY_ID
  2. AWS_SECRET_ACCESS_KEY
  3. AWS_SESSION_TOKEN

.boto ํŒŒ์ผ์—์„œ ์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜๋กœ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์—์„œ๋„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ๋‹ค์Œ ํ˜•์‹์˜ cp ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ๋ฐ›๋Š” ์‘๋‹ต์€ "403 AccessDenied"์ž…๋‹ˆ๋‹ค.

gsutil cp gs://mybucket/obj s3://s3bucket/obj

๋ฏธ๋ฆฌ ์„œ๋ช…๋œ URL์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
๋งŽ์€ ํ…Œ์ŠคํŠธ ๋์— AWS_SESSION_TOKEN์ด ์ง€์›๋˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ง€์›์„ ์š”์ฒญํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”,
-๋‚˜๋‹จ

Feature Request dependency

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

+1 - gsutil์„ ์‚ฌ์šฉํ•˜์—ฌ S3(STS ์œ„์ž„๋œ ์—ญํ•  ํฌํ•จ)์—์„œ GCS๋กœ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  6 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”,
๊ทธ๋ƒฅ ๋‹ค์‹œ ํ™•์ธํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋Šฅ ๋ชฉ๋ก์— ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๊นŒ?
๋” ์ž์„ธํ•œ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

์—ฌ๊ธฐ์— ๋‘ ๊ฐ€์ง€ ์งˆ๋ฌธ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ํ˜„์žฌ gsutil์—์„œ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • GCS ์„œ๋ช…๋œ URL ๋˜๋Š” S3 ์‚ฌ์ „ ์„œ๋ช…๋œ URL์— ์—…๋กœ๋“œ
  • AWS_SESSION_TOKEN์— ๋Œ€ํ•œ ์ง€์› ์ถ”๊ฐ€([1]์˜ Stackoverflow ๊ฒŒ์‹œ๋ฌผ์—์„œ๋„ ์–ธ๊ธ‰ํ–ˆ๋Š”๋ฐ Boto ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ง€์›๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค).

[1] https://stackoverflow.com/questions/51353850/configure-gsutil-boto-file-to-use-aws-sts-assume-role

๋งˆ์ง€๋ง‰ ๋‹ต๋ณ€์€ 2018๋…„ 8์›”์ž…๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ด์ „ boto ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐ ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๋กœ๋“œ๋งต์— boto ๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  oath2client ๋ฅผ google-auth ๋กœ ๋ฐ”๊พธ๊ณ  httplib2 ๋ฅผ requests ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ๊ณผ ํ•จ๊ป˜ boto ์™€์˜ ๊ด€๊ณ„๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. requests ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.

์ด๊ฒƒ์€ boto ์—์„œ ๋ฉ€์–ด์ง€๋Š” ๊ฒฝ๋กœ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๊ตฌํ˜„ํ•œ ํ›„์— ํƒ์ƒ‰๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ข…์†์„ฑ ๋ณ€๊ฒฝ์€ ํ˜„์žฌ ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ์ด์ง€๋งŒ boto ๋ณ€๊ฒฝ์€ oauth2client -> google-auth ๋ณ€๊ฒฝ๋ณด๋‹ค ์šฐ์„  ์ˆœ์œ„๊ฐ€ ์•ฝ๊ฐ„ ๋‚ฎ์Šต๋‹ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ gsutil์€ ์œ ์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์ „ํ™˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ƒˆ ์†Œ์œ ์ž์˜ ์šฐ์„  ์ˆœ์œ„์™€ ๋กœ๋“œ๋งต์— ๋”ฐ๋ผ ๋ชฉํ‘œ์˜ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๋‹ค์‹œ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์š”์ปจ๋Œ€, ์šฐ๋ฆฌ๋Š” ํ™•์‹คํžˆ ๋‹น์‹ ์—๊ฒŒ ์ด๊ฒƒ์— ๋Œ€ํ•ด ์—…๋ฐ์ดํŠธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค! ์šฐ๋ฆฌ๋Š” ๋‹น์‹ ์„ ์žŠ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. :์•ฝ๊ฐ„_์›ƒ๋Š”_์–ผ๊ตด:

์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

+1 - gsutil์„ ์‚ฌ์šฉํ•˜์—ฌ S3(STS ์œ„์ž„๋œ ์—ญํ•  ํฌํ•จ)์—์„œ GCS๋กœ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰