AWS 시작하기, IAM

yoon·2024년 10월 13일
post-thumbnail

섹션 3 : AWS 시작하기

AWS Regions

region은 전 세계에 걸쳐있고 이름이 있다.
region은 데이터 센터의 집합이다.

대부분의 서비스들은 특정 region에 연결되어 국한된다.

region 선택에 영향을 미칠 수 있는 요인

  1. 법률 준수
    ex) 한국 정보는 한국에만

  2. 지연 시간
    ex) 한국에서 출시해야하는데 오하이오에서 출시한다면?

  3. 가능한 서비스
    모든 리전이 같은 서비스를 갖고 있지 않으므로 출시하려는 리전에 해당 서비스가 있는지 확인해야 한다.
    regional-product-services에서 그 리전에서 이용 가능한 서비스를 확인할 수 있다.

  4. 가격

AWS Availabity Zones (AZ, 가용 영역)

각각의 region은 2 ~ 6개의 가용 영역을 가지고 있다.
각각의 가용 역영은 여분의 전원 네트워킹, 통신 기능을 갖춘 1~2개의 개별적인 데이터 센터로 이루어져 있다.
재난 발생에 대비해 서로 분리되어 있다.
높은 대역폭의 초저지연 네트워킹으로 형성되어 서로 연결되어 리전을 형성한다.

AWS Points of Presence (Edge Locations, 전송 지점)

아마존은 200개가 넘는 전송 지점이 있어 최종 사용자에게 컨텐츠를 최소 지연 시간으로 전달할 수 있다.

섹션 4 : IAM 및 AWS CLI

IAM (Identity and Access Management)

  • 사용자를 생성하고 그룹에 배치하기 때문에 글로벌 서비스 => IAM에서 사용자를 생성하면 어디에서나 사용 가능
  • 루트 계정이 기본으로 생성
  • 사용자들은 그룹화될 수 있고 여러 그룹에도 속할 수 있음
  • 그룹을 사용하는 이유 => aws 계정을 사용하기 위해서
  • JSON 문서로 특정 사용자/그룹이 어떤 작업에 권한을 갖고 있는지 설명(정의)를 바탕으로 aws 서비스를 이용할 수 있도록 허용해줌(IAM 정책)
  • aws에서는 최소 권한의 원칙을 적용

사용자, 그룹 생성

사용자 생성할 때 본인이 사용할 것이 아니고 다른 사람의 계정을 생성하여 권한을 부여하는 것이라면 자동 생성된 암호, 사용자는 다음 로그인 시 새 암호를 생성해야 합니다 체크를 하여 생성하면 된다.

사용자 생성을 하면 그룹 생성 버튼이 있고, 그걸 눌러 생성하면 된다. 정책에는 다양하게 있고 실습에서는 전체 허용을 했다.

생성하고 IAM 대시보드로 돌아오면 오른쪽에 생성된 계정 ID, 로그인 URL이 있다.
로그인 URL이 너무 번잡하다면 계정 별칭 설정을 해주면 계정 별칭으로 지정된 로그인 URL이 완성된다.

로그인 URL을 타고 오면 이제 IAM 사용자 로그인 창이 뜬다.
계정 별칭은 미리 입력되어 있을 것이고, 사용자 이름과 비밀번호는 사용자 생성할 때 쓴 이름과 비밀번호를 입력하면 로그인할 수 있다.

IAM 사용자로 로그인한 것과 루트 계정이다.

IAM 정책 구조

  • Version : 정책 언어 버전
  • Id : 정책 식별하는 아이디(선택)
  • Statement
    • Sid : 문장 식별자(선택)
    • Effect : 특정 api에 접근할걸 허용할지 말지
    • Principal : 특정 정책이 적용될 사용자, 계정, 역할로 구성
    • Action : effect에 기반한 거부/허용
    • Resource : action에 기반한 적용할 리소스 목록
    • Condition : Statement가 언제 적용될지 결정(선택)

사용자는 그룹에 속하면, 그 그룹에 부여된 정책(권한)을 부여받는다.
예시처럼 여러 그룹에 속하면 여러 정책을 받는다.

정책에서 검색하여 세부 정보를 보면 JSON으로도 볼 수 있다.
또한 정책도 본인이 커스텀하여 만들 수 있다.

IAM MFA(Multi Factor Authentication)

  • 루트 계정과 IAM 사용자들을 보호하기 위함
  • 비밀번호 + 사용자가 가진 보안 장치의 조합

옵션

  • 가상 MFA 장치

    • 어플(Google Authenticator & Authy) 설치하여 개별 지원 가능
  • Universial 2nd Factor (U2F) Security Key (물리적 장치)

    • 단일 보안키로 여러 루트, IAM 사용자를 지원
  • Hardware Key Fob MFA Device

    • Gemalto, AWS GovCloud(US)

MFA 설정은 루트 사용자에서 보안 자격 증명을 들어가 MFA 할당을 클릭하면 된다.

MFA 옵션을 선택할 수 있다.

할당 후에 재로그인하면 이 창이 뜬다. 보안이 강화되었다!

AWS에 엑세스 하는 법

  1. aws 콘솔(비밀번호 + MFA)
  2. aws CLI
    • 엑세스 키에 의해 보호됨
    • 명령어로 aws와 상호작용
    • 스크립트를 통해 일부 작업 자동화 가능
    • aws CloudShell로도 사용 가능 (특정 region에서만 가능)
  3. aws SDK
    • 어플리케이션 코드 내에서 api를 호출할 때 사용되고 엑세스 키에 의해 보호됨
    • 특정 언어로 된 라이브러리, 언어에 따라 존제
    • 프로그래밍을 위한 접근 허용, 어플리케이션 내에 적용

IAM Role(역할)

  • 우리 계정을 이용해 aws 서비스가 작업을 수행할 수 있도록 IAM 역할을 생성하여 권한 부여
  • 사용자 역할과 유사하지만, 실제 사용자가 사용하는 것이 아니라 aws 서비스가 사용하는 것

aws 서비스가 이 계정에서 수행할 작업 선택, 권한까지 추가 후 생성하면 역할 생성이 완료 된다.

IAM 보안 도구

  1. IAM 자격 증명 보고서(account-level)
    • 계정에 있는 사용자와 다양한 자격 증명의 상태

  1. IAM 엑세스 관리자(user-level)
    • 사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막으로 엑세스한 시간이 보임
    • 최소권한의 원칙 지킬 수 있음
profile
얼레벌레 개발자

0개의 댓글