Enabling cross-account functionality in CloudWatch without AWS console

0

I would like to automate the process of Enabling cross-account functionality in CloudWatch for each new account so that there is no need to go through this link tutorial on each new account.

I have an account dedicated to monitoring that should have CloudWatch access by default in every new and existing account in the organisation.

Ideally, it would be possible to set something like this up via CDK, but any alternative would be welcome.

질문됨 2년 전2911회 조회
1개 답변
1
수락된 답변

If you have a look at what the console is doing, it just deploys a single CloudFormation template into the account, creating one IAM role: CloudWatch-CrossAccountSharingRole. Repeating the same with CDK or CloudFormation is how you can automate. For AWS Organizations integration, have a look at CloudFormation StackSets which can auto-deploy the IAM role to new accounts as they are onboarded.

Here is the YAML for a typical CloudFormation stack that creates the needed role (same as what you'll see deployed in the AWS Console):

---
Parameters:
  MonitoringAccountIds:
    Description: Allows one or more monitoring accounts to view your data. Enter AWS account ids, 12 numeric digits in comma-separated list
    Type: CommaDelimitedList
    Default: 012345678901

Conditions:
  CWCrossAccountSupported: {"Fn::Equals": [{"Ref": "AWS::Partition"}, "aws"]}

Resources:
  CWCrossAccountSharingRole:
    Condition: "CWCrossAccountSupported"
    Type: AWS::IAM::Role
    Properties:
      RoleName: CloudWatch-CrossAccountSharingRole
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              AWS: !Split
                - ','
                - !Sub
                  - 'arn:${AWS::Partition}:iam::${inner}:root'
                  - inner: !Join
                      - ':root,arn:${AWS::Partition}:iam::'
                      - Ref: MonitoringAccountIds
            Action:
              - sts:AssumeRole
      Path: "/"
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/CloudWatchReadOnlyAccess
        - arn:aws:iam::aws:policy/CloudWatchAutomaticDashboardsAccess

AWS
답변함 2년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠