@@ -30,6 +30,65 @@ Metadata:
3030 - ConfirmPassword
3131
3232Resources :
33+
34+ CFNUser :
35+ Type : AWS::IAM::User
36+ Properties :
37+ LoginProfile :
38+ Password : !Ref Password
39+
40+ CFNUserGroup :
41+ Type : AWS::IAM::Group
42+
43+ CFNAdminGroup :
44+ Type : AWS::IAM::Group
45+
46+ Users :
47+ Type : AWS::IAM::UserToGroupAddition
48+ Properties :
49+ GroupName : !Ref CFNUserGroup
50+ Users :
51+ - !Ref CFNUser
52+
53+ Admins :
54+ Type : AWS::IAM::UserToGroupAddition
55+ Properties :
56+ GroupName : !Ref CFNAdminGroup
57+ Users :
58+ - !Ref CFNUser
59+
60+ CFNUserPolicies :
61+ Type : AWS::IAM::Policy
62+ Properties :
63+ PolicyName : CFNUsers
64+ PolicyDocument :
65+ Statement :
66+ - Effect : Allow
67+ Action :
68+ - ' cloudformation:Describe*'
69+ - ' cloudformation:List*'
70+ - ' cloudformation:Get*'
71+ Resource : ' *'
72+ Groups :
73+ - !Ref CFNUserGroup
74+
75+ CFNAdminPolicies :
76+ Type : AWS::IAM::Policy
77+ Properties :
78+ PolicyName : CFNAdmins
79+ PolicyDocument :
80+ Statement :
81+ - Effect : Allow
82+ Action : ' cloudformation:*'
83+ Resource : ' *'
84+ Groups :
85+ - !Ref CFNAdminGroup
86+
87+ CFNKeys :
88+ Type : AWS::IAM::AccessKey
89+ Properties :
90+ UserName : !Ref CFNUser
91+
3392 LambdaExecutionRole :
3493 Type : AWS::IAM::Role
3594 Properties :
@@ -53,7 +112,7 @@ Resources:
53112 - ' logs:CreateLogStream'
54113 - ' logs:PutLogEvents'
55114 Resource : ' arn:aws:logs:*:*:*'
56-
115+
57116 CheckPasswordsFunction :
58117 Type : AWS::Lambda::Function
59118 Properties :
@@ -95,69 +154,9 @@ Resources:
95154 TestPasswords :
96155 Type : Custom::LambdaCallout
97156 Properties :
98- ServiceToken : !GetAtt
99- - CheckPasswordsFunction
100- - Arn
157+ ServiceToken : !GetAtt CheckPasswordsFunction.Arn
101158 Password : !Ref Password
102159 ConfirmPassword : !Ref ConfirmPassword
103-
104- CFNUser :
105- Type : AWS::IAM::User
106- Properties :
107- LoginProfile :
108- Password : !Ref Password
109-
110- CFNUserGroup :
111- Type : ' AWS::IAM::Group'
112-
113- CFNAdminGroup :
114- Type : AWS::IAM::Group
115-
116- Users :
117- Type : AWS::IAM::UserToGroupAddition
118- Properties :
119- GroupName : !Ref CFNUserGroup
120- Users :
121- - !Ref CFNUser
122-
123- Admins :
124- Type : AWS::IAM::UserToGroupAddition
125- Properties :
126- GroupName : !Ref CFNAdminGroup
127- Users :
128- - !Ref CFNUser
129-
130- CFNUserPolicies :
131- Type : AWS::IAM::Policy
132- Properties :
133- PolicyName : CFNUsers
134- PolicyDocument :
135- Statement :
136- - Effect : Allow
137- Action :
138- - ' cloudformation:Describe*'
139- - ' cloudformation:List*'
140- - ' cloudformation:Get*'
141- Resource : ' *'
142- Groups :
143- - !Ref CFNUserGroup
144-
145- CFNAdminPolicies :
146- Type : AWS::IAM::Policy
147- Properties :
148- PolicyName : CFNAdmins
149- PolicyDocument :
150- Statement :
151- - Effect : Allow
152- Action : ' cloudformation:*'
153- Resource : ' *'
154- Groups :
155- - !Ref CFNAdminGroup
156-
157- CFNKeys :
158- Type : AWS::IAM::AccessKey
159- Properties :
160- UserName : !Ref CFNUser
161160
162161Outputs :
163162 AccessKey :
0 commit comments