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는 시작 시 역할 정보를 받아오고 해당 역할로 필요한 권한을 얻음
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 접근 가능 확인 됨
'개발 > AWS' 카테고리의 다른 글
AWS Lambda - Hello World (0) | 2022.02.19 |
---|---|
AWS Lightsail 이해 및 테스트 (0) | 2022.02.09 |
AWS CloudFront(CDN) 이해 및 테스트 (0) | 2022.02.05 |
AWS EC2 AutoScaling 구성 테스트 (0) | 2022.02.04 |
AWS 네트워크 기본 구성 3 - ELB구성, EC2 서비스 접속 (1) | 2022.02.03 |
댓글