Terraform Cloud - Dynamic Provider Credentials 기능

Jay·2023년 4월 16일
0

HashiCorp 유튜브 채널을 보다가, 이전부터 필요했던 기능이 추가된 것을 확인해서 간단하게 정리해보았다.

Dynamic Provider Credentials

Dynamic Provider Credentials 기능 이전에는 CSP 환경에 접근하기 위한 인증정보(키)를 정적인 변수로 등록해야 했다.

위와 같이 Workspace 별로 지정을 하거나, Organization에 Variable set을 지정하는 방식을 사용하였다.

이러한 방식은 플랫폼 팀의 운영 복잡도를 늘릴 뿐 아니라, 보안적인 리스크도 줄 수 있다는 위험성이 있었다.

Dynamic Provider Credentials를 사용하여, 기존처럼 키를 등록하는 것이 아니라 Role을 등록하여 동적으로 인증정보(키)를 발행하여 테라폼 클라우드에서 각 프로바이더로 인증을 할 수 있도록 변경되었다.

예를 들어, AWS 프로바이더에 동적으로 인증하기 위해서는 다음과 같은 변수를 지정한다.

  1. TFC_AWS_PROVIDER_AUTH
    이 값을 true로 지정하면, TFC는 AWS 프로바이더에 인증을 할 때, Dynamic Provider Credentials를 사용하게 된다.
  2. TFC_AWS_PLAN_ROLE_ARN: (ROLE ARN)
    Plan 단계에서 인증을 할 때, 어떤 Role을 사용할 지 지정한다.
  3. TFC_AWS_APPLY_ROLE_ARN: (ROLE ARN)
    Apply 단계에서 인증을 할 때, 어떤 Role을 사용할 지 지정한다.

현재 이 기능은 Vault, AWS, Azure, Google Cloud 프로바이더에서 사용이 가능하다.

개선점

  • 정적으로 인증정보를 입력하는 것에 비해 운영/관리 부담이 적어진다.
  • 유효기간이 짧은 동적 인증정보를 사용하기 때문에 인증정보가 노출되거나 재이용될 위험이 감소한다.
  • 워크스페이스 및 프로젝트 단위로 권한 부여가 가능하므로 최소권한만으로 Terraform Cloud를 사용할 수 있다.

여기까지가 영상에서 소개한 내용이고, 이후 내용은 데모라서 특별히 캡처하거나 정리하지 않았다.

Terraform Cloud/Enterprise를 Prod 환경에 적용함에 있어서 반드시 필요한 기능 중 하나가 드디어 추가된 것 같은 느낌이다. 기존에는 Terraform Enterprise에 크레덴셜을 입력하기 위해서 각각의 AWS 계정에서 IAM User를 만들고, 크레덴셜을 생성하고, 전달하고 입력하고, 사용기간이 길어지면 이 키를 교체하는 작업도 했어야 했는데, 이 부분에서 할 일이 간소화될 것 같다.

profile
공부 하고 싶은 직장인의 기록장

0개의 댓글