Skip to content

Commit d0b1a34

Browse files
CCM-8197: Cross Account Observability
1 parent c33efac commit d0b1a34

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
resource "aws_oam_link" "cross_account_obs" {
2+
label_template = "$AccountName"
3+
resource_types = [
4+
"AWS::CloudWatch::Metric",
5+
"AWS::CloudWatch::Log"
6+
]
7+
sink_identifier = "arn:aws:oam:eu-west-2:${var.observability_account_id}:sink/cef2cdf0-a47d-4269-bfe3-887188f60cb4" # pre.sh to avoid having to provide it?
8+
tags = var.default_tags
9+
}
10+
11+
data "aws_iam_policy" "cloudwatch_read_only" {
12+
name = "CloudWatchReadOnlyAccess"
13+
}
14+
15+
data "aws_iam_policy" "cloudwatch_automatic_dashboards" {
16+
name = "CloudWatchAutomaticDashboardsAccess"
17+
}
18+
19+
data "aws_iam_policy" "aws_xray_read_only" {
20+
name = "AWSXrayReadOnlyAccess"
21+
}
22+
23+
data "aws_iam_policy_document" "cross_account_obs_assume_role_policy" {
24+
statement {
25+
effect = "Allow"
26+
principals {
27+
type = "AWS"
28+
identifiers = [var.observability_account_id]
29+
}
30+
actions = ["sts:AssumeRole"]
31+
}
32+
}
33+
34+
resource "aws_iam_role" "cross_account_obs_role" {
35+
name = "CloudWatch-CrossAccountSharingRole"
36+
assume_role_policy = data.aws_iam_policy_document.cross_account_obs_assume_role_policy.json
37+
}
38+
39+
resource "aws_iam_role_policy_attachment" "cloudwatch_read_only_attachment" {
40+
policy_arn = data.aws_iam_policy.cloudwatch_read_only.arn
41+
role = aws_iam_role.cross_account_obs_role.name
42+
}
43+
44+
resource "aws_iam_role_policy_attachment" "cloudwatch_automatic_dashboards_attachment" {
45+
policy_arn = data.aws_iam_policy.cloudwatch_automatic_dashboards.arn
46+
role = aws_iam_role.cross_account_obs_role.name
47+
}
48+
49+
resource "aws_iam_role_policy_attachment" "aws_xray_read_only_attachment" {
50+
policy_arn = data.aws_iam_policy.aws_xray_read_only.arn
51+
role = aws_iam_role.cross_account_obs_role.name
52+
}

0 commit comments

Comments
 (0)