Infra/Cloud

[AWS] IAM - Access Key 발급 받기

DuL2 2024. 1. 14. 21:04

 

처음 AWS 프리티어를 만들고 SDK를 통해 AWS를 사용하려면 인증을 위해 Access Key가 필요하다. 이 글에서는 그 방법을 정리해보고자 한다.

 

먼저 IAM이란?

IAM(AWS Identity and Access Management)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스다. 우리는 IAM을 사용하여 리소스를 사용할 수 있도록 제어할 수 있다.

 

팀에서의 보안 주체가 팀 인원들에 대해 인증(Authentication)과 권한부여(Authorization)을 받아 리소스에 대한 요청을 승인하는 것이 IAM의 주요 동작 방식이다.

AWS 계정을 처음 생성하는 경우에는 전체 AWS 서비스 및 계정 리소스에 대해 완전한 액세스 권한을 지닌 단일 로그인 자격 증명으로 시작한다. 이 자격 증명은 AWS 계정 루트 사용자라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인하여 액세스한다. 

 

여타 기술, 예를들어 데이터 베이스에서도 루트 사용자를 사용하지 않는 것처럼 AWS에서도 루트가 아닌 사용용도에 따라 올바른 권한을 가진 사용자를 만들어 사용하는 것을 권장한다고 한다.

 

이제 Access Key를 발급받아 보자.

IAM에서 Access Key 발급 받기

먼저 IAM 대시보드에 들어간다. 본인도 새 계정이기 때문에 아무런 키가 없다.

 

현재 사용자가 없는 경우, (본인도 없다.) 왼쪽의 사용자 탭을 눌러 사용자를 만들어 주자.

 

사용자 생성을 눌러 사용자 세부 정보를 지정해줄 것이다.

 

사용자 이름은 각자 원하는대로 만들자. 본인은 이 글을 작성하는 시점에서 Review 관련 프로젝트를 사용할 것이기 때문에 프로젝트 이름이 들어간 사용자를 만들려고 한다.

 

이제 이 사용자가 AWS 서비스 중 어떤 서비스에 접근할 수 있고, 어떤 정책을 사용하게 만들지 정하는 단계이다. 본인은 지금 SES 관련 기능이 필요하기 때문에 SES를 검색하여 모든 권한을 주는 FullAccess 를 선택했다. 만약 이 글을 보는 분들이 S3나 Lambda, SQS와 같은 다른 서비스를 공부하거나 사용하고 싶다면 해당하는 정책을 찾아 체크해주면된다.

 

마지막 단계는 지금까지의 상태를 확인한다. 태그는 선택사항이므로 나중에 필요할 경우 추가할 수 있으니 공부하여 사용하도록 하자.

 

사용자 생성을 누르게 되면 성공적으로 사용자가 추가된 것을 확인할 수 있다.

 

사용자 보기를 클릭하게 되면 만들어진 유저를 확인할 수 있고, 여기서 첫 엑세스키를 만들 수 있다.

 

본인은 로컬에서 개발할 때 사용할 것이므로 액세스키를 로컬 코드로 설정하여 사용하려고 한다. 근데 읽어보니 Toolkit을 통해서도 가능한듯 하니 추후에 한번 공부해보자.

 

 

설명 태그는 선택사항이니 필요하다면 넣도록하자.

 

마지막 단계에서 우리가 사용할 액세스 코드를 확인할 수 있다. .csv 파일을 다운로드하여 보관하자.

 

 

중요사항
절대로 이 키는 외부에 노출되어서는 안된다. 예를들어 github 같은 곳에 바로 푸시하여 올리거나 하면 안된다. 상당한 비용청구가 될 수 있다.