[AWS] IAM: 사용자 관리
IAM은 Identity and Access Management의 축약으로, 권한에 대한 것을 총괄하는 주요 시스템 중 하나다.
이 서비스를 통해서 계정과 역할을 만들어서 권한을 주고, 어떤 서비스의 어떤 자원까지 어떻게 사용할 수 있게 할지, 어떤 서비스의 리소스에서 어떤 리소스까지 사용할 수 있게 할지를 다 정의할 수 있다.
여기서는 사용자와 사용자의 권한에 대해서만 개략적으로만 다뤄보겠다.
천천히 하나씩 봐보자.
사용자 계정 만들기
다른 시스템들과 마찬가지로, AWS도 루트 계정은 보안상 사용하지 않는 것을 권장한다.
개발용으로 사용할 계정을 추가로 만들어보자.
IAM에 들어가보면, 사용자 그룹과 사용자 단위로 계정의 권한을 관리할 수 있음을 알 수 있다.

사용자를 만들어보자.
그럼 아래와 같이 창이 뜨는데,
이름과 사용방식을 정해주면 된다.
키값을 가져와서 시스템에서도 사용할 계정이라면 "프로그래밍 방식 액세스"가 필요하고,
콘솔창으로 로그인할 수 있게 하려면 AWS... 액세스도 있어야 한다.
둘다 선택해주자.
대충 이렇게 만들어주면 된다.
남에게 만들어서 던져줄 거라면 비밀번호는 바꿔서 쓰라고 자동생성으로 주면 된다.
그리고 사용자를 어떤 그룹에 추가할지, 추가로 권한을 어떻게 제약할지를 선택할 수 있다.

다 고르고 넘어가면

이렇게 만들 수 있다.
자세한 액세스 키나 패스워드 등의 값은 csv 다운로드로 받아서 확인해볼 수 있다.
이렇게 잘 만들어졌다면 이제, 계정 ID와 사용자명, 패스워드로 로그인을 할 수 있다.

그럼 비밀번호 바꾸라고 하는데

잘 바꾸면 접속이 될 것이다.

사용자 그룹과 정책(policy)를 통한 권한 제어
사용자 그룹은 여러개의 사용자를 묶어서 공통적인 권한을 주고 싶을때 유용한 기능이다.
가령 A 직군의 개발자에게는 S3와 ECS 권한만 주고 싶다면, 위처럼 그룹을 만들고
이렇게 정책(policy)들을 연결한다.
정책은 권한을 지정하는 가장 기본적인 단위라고 할 수 있다.
사용자나 사용자 그룹, 역할 등은 전부 권한을 하나 이상 연결하는 것으로 권한의 범위를 제어할 수 있다.
자세한 것은 추후 다시 정리하겠다.
그리고 사용자를 만들때

그룹에 연결만 해주면 된다.

나는 이 계정들에 S3와 ECS의 권한만 주었기 때문에 S3는 잘 접근이 되지만

EC2 같은 이의의 서비스를 사용하려 시도한다면 다 튕겨버릴 것이다.

그렇다.