IAM 역할은?
- AWS 리소스에서 사용하는 자격증명으로 특정 AWS 서비스가 다른 AWS 서비스에 엑세스 하여 작업을 수행할 때 필요한 권한
- 정책을 연결하여 IAM 역할에 작업 수행에 필요한 권한을 부여
- EC2에서 실행되는 애플리케이션이 AWS S3와 AWS RDS 액세스 권한이 필요할 때 역할 사용
- 직접 엑세스는 불가능하다. 하지만 IAM Roll(IAM 정책)을 연결하여 작업 수행에 필요한 권한을 부여할 수 있다.
- 위 그림처럼 EC2에서 실행되는 어플이 S3나 RDS에 직접 접근하는 엑세스 권한이 필요할 때 IAM 역할을 사용한다!!
IAM - 역할 (신뢰정책)
- IAM 역할을 이용하여 AWS 계정간 액세스 권한 위임을 하는 기능
- 신뢰 정책 (Trust Policy)을 사용하여 다른 AWS 계정에 역할을 위임할 수 있음
Q. 예시 문제
Apple, Banana라는 두개의 AWS 계정이 존재한다. Banana 계정의 코드 변경 사항을 Apple 계정으로 Push해야 한다.
알파 단계에서는 Banana 팀 두 명의 사람만 Apple 계정에 액세스 할 수 있다.
베타 단계에서는 더 많은 Banana 팀이 접근하기 위한 액세스 권한이 필요하다. 어떤 솔루션이 필요한가?
A. 솔루션
Apple 계정에서 IAM 역할을 생성한다. 그 후 Banana 계정을 지정하는 신뢰 정책을 정의(위임)한다.
그러면 Banana 팀 사람들이 역할을 맡도록 허용한다.
이렇게 위임을 하게되면 Banana 팀의 사람들이 Apple 계정에 있는 IAM 역할을 가질 수 있다.
즉, 계정을 위임할때 신뢰 정책을 사용할 수 있다.
신뢰 정책 실습
IAM 서비스에서 왼쪽 액세스 관리 중 역할을 클릭한다.
그 후 오른쪽 상단에 역할 만들기를 클릭한다.
EC2 계정에서 작업을 수행하도록 위임할 것 이므로 [AWS 서비스]를 클릭하고
일반적으로 서버가 구성되어 있는 EC2를 사용사례에서 클릭하고 만들어준다.
검색창에 S3를 입력후 [AmazonS3FullAccess]를 클릭해서 추가하고
RDS를 검색후에 [AmazonRDSFullAccess]도 추가해주자
역할 이름에 원하는 역할 이름을 입력한다.
아래에 보면 JSON 형태로 역할이 만들어 진 것을 확인할 수 있다.
다 확인한 후 역할 생성 버튼을 눌러 만들어준다.
만들어 진 것을 확인할 수 있다.
EC2에 들어가서 인스턴스 시작을 눌러 만들어주고
아래 고급 세부 정보를 보면 IAM 인스턴스 프로파일 부분이 있다. 여기서 우리가 만든 정책을 확인할 수 있다.
이것을 선택하고 EC2를 생성하면 이는 S3와 RDS부분의 모든 권한을 가지고 있는 EC2가 만들어진다.
'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글
IAM Policy Simulator란? (0) | 2022.12.27 |
---|---|
IAM 보안 도구 (IAM Security Tools) (0) | 2022.12.27 |
IAM - Policy(정책)이란? (이론 및 실습) (0) | 2022.12.27 |
AWS IAM (Identity and Access Management)란? (이론 및 실습) (0) | 2022.12.27 |
AWS 결제 및 비용 (0) | 2022.12.23 |