Terraform: зарегистрируйте AWS S3 местоположений до AWS озерного образования - PullRequest
0 голосов
/ 30 марта 2020

Я пытался зарегистрировать свои AWS S3 места в сервисе формирования озера AWS, используя Terraform. Я создал встроенную политику для корзины, которая разрешает доступ на чтение и запись. Затем я пытаюсь прикрепить встроенную политику с ролью службы следующим образом.

# main.tf

resource "aws_iam_service_linked_role" "lakeformation_service_role" {
  aws_service_name = "lakeformation.amazonaws.com"
}

data "template_file" "bucket_policy" {
  template = "${file("${path.module}/bucket_policy_template.json")}"
  vars = {
    bucket_name = var.s3_bucket_name
  }
}

resource "aws_iam_role_policy" "s3_bucket-inline-policy" {
  name   = "LakeFormationDataAccessPolicyForS3"
  role   = aws_iam_service_linked_role.lakeformation_service_role.name
  policy = data.template_file.bucket_policy.rendered
}

Я получаю следующее сообщение об ошибке.

Error putting IAM role policy LakeFormationDataAccessPolicyForS3: UnmodifiableEntity: Cannot perform the operation on the protected role 'AWSServiceRoleForLakeFormationDataAccess' - this role is only modifiable by AWS

Я не уверен, что это правильный путь регистрации путей s3.

...