@@ -167,7 +167,7 @@ Resources:
167
167
"codebuild:BatchPutCodeCoverages"
168
168
],
169
169
"Resource": [
170
- "arn:aws:codebuild:${AWS::Region}:${AWS::AccountId}:report-group/${ProjectName}-Release"
170
+ "arn:aws:codebuild:${AWS::Region}:${AWS::AccountId}:report-group/${ProjectName}-Release-* "
171
171
]
172
172
}
173
173
]
@@ -214,6 +214,7 @@ Resources:
214
214
"arn:aws:kms:*:658956600833:alias/*"
215
215
],
216
216
"Action": [
217
+ "kms:Encrypt",
217
218
"kms:Decrypt",
218
219
"kms:GenerateDataKey"
219
220
]
@@ -254,6 +255,20 @@ Resources:
254
255
Action : ' kms:*'
255
256
Resource : ' *'
256
257
258
+ S3ECReleaseKMSKeyIDAlternate :
259
+ Type : ' AWS::KMS::Key'
260
+ Properties :
261
+ Description : Alternate KMS Key for Release Testing
262
+ Enabled : true
263
+ KeyPolicy :
264
+ Version : 2012-10-17
265
+ Statement :
266
+ - Effect : Allow
267
+ Principal :
268
+ AWS : !Sub 'arn:aws:iam::${AWS::AccountId}:root'
269
+ Action : ' kms:*'
270
+ Resource : ' *'
271
+
257
272
S3ECReleaseKMSKeyAlias :
258
273
Type : ' AWS::KMS::Alias'
259
274
Properties :
@@ -263,7 +278,7 @@ Resources:
263
278
S3ECReleaseTestS3Bucket :
264
279
Type : ' AWS::S3::Bucket'
265
280
Properties :
266
- BucketName : s3ec-release-test-bucket
281
+ BucketName : !Sub " s3ec-release-test-bucket"
267
282
LifecycleConfiguration :
268
283
Rules :
269
284
- Id : Expire in 14 days
@@ -291,6 +306,29 @@ Resources:
291
306
- !Join [ "", [ !GetAtt S3ECReleaseTestS3Bucket.Arn, '/*' ] ]
292
307
293
308
S3ECReleaseTestKMSKeyPolicy :
309
+ Type : ' AWS::IAM::ManagedPolicy'
310
+ Properties :
311
+ PolicyDocument :
312
+ Version : " 2012-10-17"
313
+ Statement :
314
+ - Effect : " Allow"
315
+ Resource :
316
+ - Sub! "arn:aws:kms:*:${AWS::AccountId}:key/${S3ECReleaseTestingKMSKeyID}"
317
+ - Sub! "arn:aws:kms:*:${AWS::AccountId}:${S3ECReleaseKMSKeyAlias}"
318
+ Action :
319
+ - " kms:Encrypt"
320
+ - " kms:Decrypt"
321
+ - " kms:GenerateDataKey"
322
+ - " kms:GenerateDataKeyPair"
323
+ - Effect : Allow
324
+ Action : sts:AssumeRole
325
+ Resource :
326
+ Fn::GetAtt : [ S3ECReleaseTestRoleAlternate, Arn ]
327
+
328
+
329
+ ManagedPolicyName : S3EC-Release-Test-KMS-Key-Policy
330
+
331
+ S3ECReleaseKMSKeyPolicyAlternate :
294
332
Type : ' AWS::IAM::ManagedPolicy'
295
333
Properties :
296
334
PolicyDocument : !Sub |
@@ -300,16 +338,34 @@ Resources:
300
338
{
301
339
"Effect": "Allow",
302
340
"Resource": [
303
- "arn:aws:kms:*:${AWS::AccountId}:key/${S3ECReleaseTestingKMSKeyID}",
304
- "arn:aws:kms:*:${AWS::AccountId}:${S3ECReleaseKMSKeyAlias}"
341
+ "arn:aws:kms:*:${AWS::AccountId}:key/${S3ECReleaseKMSKeyIDAlternate}"
305
342
],
306
343
"Action": [
307
- "kms:Encrypt",
308
344
"kms:Decrypt",
309
345
"kms:GenerateDataKey",
310
346
"kms:GenerateDataKeyPair"
311
347
]
312
348
}
313
349
]
314
350
}
315
- ManagedPolicyName : S3EC-Release-Test-KMS-Key-Policy
351
+ ManagedPolicyName : S3EC-Release-KMS-Key-Policy-Alternate
352
+
353
+ S3ECReleaseTestRoleAlternate :
354
+ Type : ' AWS::IAM::Role'
355
+ Properties :
356
+ Path : /service-role/
357
+ RoleName : S3EC-Release-test-role-alternate
358
+ AssumeRolePolicyDocument :
359
+ Version : " 2012-10-17"
360
+ Statement :
361
+ - Effect : " Allow"
362
+ Principal :
363
+ Service : codebuild.amazonaws.com
364
+ Action :
365
+ - " sts:AssumeRole"
366
+ Description : >-
367
+ Grant S3 put and get and KMS (alt key) encrypt, decrypt, and generate access
368
+ for testing
369
+ ManagedPolicyArns :
370
+ - !Ref S3ECReleaseKMSKeyPolicyAlternate
371
+ - !Ref S3ECReleaseS3BucketPolicy
0 commit comments