본문 바로가기
Knowledge/Cloud

[AWS] 우리가 개발하는 서비스에서 IAM User(Access Key) 사용을 지양해야하는 이유

by 미네마네모 2021. 4. 27.

기본적으로 개발하는 서비스에서 IAM User의 Access Key 및 Secret Key 사용을 지양해야합니다.

 

왜 그럴까요?

 

IAM User를 개발하는 서비스에서 직접 사용하는것의 장점을 말하는 것보다

단점이 보이는 최악의 경우를 말씀드리는게 이해하는데 도움이 된다는 생각에 최악의 경우를 말씀드리겠습니다.

 

첫번째, 사용자의 Access Key가 만료된 경우

이런 경우는 우리가 개발하는 서비스의 코드 또는 설정 파일에 Access Key, Secret Key가 하드 코딩 되어있을 것입니다.

이러한 Key들의 유효기간은 1년(365일) 입니다.

Key가 만료 된다면 잘만 사용하던 서비스가 갑자기 비정상 동작을 하겠죠?

 

두번째, 개발자가 개발 시 개인 계정에서 Key 발급 후 사용자가 퇴사하면서 계정이 삭제된 경우

이민회 연구원이 개발하던 백앤드 서버는 S3에 데이터를 Read/Write 해야하는 서비스 입니다.

이민회 연구원은 개인 계정에서 key를 발급하고 백앤드 서비스를 개발 하였습니다.

근데 갑자기 이민회 연구원이 퇴사를 합니다.

aws 관리자는 퇴사로 인하여 이민회 연구원의 IAM 계정을 삭제 합니다.

이때 잘 돌아가던 백앤드 서비스는 S3로 접근할 수 없게 되며 비정상 동작을 합니다.

 

정리하자면…

  • 서비스 개발에 있어서 IAM User를 사용하는 것은 관리 포인트를 많이 만드는 것입니다.
  • IAM User 대신 Role을 사용한다면 키의 만료를 걱정하지 않아도 됩니다.

댓글