2017-10-04 12 views
0

Terraform에서 기존 KMS 키 정책을 업데이트하는 방법을 알고있는 사람이 있습니까?terrform을 사용하여 KMS 키 정책 업데이트

이미 KMS 키가 생성되었지만 기존 KMS 키를 사용해야하는 임시 IAM 역할이 있습니다. 이 "새로운"IAM 역할을 기존 KMS 키 정책에 추가 할 수 있기를 바랍니다. AWS 콘솔을 사용하여 이것이 가능하다는 것을 알 수 있지만 Terraform에서 어떻게 작동하는지 알 수 없습니다.

AWS CLI 도구를 사용하여이 작업을 수행 할 수도 있지만 Terraform에서 환경을 구축 할 때이를 조사하지 않았으므로 모든 것을 한 곳에서 관리하고 싶습니다.

현재 KMS 키를 사용하여 S3 업로드 및 다운로드를 암호화하고 다양한 IAM 사용자 및 역할이 이미 현재 키에 액세스 할 수 있으므로 새 키를 만들면 이미 버킷에 액세스하는 사람들에게 문제가 반전됩니다. .

답변

0

kms 키가 있고 terraform에 의해 제어되지 않는 경우이 리소스를 먼저 가져와야합니다.

먼저, 그 다음이 리소스를 가져올 terraform import를 실행

resource "aws_iam_role" "example" { 
    name = "example" 
    assume_role_policy = "<redacted>" 
} 

resource "aws_kms_key" "example" { 
    description = "example" 
    deletion_window_in_days = 10 

    policy = "${file("kms-policy.json")}" 
} 

준비 이러한 코드가 있는지 확인하십시오.

$ terraform import aws_kms_key.example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab 

그 후, KMS 키가 terraform 관리 할 수 ​​있습니다,이 또한 환경이 파괴 될 때 키도 파괴 될 수 있다는 것을 의미하지 않을까요 terraform plan/apply

+0

으로 이제 IAM 역할을 업데이트 할 수 괜찮 ? Terraform이 aws cli 명령 "put-key-policy"또는 비슷한 것을 활용할 수 있기를 희망했습니다. – Chris

+0

답변을 업데이트했으며, 자원 aws_kms_key는'deletion_window_in_days = 10' 옵션을 가지고 있습니다. (선택 사항) 자원 삭제 후 키가 지워지는 기간 (일)은 7 일에서 30 일 사이 여야합니다. 기본값은 30 일입니다. – BMW