How to manage Account Settings
Manage and update AWS account settings and budgets by modifying and reapplying the account-settings component.
Problem
We want to update Account Settings for a given AWS Account
Solution
account-settings
componentAccount Settings are managed by the account-settings
component and deployed for each account. Update the
account-settings
catalog and reapply the component.
For example to add password requirements, add the following to stacks/catalog/account-settings.yaml
:
components:
terraform:
account-settings:
backend:
s3:
role_arn: null
vars:
enabled: true
minimum_password_length: 20
maximum_password_age: 120
Then reapply the account-settings
component for the given account. example
tenant and foo
stage are used in this
example
atmos terraform apply account-settings -s example-gbl-foo
How to set Budgets
Budgets are also managed with the account-settings
component. In order to create budgets, enable budgets in the
account-settings
component
Budgets were added to the account-settings
component in early 2022. Make sure the component contains budgets.tf
. If
not, pull the latest from
the upstream modules.
components:
terraform:
account-settings:
vars:
enabled: true
budgets_enabled: true
budgets_notifications_enabled: true
budgets_slack_webhook_url: https://url.slack.com/abcd/1234
budgets_slack_username: AWS Budgets
budgets_slack_channel: aws-budgets-notifications
budgets:
- name: 1000-total-monthly
budget_type: COST
limit_amount: "1000"
limit_unit: USD
time_unit: MONTHLY
- name: s3-3GB-limit-monthly
budget_type: USAGE
limit_amount: "3"
limit_unit: GB
time_unit: MONTHLY
Then reapply the account-settings
component for all accounts. This example only applies to one account. Repeat this
step for all accounts
atmos terraform apply account-settings -s example-gbl-foo