Skip to content

Commit 847785c

Browse files
committed
Update
1 parent 03b6a47 commit 847785c

File tree

1 file changed

+61
-62
lines changed
  • CloudFormation/Creating-Lambda-Backed-Custom-Resources

1 file changed

+61
-62
lines changed

CloudFormation/Creating-Lambda-Backed-Custom-Resources/cf.yaml

Lines changed: 61 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,65 @@ Metadata:
3030
- ConfirmPassword
3131

3232
Resources:
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

162161
Outputs:
163162
AccessKey:

0 commit comments

Comments
 (0)