2017-08-08 12 views
1

Redshiftクラスタと、クラスタにアクセスできるIAMロールを設定しようとしています。私はこのためにテラフォームを使用しています。 documentationによれば、サービスロールを作成し、AmazonS3ReadOnlyAccessポリシーをそれに添付する必要があります。私は私のテラフォームのスクリプトで、次の設定があります。Terraform:AWS Redshift IAMロール

resource "aws_iam_role" "my_admin_role" { 
    name = "my-role" 
    policy = <<EOF 
{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "s3:Get*", 
     "s3:List*", 
     "redshift:*" 
     ], 
     "Resource": "*" 
    } 
    ] 
} 
EOF 
} 

しかしこれは私にエラー与える:

エラー:

* aws_iam_role.my_admin_role: "assume_role_policy": required field is not set 
    * aws_iam_role.my_admin_role: : invalid or unknown key: policy 

I赤方偏移のセットアップサービスの役割はどうすればよいですか?

答えて

0

あなたは、リソースaws_iam_role_policy

resource "aws_iam_role_policy" "test_policy" { 
    name = "test_policy" 
    role = "${aws_iam_role.test_role.id}" 

    policy = <<EOF 
{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Action": [ 
     "ec2:Describe*" 
     ], 
     "Effect": "Allow", 
     "Resource": "*" 
    } 
    ] 
} 
EOF 
} 
の資源 aws_iam_roleaws_iam_role_policy

リソースの使用例aws_iam_role

resource "aws_iam_role" "test_role" { 
    name = "test_role" 

    assume_role_policy = <<EOF 
{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Action": "sts:AssumeRole", 
     "Principal": { 
     "Service": "ec2.amazonaws.com" 
     }, 
     "Effect": "Allow", 
     "Sid": "" 
    } 
    ] 
} 
EOF 
} 

使用例を混ぜます

関連する問題