본문 바로가기
개발/AWS

AWS IAM 개념 및 테스트

by 궁즉변 변즉통 통즉구 2022. 2. 6.
반응형

IAM(Identity and Access Management)

  • AWS 리소스에 대한 접근을 안전하게 관리할 수 있게 해주는 서비스
  • 사용자, 그룹, 권한 등을 이용하여 AWS 리소스에 대한 접근을 허용,거부
  • 멀티팩터인증(MFA) 등 추가적인 인증 제공
  • 기업 네트워크, 인터넷 자격증명 공급자와의 연계를 통해 다른 곳에 암호가 있는 사용자에게 AWS 계정에 대한 임시 접근 권한 부여 가능

IAM 구성

  • 권한(Permission): AWS 리소스에 어떤 작업을 할 수 있는지 명시해두는 규칙(ex. 서울리전의 EC2를 조회할 수 있다)
  • 정책(Policy): 사용자/역할/그룹이 어떤 서비스에 접속해서 어떤 조작(쓰기,시작,정지,삭제 등)을 할 수 있는지 정책(권한들의 모음)
            기본적으로 AWS에서 미리 설정해둔 "AWS관리정책" 사용을 추천(설정 항목이 많고 실수 가능성 있음)
  • 사용자(User): AWS 서비스 및 리소스와 상호 작용하기 위해 그 개체를 사용하는 사람 or 서비스
  • 그룹(Group): 같은 권한을 부여하고 싶은 사용자들의 집합
  • 역할(Role): 권한 및 정책을 부여하고 필요한 사용자 및 그룹 or AWS 서비스나 프로그램 등에 부여. 보통은 사용자가 특정 서비스에서 생성한 객체에 권한을 부여하는데 사용
  • 인스턴스 프로파일: EC2인스턴스를 구분하고 그 인스턴스에 권한을 주기 위한 개념. 인스턴스 프로파일이 지정된 EC2는 시작 시 역할 정보를 받아오고 해당 역할로 필요한 권한을 얻음

출처: 서비스 운영이 쉬워지는 AWS 인프라 구축 가이드

 

IAM 사용자 및 그룹 생성 테스트

- AWS 콘솔 IAM > 사용자 그룹 메뉴에서 그룹 생성

 

- 그룹 이름은 "mytest-EC2ReadOnly" 으로 하고,

  권한정책 연결에는 "AmazonEC2ReadOnlyAccess" 선택하고 그룹 생성

 

- 그룹 생성 확인

 

- 사용자 메뉴에서 사용자 추가 클릭

 

- 사용자 이름("mytestUser"), AWS 관리 콘솔 액세스 체크 등 설정하고 사용자 생성

 

- 권한 설정에서 위에서 생성한 "mytest-EC2ReadOnly" 그룹 선택

 

- "mytestUser" 사용자 생성 확인

 

- 다른 브라우저나 크롬 시크릿모드 등을 사용해서 방금 생성한 사용자로 AWS 콘솔에 로그인

 

- EC2 메뉴에 접속해서 인스턴스 생성해보면 아래와 같이 권한 오류 발생

 

- 위에서 생성한 "mytest-EC2ReadOnly" 그룹의 권한 탭에서 정책 연결 클릭

 

- AmazonEC2FullAccess 선택하고 권한 추가

 

- 사용자가 속한 그룹("mytest-EC2ReadOnly")에 AmazonEC2FullAccess 권한을 부여했기 때문에 "mytestUser" 로 인스턴스 다시 생성 및 종료해보면 오류없이 잘 동작함

   

 

IAM 역할(Role) 생성 테스트

- IAM > 역할메뉴에서 역할 만들기 클릭

 

- 신뢰할 수 있는 엔터티 유형에 "AWS 서비스", 이 역할을 사용할 서비스로 사용사례 "EC2" 선택

 

- 권한 추가 화면에서 테스트로 AmazonRDSFullAccess 선택

 

- 역할 이름 설정 및 생성

 

- 역할 생성 확인

 

- EC2 메뉴로 이동해서 테스트를 위한 EC2 인스턴스 하나 생성, 인스턴스 세부정보 구성에서 IAM 역할을 위에서 생성한 "mytestROLE"로 선택

- EC2로 접속해서 S3버킷 접속 테스트하면 Access Denied 발생 확인

 

- 위에 생성한 역할 상세화면으로 와서 권한 탭의 정책연결 클릭

 

- AmazonS3FullAccess 선택 후 정책 연결

 

- AmazonS3FullAccess 권한 추가 확인

 

- EC2에서 다시 실행하면 S3 접근 가능 확인 됨

 

반응형

댓글