Tencent Cloud CVM 초기화 데이터의 API 비밀키

초기화 데이터에 장기 API 키를 넣지 마세요.

설명

user_data나 user_data_raw에 API 비밀키를 포함하면 초기화 데이터, Terraform 상태 또는 로그를 통해 값이 노출될 수 있습니다. Base64 인코딩은 비밀정보를 암호화하지 않습니다.

잠재적 영향

키를 획득한 사람이 해당 자격 증명에 허용된 Tencent Cloud 리소스에 접근할 수 있습니다.

해결 방법

장기 키를 제거하고 cam_role_name으로 필요한 권한만 가진 역할을 연결하세요. 애플리케이션은 역할의 임시 자격 증명을 사용하도록 구성하고 이미 노출된 키는 폐기하세요.

예시

예시 키는 실제 자격 증명이 아닌 설명용 값입니다. 변경 후에는 미리 만든 역할을 연결하고 초기화 스크립트에서 키를 제거합니다. 나머지 인스턴스 설정은 생략했습니다.

변경 전

hcl
resource "tencentcloud_instance" "example" {
  instance_name = "cvm-postpaid"

  user_data = base64encode("#!/bin/sh\nexport TENCENTCLOUD_SECRET_ID=example-id; export TENCENTCLOUD_SECRET_KEY=example-key")
}

변경 후

hcl
resource "tencentcloud_instance" "example" {
  instance_name = "cvm-postpaid"
  cam_role_name = "cvm-access-role"

  user_data = base64encode("#!/bin/sh\necho instance bootstrap")
}

참조