AWS 개요 - 1. IAM

코지클래식·2022년 2월 21일
0

UDEMY 강의
를 듣고 남기는 AWS에 대한 짤막한 개요.

1. AWS는 클라우드 서버를 제공하는 서비스이다.

클라우드의 강점

  1. 물리적인 서버와의 차이 : 구매/매몰비용 적음, 빠름, 운영비용 (쿨러/전기/공간등 비용) 적음
  2. 물리서버 구매보다 압도적으로 빠르게 원하는 서비스/서버를 구매/사용할 수 있음.
  3. 각종 세팅 필요 없음.

서비스의 의미

  1. 필요한 항목별로 서비스가 나누어져 있음 -> 인프라, 플랫폼, 소프트웨어

  2. 서비스 세부적으로 들어가면, 옵션들이 나누어져 있음 -> CPU, RAM, 하드웨어, 사용기간, 선불/후불,... 등등

  3. 물리적인 거리 때문에 불편함이 발생하지 않도록 지역 (아시아, 미국, 유럽,아프리카, ..) 별로 서버가 분리되어 있음. 지역마다 또 Availablility Zone 이라는 이름으로 분리된 데이터 센터에 데이터를 안전하게 보관함.

2. IAM

의미

Identity + Access + Manager

Identity

  1. 사용자, 그룹을 구분한다.

루트계정

  1. 루트 계정은 모든곳에 접근 가능한 최상위 계정
  2. 루트 계정에서 User 계정을 생성하거나, 설정을 setup하는 데에만 쓰여야 하는(권장) 계정

일반 계정

  1. user는 여러 그룹에 중복으로 소속될 수 있음.
  2. 각 user와 그룹은 정책(Policy)가 할당될 수 있다.
    (*policy는 권한(Permission)에 대해 설정하는 문서라고 볼 수 있다.)
    (권한: 어느 서비스의 어떤 객체에 대해 접근 가능한지)

Access

  1. 정책은 하나하나 규칙을 새로 만들 수도 있고, "정책 객체"를 만들어서 다른 권한에 포함시키거나 user에게 해당 권한을 제공할 수 있음.
  2. 정책은 JSON 형태로 만들어짐.

이 이미지를 보면 아래와 같이 코드가 되어 잇는 것을 볼 수 있는데, 정책 세부내역은 객체로 만들지 않고, "ARN 연산자"를 사용함.

Principal : 
  ( "AWS" : 
      ["arn:partition:service:region:account:resource"] )

사용자 : user, 그룹 : group, 권한 : policy

IAM 정책 상속

  • A 그룹에 있는 3명은 A 그룹의 정책을 따른다.
  • B 그룹에 속해있는 2명은 B 그룹의 정책을 따른다. (A그룹의 정책과 별도)
  • 아무 그룹에 속해있지 않은 사용자는, 모든 사용자가 따르는 "inline 정책" 만을 따른다.
  • 여러 그룹에 속해있는 경우, 여러 그룹의 정책을 모두 상속한다. 이 그룹들에 대한 정책은 "AND"가 된다.

정책(Policy)의 구조

  • 포함내용 : 버전, ID(정책 구분용 id, 선택사항), 선언(구체적인 내용, 필수)

선언의 내용

  • Sid: Statement ID -> 선언의 ID (선택사항)
  • Effect : 이 선언이 허용(Allow) 하는지 차단(Deny)하는지 여부
  • Principal: 계정/사용자/역할(account/user/role) 중 어떤 것에 적용될지 여부
  • Action : 정책에 허용/차단 당했을 때, 어떤 행동을 취할지에 대한 목록
  • Resource : Action이 적용될 자원(EC2인스턴스, S3 버킷/객체 등)의 목록
  • Condition : 정책이 허용되거나 되지 않는 경우, 혹은 조건부의 경우

잠깐! 여기에서 나오는 텍스트의 내용중 많이 보이는, "arn:aws:.."란?

ARN = Amazron Resource Name을 뜻한다.
컴퓨터에서 파일의 위치를 표현하기 위해
"경로,디렉토리,파일명/파일이름.확장자" 를 사용하는 것처럼, AWS에서는 특정 경로를 자신들만의 방식으포 표현하는 것.

arn:partition:service:region:account:resource
  • arn : 기본 형식
  • partition : 리소스가 위치하는 파티션. 표준 AWS 지역에서 파티션은 AWS임
  • service : IAM 리소스는 항상 iam 이 된다.
  • region : IAM 리소스는 항상 공백이 된다.
  • account : 하이픈이 없는 AWS 계정 ID
  • resource : 특정 리소스 이름
profile
코지베어

0개의 댓글