Skip to content

Commit 252ac6e

Browse files
authored
Doc-Config-File-Tweaks (#415)
- tweak installation instructions for v1.2.2 - tweak features summary for v1.2.1 and v1.2.2 - tweak default config files for v1.2.1 and v1.2.2 - add central logging bucket documentation -
1 parent 816a0b9 commit 252ac6e

File tree

8 files changed

+168
-62
lines changed

8 files changed

+168
-62
lines changed

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ Specifically the accelerator deploys and manages the following functionality, bo
4646
- Zone sharing and VPC associations
4747
- Managed Active Directory sharing, including R53 DNS resolver rule creation/sharing
4848
- Automated TGW inter-region peering
49+
- Populate Parameter Store with all `user` objects to be used by customers' IaC
4950

5051
### Identity
5152

@@ -86,18 +87,19 @@ Specifically the accelerator deploys and manages the following functionality, bo
8687
### Centralized Logging and Alerting
8788

8889
- Deploys an rsyslog auto-scaling cluster behind a NLB, all syslogs forwarded to CloudWatch Logs
90+
- Centralized access to "Cloud Security Service" Consoles from designated AWS account
8991
- Centralizes logging to a single centralized S3 bucket (enables, configures and centralizes)
9092
- VPC Flow logs w/Enhanced metadata fields (also sent to CWL)
9193
- Organizational Cost and Usage Reports
9294
- CloudTrail Logs including S3 Data Plane Logs (also sent to CWL)
9395
- All CloudWatch Logs (includes rsyslog logs)
9496
- Config History and Snapshots
95-
- Route 53 Public Zone Logs
97+
- Route 53 Public Zone Logs (also sent to CWL)
9698
- GuardDuty Findings
9799
- Macie Discovery results
98100
- ALB Logs
99-
- SSM Session Logs
100-
- Centralized access to "Cloud Security Service" Consoles from designated AWS account
101+
- SSM Session Logs (also sent to CWL)
102+
- Resolver Query Logs (also sent to CWL)
101103

102104
## Relationship with AWS Landing Zone Solution (ALZ)
103105

@@ -136,6 +138,7 @@ This summarizes the installation process, the full installation document can be
136138

137139
- Link to [releases](https://github.com/aws-samples/aws-secure-environment-accelerator/releases)
138140
- [Link](./docs/installation/customization-index.md) to sample config file and customization details
141+
- [Link](./docs/architectures/pbmm/log-file-locations.md) to AWS SEA Central Logging Bucket Structures
139142

140143
### - [Accelerator Operations/Troubleshooting Guide](./docs/operations/operations-troubleshooting-guide.md)
141144

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# AWS SEA Central Logging Structures
2+
3+
## Accelerator Central Logging Buckets:
4+
5+
---
6+
7+
| Bucket Type | Bucket Name | Purpose |
8+
| -------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
9+
| AES Encrypted Bucket | pbmmaccel-logarchive-phase0-aescacentral1-1py9vr4cdwuxu | ALB Logs - ALB's do not support logging to a KMS bucket |
10+
| KMS Encrypted Bucket | pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo | All other AWS logs |
11+
12+
---
13+
14+
### Notes:
15+
16+
- Every customer has two logging buckets
17+
- Customers could use any account name for their central logging account
18+
- Bucket name format is: {Accel-Prefix}-{Account-Name}-{Accel-Phase}-xxx{Region}-{Random}
19+
- {Accel-Prefix} should always be 'pbmmaccel' for Canada
20+
- {Accel-Phase} should always be 'phase0'
21+
- {region} should always be 'cacentral1' for Canada
22+
- {account} is likely to be 'log-archive'
23+
- xxx is either "aes" or "" (nothing)
24+
25+
## Accelerator Bucket Folders:
26+
27+
---
28+
29+
| Log Type | Folder Path | Example |
30+
| ---------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
31+
| ELB (in AES bucket) | {account#}/elb-{elbname}/AWSLogs/{account#}/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-aescacentral1-1py9vr4ucwuxu/123456789012/elb-Core-mydevacct1-alb/AWSLogs/123456789012/ELBAccessLogTestFile </li></ul><ul><li>s3://pbmmaccel-logarchive-phase0-aescacentral1-1py9vr4ucwuxu/123456789013/elb-Public-Prod-perimeter-alb/AWSLogs/123456789013/ELBAccessLogTestFile </li></ul> |
32+
| VPC Flow Logs | {account#}/{vpc-name}/AWSLogs/{account#}/vpcflowlogs/{region}/{year}/{month}/{day}/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/123456789012/Test-East-lcl/AWSLogs/123456789012/vpcflowlogs/us-east-1/2020/08/31/123456789012_vpcflowlogs_us-east-1_fl-04af3543c74402594_20200831T1720Z_73d3922a.log.gz </li></ul> |
33+
| Macie Reports | {account#}/macietestobject | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/123456789014/macie-test-object </li></ul> |
34+
| Cost and Usage Reports | {account#}/cur/Cost-and-Usage-Report/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/123456789015/cur/Cost-and-Usage-Report/\* </li></ul> |
35+
| Config History | AWSLogs/{account#}/Config/{region}/{year}/{month}/{day}/ConfigHistory/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/AWSLogs/123456789016/Config/ca-central-1/2020/8/31/ConfigHistory/123456789016_Config_ca-central-1_ConfigHistory_AWS::CloudFormation::Stack_20200831T011226Z_20200831T025845Z_1.json.gz </li></ul> |
36+
| Config Snapshot | AWSLogs/{account#}/Config/{region}/{year}/{month}/{day}/ConfigSnapshot/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/AWSLogs/123456789016/Config/ca-central-1/2020/8/30/ConfigSnapshot/123456789016_Config_ca-central-1_ConfigSnapshot_20200830T193058Z_5d173149-e6d0-41e4-af7f-031ff736f8c8.json.gz </li></ul> |
37+
| GuardDuty | AWSLogs/{account#}/GuardDuty/{region}/{year}/{month}/{day}/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/AWSLogs/123456789014/GuardDuty/ca-central-1/2020/09/02/294c9171-4867-3774-9756-f6f6c209616f.jsonl.gz </li></ul> |
38+
| CloudWatch Logs | CloudWatchLogs/{year}/{month}/{day}/{hour}/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/CloudWatchLogs/2020/08/30/00/PBMMAccel-Kinesis-Delivery-Stream-1-2020-08-30-00-53-33-35aeea4c-582a-444b-8afa-848567924094 </li></ul> |
39+
| CloudTrail Digest | {org-id}/AWSLogs/{org-id}/{account#}/CloudTrail-Digest/{region}/{year}/{month}/{day}/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/o-fxozgwu6rc/AWSLogs/o-fxozgwu6rc/123456789016/CloudTrail-Digest/ca-central-1/2020/08/30/123456789016_CloudTrail-Digest_ca-central-1_PBMMAccel-Org-Trail_ca-central-1_20200830T190938Z.json.gz </li></ul> |
40+
| CloudTrail Insights | {org-id}/AWSLogs/{org-id}/{account#}/CloudTrail-Insights/{region}/{year}/{month}/{day}/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/o-fxozgwu6rc/AWSLogs/o-fxozgwu6rc/123456789015/CloudTrail-Insight/ca-central-1/2020/09/23/123456789015_CloudTrail-Insight_ca-central-1_20200923T0516Z_KL5e9VCV2SS7IqzB.json.gz </li></ul> |
41+
| CloudTrail | {org-id}/AWSLogs/{org-id}/{account#}/CloudTrail/{region}/{year}/{month}/{day}/\* | <ul><li> s3://pbmmaccel-logarchive-phase0-cacentral1-1tr23emhncdzo/o-fxozgwu6rc/AWSLogs/o-fxozgwu6rc/123456789016/CloudTrail/ca-central-1/2020/08/30/123456789016_CloudTrail_ca-central-1_20200830T0115Z_3YQJxwt5qUaOzMtL.json.gz </li></ul> |
42+
43+
---
44+
45+
### Notes:
46+
47+
- Account number is sometimes duplicated in path because logs replicated from another account always need to start with the source account number
48+
- Macie reports will only appear in the {account#} for the central security account, and only if a customer schedules PII discovery reports
49+
- All CloudWatch Logs from all accounts are mixed in the same folder, the embedded log format contains the source account information as documented here: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/ValidateLogEventFlow.html
50+
- With the exception of CloudWatch Logs, all logs are in the original format provided by the log source/service.
51+
52+
---
53+
54+
[...Return to Accelerator Table of Contents](../../index.md)
55+

docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
- Link to [releases](https://github.com/aws-samples/aws-secure-environment-accelerator/releases)
1010
- [Link](./installation/customization-index.md) to sample config file and customization details
11+
- [Link](./architectures/pbmm/log-file-locations.md) to AWS SEA Central Logging Bucket Structures
1112

1213
### - [Accelerator Operations/Troubleshooting Guide](./operations/operations-troubleshooting-guide.md)
1314

docs/installation/installation.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ These installation instructions assume the prescribed architecture is being depl
3030
- [2.0.8. Can I upgrade directly to the latest release, or must I perform upgrades sequentially?](#208-can-i-upgrade-directly-to-the-latest-release-or-must-i-perform-upgrades-sequentially)
3131
- [2.0.9. Can I update the config file while the State Machine is running? When will those changes be applied?](#209-can-i-update-the-config-file-while-the-state-machine-is-running-when-will-those-changes-be-applied)
3232
- [2.0.10. How do I update some of the supplied sample configuration items found in reference-artifact, like SCPs and IAM policies?](#2010-how-do-i-update-some-of-the-supplied-sample-configuration-items-found-in-reference-artifact-like-scps-and-iam-policies)
33+
- [2.0.11. I wish to be in compliance with the 12 TBS Guardrails, what don't you cover with the provided sample architecture?](#2011-i-wish-to-be-in-compliance-with-the-12-tbs-guardrails-what-dont-you-cover-with-the-provided-sample-architecture)
3334
- [3. Notes](#3-notes)
3435
- [3.1. Upgrades](#31-upgrades)
3536
- [3.1.1. Summary of Upgrade Steps (all versions)](#311-summary-of-upgrade-steps-all-versions)
@@ -367,15 +368,26 @@ To overide items like SCP's or IAM policies, customers simply need to provide th
367368

368369
The Accelerator was designed to allow customers complete customization capabilities without any requirement to update code or fork the GitHub repo. Additionally, rather than forcing customers to provide a multitude of config files for a standard or prescriptive installation, we provide and auto-deploy with Accelerator versions of most required configuration items from the reference-artifacts folder of the repo. If a customer provides the required configuration file in their Acclerator S3 input bucket, we will use the customer supplied version of the configuration file rather than the Accelerator version. At any time, either before initial installation, or in future, a customer can place updated SCPs, policies, or other supported file types into their input bucket and we will use those instead of Accelerator supplied versions. If a customer wishes to revert to the sample configuration, simply removing the specific files from their S3 bucket and rerunning the accelerator will revert to the repo version of the removed files. Customer only need to provide the specific files they wish to overide, not all files.
369370

371+
### 2.0.11. I wish to be in compliance with the 12 TBS Guardrails, what don't you cover with the provided sample architecture?
372+
373+
The AWS SEA allows for a lot of flexibility in deployed architectures. If used, the provided PBMM sample architecture was designed to deliver on the technical portion of _all_ 12 of the GC guardrails, when automation was possible.
374+
375+
What don't we cover? Assigning MFA to users is a manual process. Specifically you need to procure Yubikeys for your root/break glass users, and enable a suitable form of MFA for _all_ other users (i.e. virtual, email, other). The guardrails also include some organizational processes (i.e. break glass procedures, or signing an MOU with CCCS) which customers will need to work through independently.
376+
377+
While AWS is providing the tools to help customer be compliant with the 12 PBMM guardrails (which were developed in collaboration with the GC) - it's up to each customers ITSec organization to assess and determine if the deployed controls actually meet their security requirements.
378+
379+
Finally, while we started with a goal of delivering on the 12 guardrails, we believe we have extended well beyond those security controls, to further help customers move towards meeting the full PBMM technical control profile (official documentation is weak in this area at this time).
380+
370381
# 3. Notes
371382

372383
## 3.1. Upgrades
373384

374385
- Always compare your configuration file with the config file from the latest release to validate new or changed parameters or changes in parameter types / formats.
375-
- Upgrades to v1.2.0 and above from v1.1.9 and below require setting `account-warming-required` to `false`, (Perimeter and Ops accounts) or the rsyslog and firewalls will be removed and then re-installed on the subsequent state machine execution
376-
- Upgrades from v1.1.7 and below require the one-time removal of incorrectly created and associated resolver rules for private DNS domains. While we created a manual [script](../reference-artifacts/Custom-Scripts/resolver-rule-cleanup.sh) to remove the incorrect associations, it is quicker to manually delete the incorrect associations using the console (`shared-network` account, Route 53, Resolvers).
377-
- Upgrades from versions v1.1.6 and below require updating the `GithubRepository` in the CFN stack, as we renamed the GitHub repo with release v1.1.7 to `aws-secure-environment-accelerator`.
378-
- Upgrades to v1.1.5 and above from v1.1.4 and below:
386+
- Upgrades to `v1.2.2 and above` from v1.2.1 and below - if more than 5 VPC endpoints are deployed in any account (i.e. endpoint vpc in the shared network account), before upgrade, they must be removed from the config file and state machine executed to de-provision them. Endpoints can be re-deployed during the upgrade state machine execution. Skipping this step will result in an upgrade failure due to throttling issues.
387+
- Upgrades to `v1.2.0 and above` from v1.1.9 and below require setting `account-warming-required` to `false`, (Perimeter and Ops accounts) or the rsyslog and firewalls will be removed and then re-installed on the subsequent state machine execution
388+
- Upgrades from `v1.1.7 and below` require the one-time removal of incorrectly created and associated resolver rules for private DNS domains. While we created a manual [script](../reference-artifacts/Custom-Scripts/resolver-rule-cleanup.sh) to remove the incorrect associations, it is quicker to manually delete the incorrect associations using the console (`shared-network` account, Route 53, Resolvers).
389+
- Upgrades from `v1.1.6 and below` require updating the `GithubRepository` in the CFN stack, as we renamed the GitHub repo with release v1.1.7 to `aws-secure-environment-accelerator`.
390+
- Upgrades to `v1.1.5 and above` from v1.1.4 and below:
379391
- requires providing the "overrideComparison": true flag to the State Machine, as we are changing file formats and cannot compare to previous config file versions. Use extra caution, as we are not blocking breaking changes to the configuration file when this parameter is provided. (As the State Machine self-executes without the above parameter, it will fail on first run. Rerun the State Machine providing the parameter)
380392
- High probability of a State Machine failure due to a 1hr step timeout limitation. No easy fix available. Simply rerun the State Machine. We are reversing something from the v1.1.4 release which is extremely time consuming.
381393

@@ -389,7 +401,7 @@ The Accelerator was designed to allow customers complete customization capabilit
389401
- Redeploy the Installer CFN stack using the latest template (provide bucket name and notification email address)
390402
- The pipeline will automatically run and trigger the upgraded state machine
391403
- If you are using a pre-existing GitHub token:
392-
- Update the Installer CFN stack, providing the `GithubBranch` associated with the release (eg. `release/v1.2.0`)
404+
- Update the Installer CFN stack using the latest template, providing the `GithubBranch` associated with the release (eg. `release/v1.2.2`)
393405
- Go To Code Pipeline and Release the PBMMAccel-InstallerPipeline
394406

395407
## 3.2. Configuration File Hints and Tips

0 commit comments

Comments
 (0)