본문 바로가기
AWS/IAM

AWS -I AM 가입 및 설정

by 임혁진 2024. 3. 26.

I AM 서비스

identity and access management

데이터베이스도 root사용자와 하위 사용자가 있듯이 AWS도 마찬가지입니다.

 

-규칙

  1. 하나의 user사용자는 하나의 IAM이 됩니다.
  2. 그룹은 사용자만 포함 할 수 있습니다. 다른 그룹을 포함할 수는 없습니다
  3. 그룹에 포함될 수도 있고, 포함되지 않을 수도 있습니다(권장 되지 않음)
  4. 사용자나 그룹에는 권한이 부여됩니다.
  5. 그룹에 부여된 권한은 사용자에게 상속 됩니다.
  6. 그룹에 권한만 사용자가 가지는 것은 아닙니다. 사용자는 개별적으로 추가 권한을 가질 수도 있습니다.
  7. 권한은 각각의 JSON문서로 만들어집니다.

 

I AM 계정 생성하기

1. 사용자 추가(사용자 생성)

 

-검색에서 I AM 검색

좌측 카테고리에서 액세스 관리 -사용자 클릭

 

사용자 생성 클릭

 

이름을 적고 -> 다음 클릭

 

 

그룹이 있다면 그룹에 추가 OR 그룹 생성 -> 다음

 

 

이후 사용자생성

 

 

-처음 계정을 생성하면 암호가 비활성화 됩니다

  • 해당 사용자탭 → 보안 자격 증명 → 콘솔 엑세스 관리에서 활성화
  •  



  1. csv파일은, 아이디, 비밀번호, 접속url정보 등이 있습니다. (다운은 선택사항)
  2. 사용자 그룹확인 (사용자가 추가가 안된경우 직접 추가)
  3. 대시보드에서 계정별칭 생성 후 접속하기

I AM 정책

AWS의 특정 서비스를 사용할 수 있는 권한JSON파일 형태로 표기된 것을 정책이라고 합니다.

사용자는 여러 권한(정책)을 상속받을 수 있습니다.

보통 기존의 만들어진 정책을 사용하며, 사용자만의 권한(정책)을 생성 할 수도 있습니다.

  • 미리 aws에서 만들어놓은 정책 vs 우리가 필요한정책을 추가로 생성

 

정책

제목 의미 정책문장여부
version 정책언어 버전 N
id 정책식별 아이디(선택) N
sid 문장식별아이디(선택) Y
effect 정책결정여부 Y
principal 특정정책의 역할 Y
action 정책 허용 API목록 Y
resource action의 리소스목록들 Y

 

 

정책 만들기

  1. IAM 정책탭에 들어가서 정책을 생성합니다.
  2. 비주얼에디터vs JSON을 사용해서 나만의 정책을 만들 수 있습니다.
  3. IAM관련 정책을선택하고 , 액세스 레벨을 지정합니다. (각 정책별 선택적으로 사용가능)
  4. 모든 리소스를 추가합니다.(policy확인)   

5.정책 탭에서 사용자or 그룹에 정책(권한)을 추가

 

I AM 계정 설정 - 비밀번호 인증(MFA)

MFA - multi factor authetication

비밀번호 + 인증방식으로 root계정이나 IAM사용자를 보호하는 인증방식입니다.

AWS에서는 MFA를 사용하여 사용자를 보호하도록 권고됩니다.

비밀번호가 해킹을 당하더라도 사용자의 휴대폰이 필요하기 때문에 보다 안전해집니다

MFA방식

  1. 가상장치 - google Authotication앱
  2. security key
  3. 다양한 MFA 하드웨어 키팝 디바이스

MFA 시나리오

  1. 일반 비밀번호 강화는 계정설정 탭 에 들어가서 하면 됩니다.
  2. MFA 디바이스 추가는 우 상단 계정탭 에 보안자격증명 탭 에서 추가하면 됩니다.

 

I AM 액세스 키 발급

AWS CLI를 사용하거나, 프로그램에서 AWS의 API를 호출해서 사용할 때

자격증명 방법으로 엑세스 키를 발급할 수 있습니다.

엑세스 키는 IAM사용자의 고유한 비밀번호가 될 수 있으며 누구에게도 노출해서는 안됩니다. (특히 git public)

엑세스 키는 장기자격증명이며, 액세스 키와 같은 장기 자격 증명을 사용하지 않는 것이 모범 사례입니다.

추후 프로그램에서 엑세스키 대신 사용할 대안 책을 제공해 줍니다.

엑세스 키 발급 시나리오

  1. 반드시 IAM사용자로**(root가 아님)** 접속합니다.
  2. IAM사용자를 클릭합니다.

보안자격증명(security credential)을 선택합니다.

  1. .csv파일로 다운받기(최초의 한번만 가능)
  2. 확인후에는 삭제

 

I AM 의 역할

IAM 역할은 단기간 동안 유효한 자격 증명을 가진 특정 권한이 있는 자격 증명입니다.

단, 정책이 영구적 권한이라면, 역할은 일시적 자격증명 입니다.

 

정책이 IAM사용자에게 부여되는 영구적 권한(자격증명) 이라면

역할은 특성 AWS서비스(개체)에게 부여된 일시적 권한(자격증명) 이라고 생각하면 됩니다.

 

 

예를 들어 AWS특정 개체가(EC2 - AWS의 서비스)가 IAM사용자 목록을 확인하고 싶습니다.

아무런 권한이 없는 EC2가 IAM사용자 목록에 접근하기 위해 IAM Read 권한이 연결된 역할을 맡겠다는 요청을 보내면, 그 권한이 부여된 자격 증명을 얻게 되는 방식입니다.

물론 아무나 얻을 수 있는 건 아닙니다.

IAM역할을 만들 때 누가 이 역할을 사용할 수 있는지 미리 생성이 되어있어야 합니다.

 

역할 만들기

  1. 역할 탭에 들어갑니다. 역할 만들기 클릭
  2. EC2를 선택합니다.
  3. 권한은 IAMReadOnlyAccrss를 선택해서 연결합니다.
    1. 이는 EC2가 IAM의 사용자를 접근할 수 있는 역할을 만드는 것과 같습니다.
  4. 만들어진 역할만 확인합니다. 

액세스 관리자

IAM엑세스 관리자를 통해 해당 IAM사용자가 어떤 기능을 사용하는지 확인할 수 있습니다.

일종의 보고서라고 생각하면 됩니다.

사용자에 들어가면 확인할 수 있습니다.