AWS에서는 IAM (Identity and Access Management) 서비스를 통해서 하나의 AWS 계정에 대한 사용자 계정 생성을 지원하고, 동시에 API 액세스를 위한 키도 제공하고 있습니다. 이번 글을 통해서 사용자 계정 생성 절차에 대해서 알아보도록 하겠습니다.
콘솔 계정 생성
콘솔 계정은 말 그대로 콘솔에 접근 가능한 사용자 계정을 의미합니다. AWS의 [IAM 서비스 > 사용자 > 사용자 생성]에서 신규 사용자 계정 생성이 가능합니다.
계정을 생성하면서 화면을 보시면, [AWS Management Console에 대한 사용자 액세스 권한 제공 – 선택 사항]을 보실 수 있습니다. 이 부분을 체크해야만 AWS 콘솔에 접근할 수 있으니 꼭 확인하시기 바랍니다.
사용자에게 할당할 권한을 설정해야 합니다. 원하는 권한이 없다면 사전에 IAM 정책을 만들어야 합니다. 지금은 관리자 권한을 제공해보도록 하겠습니다.
사용자 생성에 대한 검토 화면입니다. 바로 앞에서 설정한 관리자 권한과 별개로 비밀번호 정책을 임시 비밀번호 생성 및 로그인시 비밀번호 변경하도록 설정하였기 때문에 자동적으로 사용자가 본인의 비밀번호를 바꿀 수 있는 정책이 추가되었습니다. 특이 사항이 없으면 사용자를 생성합니다.
사용자 생성이 완료되면 임시 비밀번호를 볼 수 있고, 해당 내용을 csv 파일로 다운로드 받을 수 있습니다. 이렇게 생성된 계정 정보를 IAM 계정 사용자에게 전달하면, 사용자는 임시 비밀번호로 로그인하여 새 비밀번호를 설정함으로써 안전하게 로그인할 수 있습니다.
IAM 정책을 통해서 MFA 설정하도록 강제함으로써 보안을 더 강하게 할 수도 있습니다만 이 부분은 다음에 살펴보도록 하겠습니다.
액세스 키 계정 생성
콘솔 접근은 필요하지 않으나 프로그래밍 방식으로 액세스 키만 사용할 계정을 만들 수 있습니다. 과정은 위와 동일한데, 콘솔 접근에 대한 선택 사항만 해제하면 됩니다.
계정 생성을 완료한 다음, 해당 계정을 선택하여 [보안 자격 증명] 탭에서 액세스 키를 만들 수 있습니다. 눈치 채셨겠지만, 콘솔 계정도 마찬가지로 액세스 키를 만들 수 있습니다. 다만 목적에 따라서 명확하게 계정을 분리하는 것이 좋습니다.
액세스 키를 만들려고 하면 사용 사례를 선택하도록 하고 있습니다. 이 과정이 있는 이유는, 실제로 많은 경우에는 액세스 키가 필요 없기 때문에 그러한 모범 사례를 제공하고 사용자가 최대한 액세스 키를 만들지 않도록 유도하기 위함입니다. 하지만, AWS 외부에서 애플리케이션을 구동하는 경우에는 액세스 키밖에 선택지가 없습니다. 이를 선택하고 다음으로 넘어가봅니다.
태그 설정은 선택사항이므로 건너가고, 그대로 액세스 키를 만들면 위와 같이 키를 확인할 수 있습니다. 액세스 키와 비밀 액세스 키는 하나의 쌍으로, 둘 모두가 있어야만 정상적으로 AWS 서비스에 접근할 수 있습니다. 그리고 비밀 액세스 키는 절대로 외부에 노출되면 안됩니다! 무단으로 외부 사용자가 키 정보를 통해서 AWS 서비스를 사용할 수 있기 때문입니다. 이에 대한 안전한 관리 방법에 대해서는 다음 글을 통해서 알아보도록 하겠습니다.
이번 글을 통해서 IAM 계정 생성 절차와 액세스 키 생성에 대해서 알아보았습니다. 간단하게 기본 정책을 할당하는 과정만 알아보았는데, 실제 사용 사례에서는 복잡한 정책들을 커스텀으로 생성하고, 이를 사용자에게 할당하여 특정 서비스에만 혹은 읽기 권한만 할당하는 등의 권한 설정이 가능합니다. 보안 설정은 한순간의 실수로 금전적인 손해를 끼칠 수 있으므로 부디 유의하셔서 IAM 사용자를 생성 및 관리하시기 바랍니다.