프로젝트 온보딩: IAM 계정 생성부터 보안 설정까지

신규 프로젝트에 합류하게 되면서 IAM 계정을 부여받는 것으로 첫 업무를 시작했다. 사실 “왜 AWS 권한 설정이 필요할까?”라는 의문이 들었다. 이에 IAM 권한이 필요한 이유와 안전한 보안 설정 절차를 기록으로 남겨보려고 한다.

IAM 계정이 왜 필요할까?

React나 Vue로 제작된 서비스는 보통 AWS S3에 빌드된 정적 파일을 업로드하고, 전 세계에 효율적으로 전달하기 위해 CloudFront라는 CDN 서비스와 연동한다.

이러한 배포 과정은 CI/CD 파이프라인을 통해 자동화된다.이 때 GitHub Actions나 Jenkins 같은 도구가 내 AWS 계정을 대신해 자원에 접근할 수 있도록 자격 증명이 필요하다.

AWS CLI 보안 설정 절차

부여받은 계정을 로컬 환경에서 연동하기 위해서는 먼저 AWS CLI를 설치해야 한다.

STEP 1. 액세스 키 생성

  1. 전달받은 콘솔 로그인 URL을 통해 접속한다.
  2. 우측 상단 [계정명] 클릭 → [보안 자격 증명] 탭으로 이동한다.
  3. ‘액세스 키’ 섹션에서 [액세스 키 만들기]를 클릭하여 Access Key ID와 Secret Access Key를 발급받는다.

    alt text

    해당 키 파일은 단 한 번만 노출되며, 창을 닫으면 다시 확인할 수 없다. 또한 유출 시 보안 사고가 일어날 수 있으므로 유출 되지 않도록 해야한다.
    만약 보안 정책상 키 생성 권한이 없다는 메시지가 출력된다면, 인프라 담당자에게 본인이 직접 키를 관리할 수 있도록 정책(Policy) 추가를 요청해야 한다.


STEP 2. 로컬 환경 자격 증명 설정

터미널(window는 git bash)을 열고 발급 받은 key와 아래의 코드를 통해서 자격 증명을 진행하면 된다.

1
2
3
4
5
    $ aws configure 
    AWS Access Key ID [None]: < 발급한 Key ID >
    AWS Secret Access Key [None]: < 발급한 Secret Access Key>
    Default region name [None]: 
    Default output format [None]:

STEP 3. 정상 등록 확인

입력한 정보가 잘 등록되었는지 아래의 코드를 통해서 확인한다.

1
    $ aws sts get-caller-identity

임시 자격 증명

AWS에서는 유출 위험이 있는 장기 키(Long-term Key) 대신, 일정 시간이 지나면 만료되는 단기 임시 키(Short-term Credential) 사용을 권장하고 있다. 팀 규모가 커지거나 보안 수준을 높여야 할 경우, 직접 발급한 키 대신 IAM Identity Center 등을 통해 임시 키를 발급받아 사용하는 방식으로 고도화할 필요가 있다.

자세한 내용은 AWS CLI Documention을 참고해주세요.

마치며

프로젝트 중간에 합류했을 때, 기술 스택 파악 외에도 프로젝트가 어떤 흐름으로 배포되고 운영되는지를 이해하는 것도 중요하다고 생각한다. 이번 IAM 자격 증명 과정을 통해 프론트엔드 코드가 실제 사용자에게 전달되기까지 어떤 맥락을 거치는지 파악할 수 있었다. 이 경험은 향후 인프라 이슈 발생 시 더욱 능동적으로 대처할 수 있는 밑거름이 될 것이다.

카테고리:

업데이트: