본 포스팅에서는 IAM
에 대해 살펴보고, 접근 제어 및 권한 설정을 하는 방법에 대해 알아볼 예정이다.
IAM
은 Identity and Access Management의 약자로, AWS 리소스에 대한 접근을 안전하게 제어할 수 있는 웹 서비스이다.
이 설정을 통해 리소스를 사용하도록 인증하거나, 권한을 부여할 수 있다.
처음 AWS 계정을 생성하게 되면, 해당 계정에 모든 리소스에 접근할 수 있는 권한이 부여된 root
계정이 생성된다.
이러한 사용자는 root 사용자
라고 부르며, 로그인할 때 Email
을 입력하여 로그인하게 된다.
이에 AWS는 일상작업뿐 아니라 관리작업에도 이 루트사용자를 사용하는 것을 비권장
한다.
대신 이곳과 같은 방법으로 IAM 사용자를 생성할 때만 사용하도록 권장한다.
즉 루트 사용자는 계정 및 서비스 관기 작업에만 사용하기를 권장한다.
IAM은 다양한 기능을 제공하지만, 주로 사용하게 될 기능은 다음과 같다.
더 구체적인 사항은 AWS 공식 홈페이지를 참고하기 바란다.
내 보안자격 증명
을 눌러준다.혹은 서비스에서
IAM
을 검색하여 들어가도 된다.
사용자 추가
버튼을 눌러 새로운 IAM 사용자를 추가해준다.콘솔
로 설정한다. (추후, 키를 발급받을 수 있다.)그룹 생성
을 클릭한다.편리
하다.
만약 특정 유저에게서 권한을 제거하고 싶다면, 그룹에서 사용자를 제거하면 된다.
AdministratorAccess
를 체크하여 관리자 권한을 해당 그룹에 부여한다.그룹 생성
을 클릭한다.다음 단계는
태그
이지만, 딱히 추가할 태그가 없으므로검토
로 가도록 한다.
사용자 만들기
를 클릭한다.콘솔 주소
가 표시되며, 해당 주소를 통해 IAM 유저
로 로그인이 가능하다.표시
버튼을 눌러 확인한다..csv 다운로드
버튼을 클릭한 후 안전한 위치에 저장한다.
보안 액세스 키는 이 단계에서만 확인 및 다운로드가 가능하다.
다시는
확인하거나 다운로드 할 수 없으므로 주의하자.
IAM 유저
가 생성됨을 확인할 수 있다.AWS에서 제공하는 MFA
는 보안을 강화하는 수단이다. AWS계정 및 개별 IAM 사용자들에 대해 AWS MFA를 활성화할 수 있다.
루트계정
에는 MFA를 활성화하는것이 권장되며, 현재는 토큰 기반의 가상 MfA 어플리케이션만 존재한다.
2019.02.01 이후로 SMS 문자 메세지 기반 방식은 더이상 지원되지 않는다.
대시보드
를 누른 후, 사진처럼 MFA 관리
버튼을 클릭한다.MFA 활성화
버튼을 클릭한다.가상 MFA 디바이스
를 체크하고 계속을 클릭한다.QR 코드 표시
를 클릭하여 나오는 QR 코드를 Google OTP
를 설치하여 스캔하면 MFA 코드가 생성된다.MFA 코드
를 입력하여 할당을 누른다.MFA
인증을 해야한다.MFA
코드를 입력하는 화면이 뜨게되며, Google OTP
에서 코드를 입력하면 로그인할 수 있다.IAM에서 제공하는 기능중 역할
을 사용하면 특정 인스턴스에 제약을 걸 수 있다.
이어지는 실습에서는 특정 EC2에게 S3버킷에 대한 접근 제어 역할을 부여하겠다.
역할
을 클릭 후, 역할 만들기
를 클릭한다.EC2
에게 역할을 부여할 것이므로, 사진처럼 EC2
를 클릭 후 다음을 누른다.
다른 AWS 계정
을 눌러 특정 계정에게 역할을 부여할 수도 있다.
이런 경우, 계정 ID는 이메일 형식의 로그인ID가 아니라, 내 정보에서 볼 수 있는 12자리 숫자 ID이다.
S3
버킷에 접근할 역할을 부여할 것이므로, amazons3fullaccess
를 검색 후 체크하여 다음을 클릭한다.
이어지는 태그는 건너뛰고
검토
를 클릭한다.
불가능
해진다.공부하며, 내용을 정리하다 보니 문득 정책
과 역할
의 차이가 모호해져 찾아보게 되었다.
내가 이해한 바로는 정책
은 어떤 일을 할 수 있는 권한
과 관련이 있고,
역할
은 그러한 권한
들의 논리적인 집합
이라는 것이다.
자세한 내용은 다음의 두 링크를 참조하자.
IAM
, VPC
, EC2
이 3가지는 굉장히 중요하다고 한다.
꼭 잘 설정하여 좋은 환경을 구축하기를 바란다.