Gå direkte til CloudFormation i AWS Consol eller gem nedenstående og opret selv en stack
Gå til CloudFormation

CloudFormation Template

Denne template opretter en read-only rolle og giver KeyCore’s backend rettighed til at anvende denne rolle. Dette er nødvendigt for at vi kan generere en rapport for jeres konto. Vi anvender aldrig rollen uden at I har bedt om en rapport (enten direkte eller via en fast gentagelse). Så snart rapporten er genereret kan I fjerne rollen eller KeyCores rettighed til at anvende den – hvis I mener dette er nødvendigt.

Vores template gør to ting:

  1. Opretter en IAM rolle der giver læse adgang til jeres AWS konto og tildeler vores konto (441016470235) adgang til at anvende denne rolle i jeres konto
  2. Kontakter KeyCore’s rapporterings backend og registrerer jeres konto med den ny oprettede rolle. Dette giver et unikt ID retur der gør at I kan generere rapporter

Sådan gør du

Review CloudFormation template

Nedenstående YAML template er alt der skal til. Som det ses giver den kun læse rettigheder til jeres konto. Det er vigtigt at I ikke ændrer i den da den automatiske rapporting så ikke vil virke.

AWSTemplateFormatVersion: 2010-09-09
Description: This template creates a cross account role for allowing KeyCores automated Compliance Reporting to access readonly information
Outputs:
  ReportURL:
    Description: Unique URL to generate reports for this account
    Value: !Sub 
      - "https://compliance.keycore.dk/v1/evaluate/${id}"
      - { id: !GetAtt InstallHandler.id }
  ReporterRoleARN:
    Description: The ARN of the reporter role that can be assumed by KeyCore provided functions and rules
    Value: 
      Fn::GetAtt: 
        - ReporterRole
        - Arn
Parameters:
  AccountNumber:
    AllowedPattern: "[0-9]+"
    Description: The 12 digit AWS account number to grant view-only access to.
    MaxLength: '12'
    MinLength: '12'
    Default: '441016470235' 
    Type: String
Resources:
  ReporterRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName:
        Fn::Sub: KeyCore-GDPR-Reporter-${AccountNumber}
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - 
            Effect: Allow
            Action: sts:AssumeRole
            Principal:
              AWS:
                - Fn::Sub: arn:aws:iam::${AccountNumber}:root
                - Fn::Sub: arn:aws:iam::${AWS::AccountId}:root
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess
        - arn:aws:iam::aws:policy/AWSCloudTrailReadOnlyAccess
        - arn:aws:iam::aws:policy/IAMReadOnlyAccess
        - arn:aws:iam::aws:policy/service-role/AWSConfigRulesExecutionRole
      Policies:
        - 
          PolicyName: KeyCore-GDPR-Reporter
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - 
                Effect: Allow
                Action:
                  - kms:ListKeys
                  - kms:GetKeyRotationStatus
                  - logs:DescribeMetricFilters
                  - s3:GetBucketLogging
                  - s3:GetBucketAcl
                  - sns:ListSubscriptionsByTopic
                  - organizations:DescribeAccount
                Resource: "*"
  InstallHandler: 
    Type: "Custom::RegisterRoleArn"
    DependsOn: ReporterRole
    Properties: 
      ServiceToken: !Sub
        - "arn:aws:sns:${region}:441016470235:ComplianceReportInstallerTopic"
        - { region: !Ref "AWS::Region" }
      RoleArn: !GetAtt ReporterRole.Arn
                  

Opret en ny stack baseret på template

Kopier ovenstående til en .yml fil eller klik her for at komme direkte til CloudFormation
(Husk at sikre at du er logget ind i den ønskede konto og region)

Kopier Report URL fra Ouput

Når CloudFormation har oprettet den rolle der skal bruge, og registreret denne hos KeyCore laves der en unik URL som I kan se under Stack Ouputs. Denne URL kan kaldes fra enten scripts eller direkte i en browser.