You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+29-2Lines changed: 29 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,11 +8,38 @@
8
8
9
9
# Appvia Support Roles
10
10
11
-
This repository provides a collection of sub modules used to provision the appropriate support roles and permissions with accounts. Please take a look at the examples folder for samples of how to implement.
11
+
This repository provides a collection of Terraform sub-modules used to provision the appropriate support roles and permissions within your AWS accounts. Each module is independently deployable and scoped to a specific support function.
12
+
13
+
## Modules
14
+
15
+
### [LZA Support](modules/lza/README.md)
16
+
17
+
Deploys into your **AWS management account** (where Control Tower and the Landing Zone Accelerator pipeline run). It provisions a cross-account IAM role that Appvia's support team can assume to monitor and troubleshoot the LZA deployment.
18
+
19
+
Key resources:
20
+
-`AppviaLZASupportRole` — cross-account role with a trust policy scoped to Appvia's SSO role
21
+
-`AppviaLZASupportPolicy` — grants view and trigger access to CodePipeline, CloudFormation, CodeBuild, and CodeCommit
22
+
-`AppviaCostAnalysisSupportPolicy`*(optional)* — grants read access to Cost Explorer, Billing, and Cost Optimization Hub; enabled via `enable_cost_analysis_support = true`
Deploys into your **AWS Cost Analysis account** (where CUDOS dashboards and CUR data are hosted). It provisions a cross-account IAM role that Appvia's team can assume to support the CUDOS platform and cost reporting tooling.
31
+
32
+
Key resources:
33
+
-`AppviaCostAnalysisSupportRole` — cross-account role with a trust policy scoped to Appvia's SSO role
34
+
-`AppviaCudosSupportPolicy` — grants access to QuickSight, Athena, Glue, S3 (CID/CUDOS buckets), Step Functions, Lambda, and CloudWatch Logs
This example demonstrates how to deploy the AWS Cost Analysis support resources using Terraform in your AWS Cost Analysis Account.
3
+
This example demonstrates how to deploy the AWS Cost Analysis support resources using Terraform in your **AWS Cost Analysis account** (where CUDOS dashboards and CUR data are hosted).
4
+
5
+
The module provisions the following:
6
+
7
+
-**`AppviaCostAnalysisSupportRole`** — a cross-account IAM role that Appvia's team can assume (via a trust policy scoped to Appvia's SSO role in account `148761643183`) to support the CUDOS platform and cost reporting tooling.
8
+
-**`AppviaCudosSupportPolicy`** — a customer-managed IAM policy granting access to:
9
+
-**QuickSight** — view and manage analyses, dashboards, datasets, and data sources
10
+
-**Athena** — full access for running CID/CUDOS queries
11
+
-**Glue** — read access and the ability to update tables used by the dashboards
12
+
-**S3** — list and read access to `cid-*`, `cudos-dashboard-*`, and `aws-athena-query-results-cid-*` buckets, plus write access for Athena query results
13
+
-**Step Functions** — view and trigger executions for CUDOS data refresh workflows
14
+
-**Lambda** — read access to functions used by CID/CUDOS
15
+
-**CloudWatch Logs** — read access to `/aws/lambda/CID-DC*` log groups and CloudWatch alarms
4
16
5
17
## Deployment
6
18
7
-
1. Copy the `terraform.tfvars.example` file to `terraform.tfvars` and update with your values.
19
+
1. Copy the `terraform.tfvars.sample` file to `terraform.tfvars` and update with your values.
8
20
2. Run `terraform init -upgrade`
9
21
3. Run `terraform plan -out=tfplan`
10
22
4. Run `terraform apply tfplan`
@@ -18,27 +30,10 @@ The `terraform-docs` utility is used to generate this README. Follow the below s
18
30
3. Run `terraform-docs markdown table --output-file ${PWD}/README.md --output-mode inject .`
| Name | Description | Type | Default | Required |
@@ -51,4 +46,3 @@ No resources.
51
46
|------|-------------|
52
47
| <aname="output_appvia_cost_analysis_support_role_arn"></a> [appvia\_cost\_analysis\_support\_role\_arn](#output\_appvia\_cost\_analysis\_support\_role\_arn)| The name of the Cost Analysis Support IAM role to be assumed by the Appvia support team |
Copy file name to clipboardExpand all lines: examples/lza-support/README.md
+10-20Lines changed: 10 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,17 @@
2
2
3
3
This example demonstrates how to deploy the AWS Landing Zone Accelerator (LZA) support resources using Terraform in your AWS Management Account where Control Tower is configured.
4
4
5
+
The module provisions the following in your management account:
6
+
7
+
-**`AppviaLZASupportRole`** — an IAM role that Appvia's support team can assume (via a cross-account trust policy) to manage and troubleshoot the LZA pipeline. It grants read access to CodePipeline, CloudFormation, CodeBuild, and CodeCommit, with the ability to trigger the `AWSAccelerator-Pipeline`, and limited write access to the `aws-accelerator-config` CodeCommit repository.
8
+
-**`AppviaLZASupportPolicy`** — a customer-managed IAM policy attached to the support role containing the above permissions.
9
+
-**`AppviaCostAnalysisSupportPolicy`***(optional)* — an additional policy attached to the support role granting read access to Cost Explorer, AWS Billing, Cost Optimization Hub, and Carbon Footprint data. Enabled via `enable_cost_analysis_support = true`.
10
+
11
+
The trust policy on the support role allows assumption only from a specific Appvia-managed IAM role in the Appvia AWS account (`755035180280` by default), scoped to an SSO role ARN.
12
+
5
13
## Deployment
6
14
7
-
1. Copy the `terraform.tfvars.example` file to `terraform.tfvars` and update with your values.
15
+
1. Copy the `terraform.tfvars.sample` file to `terraform.tfvars` and update with your values.
8
16
2. Run `terraform init -upgrade`
9
17
3. Run `terraform plan -out=tfplan`
10
18
4. Run `terraform apply tfplan`
@@ -18,39 +26,21 @@ The `terraform-docs` utility is used to generate this README. Follow the below s
18
26
3. Run `terraform-docs markdown table --output-file ${PWD}/README.md --output-mode inject .`
| <aname="input_enable_cost_analysis_support"></a> [enable\_cost\_analysis\_support](#input\_enable\_cost\_analysis\_support)| Enable the creation of the finops role in the customer account |`bool`|`false`| no |
37
+
| <aname="input_enable_cost_analysis_support"></a> [enable\_cost\_analysis\_support](#input\_enable\_cost\_analysis\_support)| Enable the creation of the finops role in the customer account |`bool`|`true`| no |
47
38
| <aname="input_tags"></a> [tags](#input\_tags)| A map of tags to add to the resources |`map(string)`|`{}`| no |
48
39
49
40
## Outputs
50
41
51
42
| Name | Description |
52
43
|------|-------------|
53
-
| <aname="output_appvia_cost_analysis_support_role_arn"></a> [appvia\_cost\_analysis\_support\_role\_arn](#output\_appvia\_cost\_analysis\_support\_role\_arn)| The ARN of the IAM role to be assumed by the support team for cost analysis |
54
44
| <aname="output_appvia_landing_zone_support_role_arn"></a> [appvia\_landing\_zone\_support\_role\_arn](#output\_appvia\_landing\_zone\_support\_role\_arn)| The name of the Landing Zone Support IAM role to be assumed by the Appvia support team |
0 commit comments