λ°˜μ‘ν˜•

 

μ‚¬μš©μž 인증과 κΆŒν•œ ν†΅μ œλŠ” μ˜¨ν”„λ ˆλ―ΈμŠ€ ν™˜κ²½κ³Ό λ”λΆˆμ–΄ ν΄λΌμš°λ“œ ν™˜κ²½μ—μ„œλ„ κ°€μž₯ μ€‘μš”ν•œ λ³΄μ•ˆ μš”μ†Œμ΄λ‹€

 

이 λ•Œλ¬Έμ— AWSλŠ” λ”μš± μ•ˆμ „ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ AWS IAM κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€

 

AWS IAM을 μ‚΄νŽ΄λ³΄κΈ° 전에 λ¨Όμ € AWS IAM μœ„μ—μ„œ AWS λ¦¬μ†ŒμŠ€κ°€ μ–΄λ–»κ²Œ μƒμ„±λ˜κ³  κ΄€λ¦¬λ˜λŠ”μ§€ μ•Œμ•„λ³΄μž!

 

AWS λ¦¬μ†ŒμŠ€ μƒμ„±ν•˜κ³  κ΄€λ¦¬ν•˜κΈ°

 

AWS λ¦¬μ†ŒμŠ€λ₯Ό λ‹€λ£¨λŠ” 방법을 μ‚΄νŽ΄λ³΄μž!

 

 

AWS 관리 μ½˜μ†”

 

AWS 관리 μ½˜μ†”μ—μ„œλŠ” AWS λ¦¬μ†ŒμŠ€λ₯Ό μƒμ„±ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλŠ” 'μ›Ή' 기반 μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€

 

=> 직관적이기 λ•Œλ¬Έμ— AWS μž…λ¬Έ λ‹¨κ³„μ—μ„œ μ‚¬μš©ν•˜κΈ°μ— ꡉμž₯히 편리
(μ•žμ„  μ‹€μŠ΅λ“€μ€ AWS 관리 μ½˜μ†”μ΄ˆλŸΌ μ›Ή 기반 GUI λ°©μ‹μœΌλ‘œ μ§„ν–‰ν–ˆμŒ)

 

AWS λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€

 

AWS λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€(AWS CLI)λŠ” AWS μ„œλΉ„μŠ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” 톡합 도ꡬ이닀

 

운영 체제(μœˆλ„μš°, macOS, λ¦¬λˆ…μŠ€)에 μ„€μΉ˜ν•˜λ©΄ "μ…Έ" ν”„λ‘œκ·Έλž¨μ—μ„œ AWS μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€

 

=> λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€λ‚˜ ν”„λ‘œκ·Έλž˜λ°μ—μ„œλ„ AWS λ¦¬μ†ŒμŠ€λ₯Ό λ‹€λ£° 수 μžˆλ‹€λŠ” 점을 μ•Œκ³ μžˆμž!

 

AWS μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν‚€νŠΈ

 

νŠΉμ • μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ°œλ°œν•  λ•Œ 도움을 μ£ΌλŠ” 개발 도ꡬ 집합을 μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν‚€νŠΈ(SDK) 라고 ν•œλ‹€!

 

AWS SDKλŠ” AWS λ¦¬μ†ŒμŠ€λ₯Ό ν”„λ‘œκ·Έλž˜λ°μ μœΌλ‘œ μ‚¬μš©ν•˜κΈ° νŽΈλ¦¬ν•˜λ„λ‘ μ œκ³΅λ˜λŠ” λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ μ˜λ―Έν•œλ‹€

 

=> 예λ₯Ό λ“€μ–΄ AWS λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜λŠ”λ° 인증 λ™μž‘μ΄ ν•„μš”ν•  λ•ŒλŠ” 직접 ν”„λ‘œκ·Έλž˜λ°ν•΄μ„œ κ΅¬ν˜„ν•΄μ•Ό ν•˜μ§€λ§Œ, AWS SDKλ₯Ό μ΄μš©ν•˜λ©΄ μ΅œμ†Œν•œμ˜ λ…Έλ ₯λ§ŒμœΌλ‘œλ„ λ™μž‘μ„ κ΅¬ν˜„ν•  수 μžˆλ‹€

 

(AWS SDKλŠ” 파이썬, Go, 루비, μžλ°” λ“± μ£Όμš” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ³„λ‘œ λ‹€μ–‘ν•œ 라이브러리λ₯Ό μ œκ³΅ν•¨)

 

AWS APIλž€

 

 

μ•žμ„œ μ„€λͺ…ν•œ AWS λ¦¬μ†ŒμŠ€λ₯Ό λ‹€λ£¨λŠ” 방법듀은 AWS APIμ—μ„œ μš”μ²­μ„ λ°›μ•„μ˜¨λ‹€

 

κ·Έλ ‡λ‹€λ©΄ AWS APIλž€ λ¬΄μ—‡μΌκΉŒ?

 

APIλž€

 

API(Application Programming Interfaces)λŠ” 두 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μƒν˜Έ μž‘μš©ν•  수 있게 λ„μ™€μ£ΌλŠ” λ§€κ°œμ²΄μ΄λ‹€

 

즉, APIλ₯Ό μ΄μš©ν•˜μ—¬ 두 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ„œλ‘œ ν†΅μ‹ ν•˜λ©΄μ„œ 정보λ₯Ό 주고받을 수 μžˆλŠ” 것이닀!

 

APIλ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” 두 κ°€μ§€ κ·œμΉ™μ„ 따라야 ν•œλ‹€

 

1. 외뢀에 곡개된 API μ„œλ²„κ°€ 아닐 λ•ŒλŠ” 인증된 μ‚¬μš©μžλ§Œ 접속할 수 있게 ν•΄μ•Ό ν•œλ‹€

 

=> 인증된 μ‚¬μš©μžμΈμ§€ ν™•μΈν•˜λŠ” '인증'κ³Ό 데이터λ₯Ό 내렀받아도 λœλ‹€κ³  ν—ˆκ°€ν•˜λŠ” '인가'κ°€ ν•„μš”ν•˜λ‹€

 

2. μš”μ²­ν•  λ•Œ κ·œμΉ™μ„ μ •λ¦¬ν•œ λ¬Έμ„œμΈ 'λͺ…μ„Έμ„œ'κ°€ ν•„μš”ν•˜λ‹€

 

=> μ΅œλŒ€ κΈ€μž 수 μ œν•œμ€ λͺ‡ κΈ€μžκΉŒμ§€μΈμ§€, μ „λ‹¬ν•˜λ €λŠ” 데이터 μœ ν˜•μ€ 무엇인지 λ“± μ •ν•΄μ§„ κ·œμΉ™μ΄ μš”μ²­μ„œμ— 담겨 μžˆμ–΄μ•Ό 함

 

 

예λ₯Ό λ“€μ–΄ 곡곡 데이터 포털 μ‚¬μ΄νŠΈμ—λŠ” 곡곡 데이터λ₯Ό μ œκ³΅ν•  수 μžˆλŠ” API μ„œλ²„κ°€ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€

=> μ‚¬μš©μžκ°€ λˆ„κ΅¬λ“  포털 μ‚¬μ΄νŠΈμ˜ API μ„œλ²„μ— 데이터λ₯Ό μš”μ²­ν•˜λ©΄ 정보λ₯Ό 얻을 수 μžˆλ‹€

 

μ‚¬μš©μžκ°€ νŠΉμ • 데이터λ₯Ό μ‘°νšŒν•˜λ©΄ 곡곡 데이터 포털 API μ„œλ²„μ— API μš”μ²­μ΄ μ „λ‹¬λ˜κ³  API μ„œλ²„λŠ” μ‚¬μš©μžμ— λŒ€ν•œ 인증과 인가λ₯Ό ν™•μΈν•œ ν›„ 인증된 μ‚¬μš©μžλΌκ³  νŒλ‹¨ν•˜λ©΄ λͺ…μ„Έμ„œ κ·œμΉ™μ„ ν™•μΈν•˜μ—¬ μš”μ²­ν•œ λ°μ΄ν„°μ˜ κ²°κ³Ό 값을 μ‚¬μš©μžμ—κ²Œ 보여 μ€€λ‹€!

 

인증(authentication) : μ‚¬μš©μžκ°€ μ λ²•ν•œ μ„œλͺ… 값을 κ°€μ‘ŒλŠ”μ§€ ν™•μΈν•œλ‹€
인가 (authorization) : 인증이 ν™•μΈλœ μ‚¬μš©μžκ°€ API κΆŒν•œμ„ μˆ˜ν–‰ν•  수 μžˆλŠ”μ§€ ν™•μΈν•œλ‹€

 

AWS ν΄λΌμš°λ“œμ—μ„œ 인프라, λ³΄μ•ˆ, λ°μ΄ν„°λ² μ΄μŠ€, 뢄석, 배포 및 λͺ¨λ‹ˆν„°λ§ λ“± λͺ¨λ“  IT λ¦¬μ†ŒμŠ€λŠ” AWS API 호좜둜 μ œμ–΄ν•  수 μžˆλ‹€

 

AWS APIλž€

 

AWS APIλŠ” μ‚¬μš©μžλ‚˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ AWS μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ λ„μ™€μ£ΌλŠ” λ§€κ°œμ²΄μ΄λ‹€

 

예λ₯Ό λ“€μ–΄ μ‚¬μš©μžκ°€ Amazon S3 μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν•œλ‹€λ©΄ μ‚¬μš©μžλŠ” μš”μ²­ 정보λ₯Ό AWS API에 보낸닀

μ΄λ•Œ AWS APIλŠ” μ‚¬μš©μž 인증을 ν™•μΈν•œ ν›„ μš”μ²­μ΄ μ ν•©ν•˜λ‹€κ³  νŒλ‹¨λ˜λ©΄ Amazon S3 μ„œλΉ„μŠ€μ— μ „λ‹¬ν•˜μ—¬ μ„œλΉ„μŠ€λ₯Ό μ²˜λ¦¬ν•˜κ²Œ ν•œλ‹€

 

예λ₯Ό λ“€μ–΄ AWS λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ΄μš©ν•˜μ—¬ Amazon S3 버킷을 μƒμ„±ν•œλ‹€κ³  가정해보면

AWS λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€μ—μ„œ 버킷을 μƒμ„±ν•˜λŠ” λͺ…λ Ήμ–΄λ₯Ό μž‘μ„±ν•˜λ©΄ AWS λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•  수 있게 AWS APIλ₯Ό ν˜ΈμΆœν•œλ‹€

 

=> AWS APIλ₯Ό μ‚¬μš©ν•  수 μžˆλ„λ‘ '인증, 인가'λ₯Ό ν™•μΈν•œ ν›„ μš”μ²­ν–ˆλ˜ λŒ€λ‘œ S3 버킷을 μƒμ„±ν•œλ‹€

 

인증과 인가λ₯Ό ν™•μΈν•œ ν›„μ—λŠ” AWS CloudTrail μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•˜μ—¬ 'API λ‘œκΉ…"을 남긴닀

 

μ—¬κΈ°μ—μ„œ API λ‘œκΉ…μ΄λž€ AWS API의 ν™œλ™ 기둝을 μ €μž₯ν•˜λŠ” κ²ƒμœΌλ‘œ, λ³΄μ•ˆ μ‚¬κ³ λ‚˜ μž₯μ• κ°€ λ°œμƒν•˜λ©΄ λ”μš± λΉ λ₯΄κ²Œ λŒ€μ‘ν•  수 μžˆλ‹€

 

=> AWS λͺ¨λ“  μ„œλΉ„μŠ€λŠ” AWS API둜 μƒν˜Έ μž‘μš©ν•˜κΈ° λ•Œλ¬Έμ— API λ‘œκΉ…μ„ κΈ°λ‘ν•˜λŠ” 것은 맀우 μ€‘μš”ν•˜λ‹€

 

AWS CloudTrail은 AWS κ³„μ •μ˜ κ±°λ²„λ„ŒμŠ€, κ·œμ • μ€€μˆ˜, 운영 감사, μœ„ν—˜ 감사λ₯Ό μ§€μ›ν•˜λŠ” μ„œλΉ„μŠ€μ΄λ‹€

CloudTrail을 μ‚¬μš©ν•˜λ©΄ AWS μΈν”„λΌμ—μ„œ 계정 ν™œλ™κ³Ό κ΄€λ ¨λœ μž‘μ—…μ„ κΈ°λ‘ν•˜κ³  μ§€μ†μ μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•˜μ—¬ 보관 ν•  수 μžˆλ‹€

 

AWS IAM

 

μ•žμ„œ μ•Œμ•„λ³Έ 인증과 μΈκ°€λŠ” AWS IAM으둜 λ™μž‘ν•œλ‹€

 

μ΄λ²ˆμ—λŠ” AWS IAM λ™μž‘μ„ μ•Œμ•„λ³΄κ³  AWS IAM ꡬ성 μš”μ†Œμ™€ κ΄€λ ¨ μš©μ–΄λ₯Ό μ‚΄νŽ΄λ³΄κ³ , IAM μ •μ±…κ³Ό 역할을 κ³΅λΆ€ν•΄λ³΄μž!

 

AWS IAMμ΄λž€

 

AWS IAM(Identitiy & Access Management)은 AWS μ„œλΉ„μŠ€μ™€ λ¦¬μ†ŒμŠ€μ— μ•ˆμ „ν•˜κ²Œ μ ‘κ·Όν•  수 μžˆλ„λ‘ κ΄€λ¦¬ν•˜λŠ” κΈ°λŠ₯이닀

 

=> IAM을 μ΄μš©ν•˜μ—¬ λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜λ„λ‘ '인증'κ³Ό 'κΆŒν•œ'을 ν†΅μ œν•œλ‹€

 

AWS μ‚¬μš©μž 및 그룹을 λ§Œλ“€κ³  κ΄€λ¦¬ν•˜κ±°λ‚˜ κΆŒν•œμ„ μ΄μš©ν•˜μ—¬ AWS λ¦¬μ†ŒμŠ€ 접근을 ν—ˆμš©, κ±°λΆ€ν•  수 μžˆλ‹€

 

AWS IAM은 λŒ€λΆ€λΆ„μ˜ AWS μ„œλΉ„μŠ€μ™€ μ—°κ²°λ˜μ–΄ ν™œμš©ν•  수 있으며, μΆ”κ°€ λΉ„μš© 없이 μ‚¬μš©ν•  수 μžˆλ‹€

 

 

AWS IAM ꡬ성 μš”μ†Œμ™€ λ™μž‘ 방식

 

 

ꡬ성 μš”μ†Œ

 

AWS IAM은 μ‚¬μš©μž, κ·Έλ£Ή, μ—­ν• , μ •μ±…μœΌλ‘œ κ΅¬μ„±λœλ‹€

 

μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ©΄

 

AWS 계정 루트 μ‚¬μš©μž : 맨 처음 μƒμ„±λœ AWS 계정이며, ν•΄λ‹Ή κ³„μ •μ˜ λͺ¨λ“  κΆŒν•œμ„ κ°€μ§€κ³  μžˆλ‹€

 

IAM μ‚¬μš©μž : λ³„λ„μ˜ AWS 계정이 μ•„λ‹Œ 계정 λ‚΄ μ‚¬μš©μžμ΄λ©°, 각 IAM μ‚¬μš©μžλŠ” 자체 자격 증λͺ…을 λ³΄μœ ν•œλ‹€

 

=> 즉, IAM μ‚¬μš©μžλ§ˆλ‹€ νŠΉμ • AWS μž‘μ—…μ„ μˆ˜ν–‰ν•  수 있게 κΆŒν•œμ„ ν†΅μ œν•  수 μžˆλ‹€

 

IAM κ·Έλ£Ή : IAM μ‚¬μš©μž 집합을 μ˜λ―Έν•œλ‹€

 

=> IAM 그룹에 κΆŒν•œμ„ μ§€μ •ν•΄μ„œ λ‹€μˆ˜μ˜ IAM μ‚¬μš©μžμ˜ κΆŒν•œμ„ μ‰½κ²Œ 관리할 수 있음

 

IAM μ •μ±… : 자격 증λͺ…μ΄λ‚˜ λ¦¬μ†ŒμŠ€μ™€ 연결될 λ•Œ μš”μ²­μ„ ν—ˆμš©, κ±°λΆ€ ν•  수 μžˆλŠ” κΆŒν•œμ„ μ •μ˜ν•˜λŠ” AWS 객체이닀

 

IAM μ—­ν•  : νŠΉμ • κΆŒν•œμ„ κ°€μ§„ 계정에 생성할 수 μžˆλŠ” IAM 자격 증λͺ…이닀

 

=> μ—­ν• μ—λŠ” 그와 μ—°κ΄€λœ μ•”ν˜Έ λ˜λŠ” μ ‘κ·Ό ν‚€ 같은 μž₯κΈ° 자격 증λͺ…이 μ—†κ³  역할을 μ£Όλ©΄ μ—­ν•  μ„Έμ…˜μ„ μœ„ν•œ μž„μ‹œ λ³΄μ•ˆ 자격 증λͺ…을 μ œκ³΅ν•œλ‹€ 

 

(역할을 μ΄μš©ν•˜μ—¬ 일반적으둜 AWS λ¦¬μ†ŒμŠ€μ— μ ‘κ·Όν•  수 μ—†λŠ” μ‚¬μš©μž, μ• ν”Œλ¦¬μΌ€μ΄μ…˜, μ„œλΉ„μŠ€μ— μ ‘κ·Ό κΆŒν•œμ„ μœ„μž„ν•  수 있음)

 

λ³΄μ•ˆ 주체 : AWS 계정 루트 μ‚¬μš©μž, IAM μ‚¬μš©μž, IAM 역할을 μ΄μš©ν•˜μ—¬ λ‘œκ·ΈμΈν•˜κ³  AWS에 μš”μ²­ν•˜λŠ” μ‚¬λžŒ λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 이닀

 

인증, 인가 λ™μž‘ 방식

 

IAM μ‚¬μš©μžκ°€ AWS λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” μ•”ν˜Έλ‚˜ μ ‘κ·Ό ν‚€ 같은 자격 증λͺ…을 μ‚¬μš©ν•˜μ—¬ 인증받아야 ν•œλ‹€!

 

=> IAM μ‚¬μš©μž 계정에 λ”°λ₯Έ μ•”ν˜Έλ‚˜ μ ‘κ·Ό ν‚€κ°€ μ˜¬λ°”λ₯΄λ‹€λ©΄ μ ν•©ν•œ μ‚¬μš©μžλ‘œ κ°„μ£Όλ˜μ–΄ 인증 λ™μž‘μ΄ 마무리 됨

 

κ·Έλ‹€μŒ 인증이 처리되면 IAM μ‚¬μš©μžλŠ” μ ν•©ν•œ κΆŒν•œμ΄ μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” 인가 λ™μž‘μ„ μ§„ν–‰ν•œλ‹€

(ex. EC2 FullAccess κΆŒν•œμ„ κ°€μ§„ μ‚¬μš©μžκ°€ μžˆλ‹€λ©΄ EC2λŠ” μ‚¬μš©μ΄ κ°€λŠ₯ν•˜μ§€λ§Œ S3λŠ” μ‚¬μš©ν•  수 μ—†μŒ)

 

πŸ“Œ IAM μ‚¬μš©μž 이외에 IAM 그룹에 정책을 λΆ€μ—¬ν•΄μ„œ κ·Έλ£Ήλ³„λ‘œ μ’€ 더 νŽΈλ¦¬ν•˜κ²Œ 관리할 수 μžˆλ‹€

 

AWS IAM μ‚¬μš©μž

 

IAM μ‚¬μš©μžλŠ” 일반적으둜 '루트 μ‚¬μš©μž'와 '일반 IAM μ‚¬μš©μž'둜 λ‚˜λ‰œλ‹€

 

루트 μ‚¬μš©μžλŠ” AWS의 λͺ¨λ“  λ¦¬μ†ŒμŠ€μ— μ ‘κ·Όν•  수 μžˆλŠ” 전체 κΆŒν•œμ΄ μžˆμ–΄ AWS 계정 생성 및 해지와 IAM μ‚¬μš©μž 관리 등에 μ‚¬μš©ν•˜μ§€λ§Œ, 직접 AWS λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜λ„λ‘ ꢌμž₯ν•˜μ§€λŠ” μ•ŠμŒ

 

=> 루트 μ‚¬μš©μž 계정을 λ‹€μˆ˜κ°€ μ‚¬μš©ν•˜λ©΄ μ–΄λ–€ μ‚¬μš©μžκ°€ μ–΄λ–€ ν–‰μœ„λ₯Ό ν–ˆλŠ”μ§€κ΅¬λ³„ν•  수 μ—†κ³ , 루트 μ‚¬μš©μž 계정이 ν•΄ν‚Ήλ˜λ©΄ κ³΅κ²©μžκ°€ AWS 계정에 λŒ€ν•œ λͺ¨λ“  κΆŒν•œμ„ κ°€μ§€κ²Œ λ˜λ―€λ‘œ!

 

AWS IAM μ •μ±…

 

μ‚¬μš©μžλ₯Ό μΈκ°€ν•˜κ³  λ‚˜λ©΄, μ‚¬μš©μžλ³„λ‘œ κΆŒν•œμ— λŒ€ν•œ 확인 절차λ₯Ό μ§„ν–‰ν•œλ‹€

 

μ‚¬μš©μžλ³„ κΆŒν•œ κ²€μ‚¬λŠ” AWS IAM 정책을 μ΄μš©ν•΄μ„œ μ§„ν–‰ν•œλ‹€

 

=> μ‚¬μš©μžμ— μ—°κ²°λœ IAM μ •μ±…μœΌλ‘œ μ‚¬μš©μžλ³„ AWS μ„œλΉ„μŠ€μ™€ λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ 인가(κΆŒν•œ)을 얻을 수 μžˆλ‹€

 

μ‚¬μš©μžκ°€ νŠΉμ • AWS μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•˜λ €κ³  인가λ₯Ό μš”μ²­ν•˜λ©΄, IAM은 IAM 정책을 기반으둜 AWS μš”μ²­μ„ 검사, ν‰κ°€ν•œ ν›„ μ΅œμ’…μ μœΌλ‘œ ν—ˆμš©, 차단을 κ²°μ •

 

{
	"Version" : "2012-10-17"
    "Statement" : [
    {
    	"Effect" : "Allow or Deny",
        "principal" : "principal",
        "Action" : ["action"],
        "Resource" : ["*"],
        "Condition" : {"key":"value"}
        }
 	]
}

 

 

Effect : λͺ…μ‹œμ  정책에 λŒ€ν•œ ν—ˆμš© ν˜Ήμ€ 차단

 

principal : 접근을 ν—ˆμš© ν˜Ήμ€ μ°¨λ‹¨ν•˜κ³ μž ν•˜λŠ” λŒ€μƒ

 

Action: ν—ˆμš© ν˜Ήμ€ μ°¨λ‹¨ν•˜κ³ μž ν•˜λŠ” μ ‘κ·Ό νƒ€μž…

 

Resource : μš”μ²­μ˜ λͺ©μ μ§€κ°€ λ˜λŠ” μ„œλΉ„μŠ€

 

Condition : λͺ…μ‹œμ  쑰건이 μœ νš¨ν•˜λ‹€κ³  νŒλ‹¨λ  수 μžˆλŠ” 쑰건

 

AWS IAM μ—­ν• 

 

IAM μ—­ν• μ΄λž€ μ •μ˜λœ κΆŒν•œ λ²”μœ„ λ‚΄ AWS APIλ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” μž„μ‹œ 자격 증λͺ…을 μ˜λ―Έν•œλ‹€

 

μ½”λ“œμ— ν•˜λ“œ μ½”λ”©ν•˜μ§€ μ•Šκ³  μ‹€ν–‰ν•  λ•Œ μž„μ‹œ(+Token, 일정 μ‹œκ°„ 이후 만료됨) 자격 증λͺ…을 μ‚¬μš©ν•˜λŠ”λ°, 이λ₯Ό 

"Assume"이라고 ν•œλ‹€

 

=> IAM 역할을 μ‚¬μš©ν•˜λ©΄ μ‚¬μš©μž κΆŒν•œμ„ κ³΅μœ ν•˜κ±°λ‚˜ 맀번 κΆŒν•œμ„ λΆ€μ—¬ν•  ν•„μš” X

 

EC2 Instance Profile, Federations(Cross-Account, SAML2.0, Web Identify Provider)듀은 IAM 역할을 ν™œμš©ν•œ 예

 

 

κ°œλ°œμžκ°€ S3 버킷에 λŒ€ν•œ μ ‘κ·Ό κΆŒν•œμ΄ ν•„μš”ν•œ EC2 μΈμŠ€ν„΄μŠ€μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•œλ‹€κ³  μƒκ°ν•΄λ³΄μž!

 

κ΄€λ¦¬μžλŠ” S3 Full κΆŒν•œμ΄ μ—°κ²°λœ 'IAM μ—­ν• '을 μƒμ„±ν•΄μ„œ EC2 μΈμŠ€ν„΄μŠ€μ— μ—°κ²°ν•œλ‹€(EC2 Instance Profile)

 

EC2μƒμ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ IAM μ—­ν• μ˜ μž„μ‹œ 자격 증λͺ…을 μ‚¬μš©ν•˜μ—¬ S3 버킷에 μ ‘κ·Όν•  수 μžˆλ‹€

 

=> κ΄€λ¦¬μžκ°€ κ°œλ°œμžμ—κ²Œ λ³„λ„μ˜ κΆŒν•œμ„ λΆ€μ—¬ν•˜μ§€ μ•Šμ•„λ„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ S3 버킷에 μ ‘κ·Όν•  수 있고, κ°œλ°œμžλŠ” 이λ₯Ό μœ„ν•΄ 좔가적인 자격 증λͺ…을 κ³΅μœ ν•˜κ±°λ‚˜ 관리할 ν•„μš”κ°€ μ „ν˜€ μ—†μŒ

λ°˜μ‘ν˜•