클라우드 컴퓨팅

- ‘공유 컴퓨팅’ 클라우드 → 공유 자원처럼 사용
- AWS → 컴퓨터 환경을 제공해주는 사업자
AWS IAM
= Identity and Access
AWS 리소스를 안전하게 제어할 수 있도록 AWS 계정과 리소스 권한을 관리하는 서비스
*리소스: 사용할 수 있는 엔터티
→ 계정 체계와 리소스 권한을 부여하는 서비스

- user = 사람 한 명에게 주는 단위
- group = 여러 명의 user를 포함 (여러 명의 유저에 같은 권한 주고 싶으면 그룹으로 묶어 그룹에 권한을 주면 됨)
- Root user vs IAM user Root user는 AWS에 가입하는 것으로 생성 / IAM user는 업무 시 사용자 1명 당 부여하는 개념 → Root user는 보안 취약 / IAM user 사용을 권장함
- IAM Role = 다양한 엔터티에 부여할 수 있는 / 자원에 어떤 엑세스를 할 수 있는지 정의하는 개념 ex) 컴퓨팅 서비스가 데이터베이스 서비스에 접근하고자 함 -> 데이터베이스 읽기/쓰기 권한 필요함 → 이때 Role을 만들어 부여한다
- IAM Role vs User
- 권한 얻고자 하는 주체가 실제 사람 → 임시 권한이면 Role, 아니면 User / physical person이 아니면 바로 role 부여하게 되어 있음
참고) https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/introduction.html#intro-features
IAM POLICY
- Json 문서로 정의 (*Json: 사람이 읽을 수 있는 텍스트를 사용하여 데이터를 저장하고 전송하는 데이터 공유를 위한 개방형 표준 파일 형식)
- deny가 allow보다 항상 우선함
- 허용 여부 결정 우선순위 → 아무런 정책이 없으면 무조건 deny
- IAM 엔티티에 권한을 부여한다는 것은? policy를 attach, 즉 붙이는 것 -> 유저, 그룹, 롤에 정책을 붙였다 떼었다 할 수 있음
- AWS managed policies(AWS 관리형 정책) -> 많이 쓰이는 권한 AWS가 정의해놓은 것 -> 빠르고 편하게 권한 부여 가능