File tree Expand file tree Collapse file tree 1 file changed +64
-0
lines changed Expand file tree Collapse file tree 1 file changed +64
-0
lines changed Original file line number Diff line number Diff line change 1+ resource "aws_iam_user" "state_user" {
2+ name = " state-reader"
3+ }
4+
5+ resource "aws_iam_access_key" "state_user_key" {
6+ user = aws_iam_user. state_user . id
7+ }
8+
9+ resource "aws_iam_user_policy" "state_user_policy" {
10+ user = aws_iam_user. state_user . id
11+ policy = data. aws_iam_policy_document . state_user_policy . json
12+ }
13+
14+ # tfsec:ignore:aws-iam-no-policy-wildcards
15+ data "aws_iam_policy_document" "state_user_policy" {
16+ statement {
17+ sid = " AllowS3ListAccess"
18+ effect = " Allow"
19+ actions = [
20+ " s3:ListBucket" ,
21+ " s3:GetBucketLocation"
22+ ]
23+ resources = [
24+ var . state_bucket_arn
25+ ]
26+ }
27+
28+ statement {
29+ sid = " AllowS3GetObject"
30+ effect = " Allow"
31+ actions = [
32+ " s3:GetObject*" ,
33+ ]
34+ resources = [
35+ " ${ var . state_bucket_arn } /*"
36+ ]
37+ }
38+
39+ statement {
40+ sid = " AllowAssumeRole"
41+ effect = " Allow"
42+ actions = [
43+ " sts:AssumeRole"
44+ ]
45+ resources = [aws_iam_role . user_role . arn ]
46+ }
47+ }
48+
49+ resource "aws_secretsmanager_secret" "state_user_access_keys" {
50+ name = " s3-state-user"
51+ description = " The access keys for S3 access"
52+ recovery_window_in_days = 7
53+ }
54+
55+ resource "aws_secretsmanager_secret_version" "state_user_access_keys" {
56+ secret_id = aws_secretsmanager_secret. state_user_access_keys . id
57+ secret_string = << JSON
58+ {
59+ "aws_user_name": "${ aws_iam_user . state_user . name } ",
60+ "aws_access_key_id": "${ aws_iam_access_key . state_user_key . id } ",
61+ "aws_secret_access_key": "${ aws_iam_access_key . state_user_key . secret } "
62+ }
63+ JSON
64+ }
You can’t perform that action at this time.
0 commit comments