1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
variable "feature_set" {
description = "Feature set for the organization — ALL or CONSOLIDATED_BILLING"
type = string
default = "ALL"
validation {
condition = contains(["ALL", "CONSOLIDATED_BILLING"], var.feature_set)
error_message = "feature_set must be ALL or CONSOLIDATED_BILLING."
}
}
variable "aws_service_access_principals" {
description = "AWS service principals to enable as trusted access in the organization"
type = list(string)
default = [
"cloudtrail.amazonaws.com",
"config.amazonaws.com",
"config-multiaccountsetup.amazonaws.com",
"guardduty.amazonaws.com",
"securityhub.amazonaws.com",
"ram.amazonaws.com",
"sso.amazonaws.com",
"account.amazonaws.com",
"inspector2.amazonaws.com",
"malware-protection.guardduty.amazonaws.com",
]
}
variable "enabled_policy_types" {
description = "Policy types to enable in the organization"
type = list(string)
default = ["SERVICE_CONTROL_POLICY", "TAG_POLICY"]
}
variable "delegated_administrators" {
description = "Map of service principal to account ID for delegated administrator registration"
type = map(string)
default = {}
}
variable "tags" {
description = "Standard tag map kept for interface consistency. Current organization and account setting resources do not support tags directly."
type = map(string)
default = {}
}
variable "manage_iam_password_policy" {
description = "Whether to manage the IAM account password policy in the management account"
type = bool
default = true
}
variable "password_min_length" {
description = "Minimum IAM user password length"
type = number
default = 14
}
variable "password_require_lowercase_characters" {
description = "Require lowercase characters in IAM user passwords"
type = bool
default = true
}
variable "password_require_uppercase_characters" {
description = "Require uppercase characters in IAM user passwords"
type = bool
default = true
}
variable "password_require_numbers" {
description = "Require numbers in IAM user passwords"
type = bool
default = true
}
variable "password_require_symbols" {
description = "Require symbols in IAM user passwords"
type = bool
default = true
}
variable "password_allow_users_to_change_password" {
description = "Allow IAM users to change their own password"
type = bool
default = true
}
variable "password_max_age_days" {
description = "Maximum IAM user password age in days. Use 0 for no expiration."
type = number
default = 90
}
variable "password_reuse_prevention" {
description = "Number of previous IAM user passwords that cannot be reused. Valid range is 1 to 24."
type = number
default = 24
}
variable "password_hard_expiry" {
description = "Whether IAM users are prevented from setting a new password after their password expires"
type = bool
default = false
}
variable "manage_s3_account_public_access_block" {
description = "Whether to manage account-level S3 public access block in the management account"
type = bool
default = true
}
variable "s3_block_public_acls" {
description = "Block public ACLs for S3 buckets and objects at account level"
type = bool
default = true
}
variable "s3_block_public_policy" {
description = "Block public bucket policies at account level"
type = bool
default = true
}
variable "s3_ignore_public_acls" {
description = "Ignore public ACLs for S3 buckets and objects at account level"
type = bool
default = true
}
variable "s3_restrict_public_buckets" {
description = "Restrict public bucket policies at account level"
type = bool
default = true
}
variable "enable_ebs_encryption_by_default" {
description = "Whether to enable EBS encryption by default in the current provider region"
type = bool
default = true
}
variable "account_alias" {
description = "Optional friendly IAM account alias for the management account sign-in URL"
type = string
default = null
}
|