Skip to content

Commit ec995fe

Browse files
authored
Various fixes-access-analyzer-FW-Docs (#776)
* Update instance.ts prettier fix empty firewall license value * Create object-naming.md * fix-access-analyzer * Update known issues * Update README.md
1 parent 89c47b3 commit ec995fe

File tree

7 files changed

+82
-8
lines changed

7 files changed

+82
-8
lines changed

docs/installation/installation.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,8 @@ If deploying to an internal AWS employee account, to successfully install the so
268268
Current Issues:
269269

270270
- Occasionally CloudFormation fails to return a completion signal. After the credentials eventually fail (1 hr), the state machine fails. Simply rerun the state machine.
271+
- In v1.3.5 new deployments the State Machine fails in Phase 1 on a GuardDuty delegated admin issue which causes the stack to rollback and then causes an issue with Macie. In the Organization Management account, in every 'supported-region' defined in the config file, check for the existance of a completed Phase 1 stack. If the Phase 1 stack does NOT exist in the region, disable or ensure the Macie Delegated Admin account is removed from Macie for that region. If the Phase 1 stack exists, Macie Delegated Admin should be and remain enabled. Once validated for all regions, rerun the state machine.
272+
- In v1.3.6 the Macie issue from v1.3.5 has been resolved, but Guardduty continues to cause the state machine to fail. Simply rerun the state machine. We are working on a fix.
271273

272274
Issues in Older Releases:
273275

docs/installation/object-naming.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
### Accelerator Object Naming
2+
3+
- Resources will have the 'Name' tag assigned, where Name={name}{suffix}
4+
- No prefix or suffix will be applied to DNS records/zones (as that breaks them)
5+
- When \_ is not supported, a - will be used
6+
- Stacks/stacksets/functions and **_non-end user_** accessed objects deployed in all accounts will also start with the {AcceleratorPrefix} prefix (i.e. "**_PBMMAccel-_**" or "**_ASEA-_**")
7+
- The prefix does not apply to objects like VPC's, subnets, or TGW's which customers need to directly access. This is for objects deployed to build the customer accessible objects
8+
- This prefix will be protected by SCP's so customers don't break 'managed' features
9+
- Resources will have the tag 'Accelerator={AcceleratorName}' assigned when tags are supported
10+
- Stacks will have the tag 'AcceleratorName={AcceleratorName}' assigned, which will often (but not always) be inherited by objects created by the stack (due to TGW duplicate tag issue)
11+
12+
### Defaults
13+
14+
- the default {AcceleratorName} is 'PBMM' before v1.5.0 and 'ASEA' after v1.5.0
15+
- the default {AcceleratorPrefix} is 'PBMMAccel-' before v1.5.0 and 'ASEA-' after v1.5.0
16+
17+
### **_Suffix's_**
18+
19+
| suffix | object type |
20+
| --------- | ------------------------- |
21+
| \_vpc | VPC |
22+
| \_azN_net | Subnet |
23+
| \_azN_rt | RouteTable |
24+
| \_tgw | Transit Gateway |
25+
| \-key | KMS key |
26+
| \_pcx | Peering Connection |
27+
| \_sg | Security Group |
28+
| \_nacl | NACL |
29+
| \_alb | Application Load Balancer |
30+
| \_nlb | Network Load Balancer |
31+
| \_agw | Appliance Gateway |
32+
| \_vpce | VPC Endpoint |
33+
| \_AMI | AMI |
34+
| \_dhcp | DHCP option set |
35+
| \_snap | snapshot |
36+
| \_ebs | Block storage |
37+
| \_igw | internet gateway |
38+
| \_lgw | Local gateway |
39+
| \_nat | NAT gateway |
40+
| \_vpg | Virtual private gateway |
41+
| \_cgw | Customer gateway |
42+
| \_vpn | VPN Connection |
43+
| \_sm | Step Functions |
44+
| \_rule | CW Event Rule |
45+
| \_pl | CodeBuild |
46+
47+
### **_No Suffix_**
48+
49+
| suffix | object type |
50+
| ------ | ---------------------- |
51+
| None | Stacks |
52+
| None | CFN_Stack_Sets |
53+
| None | Lambda |
54+
| None | Cloud Trails |
55+
| None | CWL Groups |
56+
| None | Config Rules |
57+
| None | OU |
58+
| None | Service Control Policy |

reference-artifacts/Custom-Scripts/SEA-uninstall/README.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,20 +66,31 @@ The logic of the script is the following:
6666

6767
## Instructions
6868

69-
1. Paste AWS temporary credentials (or set AWS_PROFILE) into the command terminal that will execute the script and set AWS_DEFAULT_REGION.
69+
~~Paste AWS temporary credentials (or set AWS_PROFILE) into the command terminal that will execute the script and set AWS_DEFAULT_REGION.~~
7070

71-
2. Install the python3 required libaries (ex: `pip3 install -r requirements.txt`)
71+
1. Log into the AWS console as a Full Administrator to the Organization Management account.
72+
2. Start a CloudShell session.
73+
3. Copy the files from this folder and your `config.json` to the CloudShell session;
74+
- ensure the management account name is properly reflected in the config file, or the script will fail;
75+
- the script does not handle the use of the {HOME_REGION} variable (at this time), replace all occurances with the actual name of the home region (i.e. ca-central-1).
76+
4. Install the python3 required libaries (ex: `pip3 install -r requirements.txt`).
77+
5. Make the Python script executable (ex: `chmod +x aws-sea-cleanup.py`).
7278

73-
3. Before running this script you must manually delete AWS SSO.
79+
6. Before running this script you must manually delete AWS SSO.
7480

75-
4. Execute the script `python3 aws-sea-cleanup.py`.
81+
7. Execute the script `python3 aws-sea-cleanup.py`, a stacks.json should be generated.
7682

7783
**Note: ** if you used a different AcceleratorPrefix you can use `python3 aws-sea-cleanup.py --AcceleratorPrefix YOUR_ACCELERATOR_PREFIX`.
7884

79-
5. Manual steps (in the Organization Management account):
85+
7. Execute the script `python3 aws-sea-cleanup.py`, it should delete/cleanup your environment.
86+
87+
- if the script fails with an `Explicit Denied` error messages, manually remove all SCP's from all OU's and accounts from within AWS Organizations
88+
- this requires first disabling the CloudWatch Event Rule, or the policies will auto re-attach
89+
90+
8. Manual steps (in the Organization Management account):
8091
- In Secrets Manager, set the Secret `accelerator/config/last-successful-commit` to an empty string;
8192
- In DynamoDB, delete the 3 `PBMMAccel-*` tables;
82-
- In Systems Manager Parameter Store, delete the `/accelerator/version` parameter;
93+
- In Systems Manager Parameter Store, delete the `/accelerator/version` and `/accelerator/first-version` parameters;
8394
- In CodeCommit, delete the repository `PBMMAccel-Config-Repo`.
8495

8596
## Considerations
@@ -88,7 +99,7 @@ The logic of the script is the following:
8899

89100
a. Certificates in ACM
90101

91-
b. The initial CDK bootstrap CloudFormation Stack (`CDKToolkit`)
102+
b. The initial CDK bootstrap CloudFormation Stack (`PBMMAccel-CDKToolkit`) and `ASEA-CloudFormationStackSetExecutionRole` stack
92103

93104
c. CDK S3 buckets (`cdktoolkit-stagingbucket-*`)
94105

reference-artifacts/SCPs/ASEA-Guardrails-Sandbox.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"Effect": "Deny",
4040
"NotAction": [
4141
"a4b:*",
42+
"access-analyzer:ValidatePolicy",
4243
"aws-marketplace-management:*",
4344
"aws-marketplace:*",
4445
"aws-portal:*",

reference-artifacts/SCPs/ASEA-Guardrails-Sensitive.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
"NotAction": [
100100
"a4b:*",
101101
"acm:*",
102+
"access-analyzer:ValidatePolicy",
102103
"aws-marketplace-management:*",
103104
"aws-marketplace:*",
104105
"aws-portal:*",

reference-artifacts/SCPs/ASEA-Guardrails-Unclass.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
"Effect": "Deny",
7979
"NotAction": [
8080
"a4b:*",
81+
"access-analyzer:ValidatePolicy",
8182
"aws-marketplace-management:*",
8283
"aws-marketplace:*",
8384
"aws-portal:*",

src/lib/cdk-constructs/src/firewall/instance.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ export class FirewallInstance extends cdk.Construct {
106106
bucket: configuration.bucket.bucketName,
107107
region: configuration.bucketRegion,
108108
config: `/${configuration.configPath}`,
109-
license: `/${props.licensePath}`,
109+
license: props.licensePath ? `/${props.licensePath}` : '',
110110
},
111111
null,
112112
2,

0 commit comments

Comments
 (0)