From f6766fd9b5153ecbd2201a9bd6fa43484bf9fa69 Mon Sep 17 00:00:00 2001
From: Lennart Nordgreen <lennart.nordgreen@uib.no>
Date: Tue, 11 Feb 2020 12:44:55 +0100
Subject: [PATCH] Draft 2 -  beta.ordbok.uib.no_stack.yaml

---
 aws/beta.ordbok.uib.no_stack.yaml | 102 +++++++++---------------------
 1 file changed, 29 insertions(+), 73 deletions(-)

diff --git a/aws/beta.ordbok.uib.no_stack.yaml b/aws/beta.ordbok.uib.no_stack.yaml
index 7e8d83e..e793944 100644
--- a/aws/beta.ordbok.uib.no_stack.yaml
+++ b/aws/beta.ordbok.uib.no_stack.yaml
@@ -26,9 +26,6 @@ Parameters:
       - 'PriceClass_100'
       #- 'PriceClass_200'
       #- 'PriceClass_All'
-
-  SecretArn:
-    Type: String
     
   CertificateArn:
     Type: String
@@ -57,7 +54,9 @@ Resources:
       HostedZoneTags:
       - Key: Application
         Value: beta.ordbok.uib.no
-
+      Tags:
+        - Key: Application
+          Value: !Ref DomainName
         
   WebBucket:
     Type: "AWS::S3::Bucket"
@@ -65,14 +64,6 @@ Resources:
       BucketName: !Sub "${AWS::StackName}.aws.uib.no"
       VersioningConfiguration:
         Status: Enabled
-      AccessControl: !If
-        - UseDomain
-        - !Ref "AWS::NoValue"
-        - "PublicRead"
-      WebsiteConfiguration: !If
-      - UseDomain
-      - !Ref "AWS::NoValue"
-      - IndexDocument: index.html
       Tags:
         - Key: Application
           Value: !Ref DomainName
@@ -81,29 +72,23 @@ Resources:
   BucketPolicy:
     Type: "AWS::S3::BucketPolicy"
     Properties:
+      Bucket: !Ref WebBucket
       PolicyDocument:
         Id: MyPolicy
         Version: 2012-10-17
         Statement:
           - Sid: PublicReadForGetBucketObjects
             Effect: Allow
-            Principal: !If
-              - UseDomain
+            Action: s3:GetObject
+            Resource: !Join ['', ['arn:aws:s3:::', !Ref 'WebsiteBucket', /*]]
+            Principal:
               - CanonicalUser: !GetAtt CloudFrontOriginIdentity.S3CanonicalUserId
-              - "*"
-            Action: !If
-              - UseDomain
-              - 's3:*'
-              - 's3:GetObject'
-            Resource: !Join
-              - ''
-              - - 'arn:aws:s3:::'
-                - !Ref WebBucket
-                - /*
-      Bucket: !Ref WebBucket
-      
+
+      Tags:
+        - Key: Application
+          Value: !Ref DomainName
       
-  ItaIpSet:
+  ITAIpSet:
     Type: "AWS::WAF::IPSet"
     Condition: UseDomain
     Properties:
@@ -111,7 +96,9 @@ Resources:
       - Type: "IPV4"
         Value: "129.177.0.0/16"
       Name: "allowed IPs"
-  
+      Tags:
+        - Key: Application
+          Value: !Ref DomainName
   
   ITARule:
     Type: "AWS::WAF::Rule"
@@ -122,8 +109,10 @@ Resources:
       Predicates:
       - Type: "IPMatch"
         Negated: false
-        DataId: !Ref ItaIpSet
-        
+        DataId: !Ref ITAIpSet
+      Tags:
+        - Key: Application
+          Value: !Ref DomainName
         
   ACL:
     Type: "AWS::WAF::WebACL"
@@ -138,7 +127,9 @@ Resources:
             Type: "ALLOW"
           Priority: 1
           RuleId: !Ref ITARule
-          
+      Tags:
+        - Key: Application
+          Value: !Ref DomainName
           
   Distribution:
     Type: "AWS::CloudFront::Distribution"
@@ -181,53 +172,18 @@ Resources:
           AcmCertificateArn: !Ref CertificateArn
           MinimumProtocolVersion: TLSv1.1_2016
           SslSupportMethod: sni-only
-        WebACLId: !If
-          - UseDomain
+        WebACLId:
           - !Ref ACL
           - !Ref "AWS::NoValue"
+      Tags:
+        - Key: Application
+          Value: !Ref DomainName
 
   CloudFrontOriginIdentity:
     Type: "AWS::CloudFront::CloudFrontOriginAccessIdentity"
     Properties:
       CloudFrontOriginAccessIdentityConfig:
         Comment: "origin identity"
-       
-  XRayPolicy:
-    Type: 'AWS::IAM::ManagedPolicy'
-    Properties:
-      ManagedPolicyName: !Sub "${AWS::StackName}-XRayPolicy"
-      PolicyDocument:
-        Version: 2012-10-17
-        Statement:
-        - Action:
-          - 'xray:PutTelemetryRecords'
-          - 'xray:PutTraceSegments'
-          Effect: Allow
-          Resource: '*'
-          
-          
-  S3LambdaRole:
-    Type: "AWS::IAM::Role"
-    Properties:
-      AssumeRolePolicyDocument:
-        Version: "2012-10-17"
-        Statement:
-        - Effect: "Allow"
-          Principal:
-            Service:
-            - "lambda.amazonaws.com"
-          Action:
-          - "sts:AssumeRole"
-      ManagedPolicyArns:
-        - "arn:aws:iam::aws:policy/AmazonS3FullAccess"
-        - !Ref XRayPolicy
-      Policies:
-        - PolicyName: !Sub "${AWS::StackName}-SecretsPolicy"
-          PolicyDocument:
-            Version: 2012-10-17
-            Statement:
-              - Action: 'secretsmanager:GetSecretValue'
-                Effect: Allow
-                Resource: !Ref SecretArn
-      RoleName: !Sub "${AWS::StackName}-S3LambdaRole"
-
+      Tags:
+        - Key: Application
+          Value: !Ref DomainName
-- 
GitLab