-
IAM(Identity and Access Management)는
AWS 리소스에 대한 접근 안전하게 제어할 수 있는 웹 서비스이다.IAM을 사용하면 사용자가 접근할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리할 수 있다.
IAM을 사용하여 로그인 및 권한 부여된 대상을 제어 합니다.DB의 루트 유저와 일반 유저와 비슷한 개념이라고 생각하면 될 것 같다.
권한
AWS 서비스나 자원에 어떤 작업을 할 수 있는지 명시해두는 규칙
Policy (정책)
정책: 여러가지 권한의 모음
사용자나 그룹들에 권한을 직접 적용할 수는 없고 권한들로 만든 정책을 적용해야 한다.
정책은 사용자, 그룹 역할에 적용할 수 있다.
다양한 권한의 모음을 하나의 정책이라고 하는 JSON 문서의 형태로 정의해 놓고 관리할 수 있게 한다.
AWS에서는 수많은 권한 정책을 이미 정의해놓고 관리해주고 있기 때문에 사용자들은 필요에 따라 정의되어 있는 정책을 조합해서 편리하게 사용 가능User (사용자)
user는 각 구성원에게 aws console에 로그인 할 수 있는 다른 username과 password를 발급해주는데 사용.
막 생성된 사용자는 어떤 권한도 없다.권한 추가 방법
- user group에 사용자를 일원으로 추가하는 것(그룸에 할당된 정책 적용)
- 사용자에게 직접적으로 정책 연결
User Group (사용자 그룹)
여러 유저의 집단
admin, devops, developer, dba, qa 그룹등을 생성해서 서로 다른 권한을 주기 위함이다.하나의 그룹에는 여러개의 권한 정책을 연결시켜놓을 수 있다.
개별 사용자가 아닌 그룹 단위로 권한 관리를 하면 여러 사용자를 대상으로 일괄적으로 권한을 부여하거나 회수하는 것이 편리해진다.
Role(역할)
user와 비슷하지만 aws에서 인증을 위해 사용할 수 없다.
따라서 역할은 일반 사용자가 아닌 aws 서비스에게 어떤 접근 권한을 주기 위해 사용e.g. ec2 인스턴스나 lambda 함수가 aws s3와 dynamo db에 접근해야 한다면 역할을 통해서 관련 aws의 api를 호출할 수 있도록 허용 가능
보통은 사용자가 아닌 특정 서비스에서 생성한 객체에 권한을 부여하는 데 사용한다.
예를 들어 EC2 인스턴스가 S3에서 파일을 읽어오려면 S3에서 파일을 읽을 수 있는 권한을 정책으로 만든 뒤에 해당 정책으로 역할을 만들어 EC2 인스턴스에 지정을 해줘야 한다.참조
'AWS' 카테고리의 다른 글
[AWS] Lambda(Edge)와 CloudFront를 이용하여 온디맨드 이미지 리사이징 구현하기 (0) 2023.09.09 [AWS] Elastic IP란 무엇인가? (0) 2023.07.17