Skip to content

Commit e4d6a72

Browse files
authored
(doc)install doc improvements (aws-samples#527)
* (doc)tweaks - minor improveprovements/clarifications - document Ultralite config issues * reduce required Github permissions
1 parent b77ff3c commit e4d6a72

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

docs/installation/installation.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ Before installing, you must first:
124124
- Navigate to AWS Organizations, click `Create Organization`, `Create Organization`
125125
4. Enable Service Control Policies
126126
- In Organizations, select `Policies`, `Service control policies`, `Enable service control policies`
127-
5. In AWS Organizations, Settings, ["Send Verification Request"](https://aws.amazon.com/blogs/security/aws-organizations-now-requires-email-address-verification/) the Organization Management (root) account email address (this is a technical process)
127+
5. Verify the Organization Management (root) account email address
128+
- In AWS Organizations, Settings, ["Send Verification Request"](https://aws.amazon.com/blogs/security/aws-organizations-now-requires-email-address-verification/)
128129
6. Ensure `alz-baseline=false` is set in the configuration file
129130
7. Create a new KMS key to encrypt your source configuration bucket (you can use an existing key)
130131

@@ -152,7 +153,7 @@ Before installing, you must first:
152153

153154
1. You require a GitHub access token to access the code repository
154155
2. Instructions on how to create a personal access token are located [here](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token).
155-
3. Select the scope `repo: Full control over private repositories`.
156+
3. Select the scope `public_repo` underneath the section `repo: Full control over private repositories`.
156157
4. Store the personal access token in Secrets Manager as plain text. Name the secret `accelerator/github-token` (case sensitive).
157158
- Via AWS console
158159
- Store a new secret, and select `Other type of secrets`, `Plaintext`
@@ -197,7 +198,7 @@ If deploying to an internal AWS account, to successfully install the entire solu
197198
4. When updating the budget notification email addresses within the example, a single email address for all is sufficient;
198199
5. For a test deployment, the remainder of the values can be used as-is.
199200

200-
3. A successful deployment requires VPC access to 6 AWS endpoints, you cannot remove both the perimeter firewalls (all public endpoints) and the 7 required central VPC endpoints from the config file (ec2, ec2messages, ssm, ssmmessages, cloudformation, secretsmanager, kms).
201+
3. A successful deployment requires VPC access to 7 AWS endpoints, you cannot remove both the perimeter firewalls (all public endpoints) and the 7 required central VPC endpoints from the config file (ec2, ec2messages, ssm, ssmmessages, cloudformation, secretsmanager, kms).
201202
4. When deploying to regions other than ca-central-1, you need to:
202203
1. Replace all occurences of ca-central-1 in the config file with your home region
203204
2. Update the firewall and firewall manager AMI id's to reflect your home regions regional AMI id's (see 1.1.3, item 10) Make sure you select the right version, v6.2.3 is recommended at this time.
@@ -208,7 +209,7 @@ If deploying to an internal AWS account, to successfully install the entire solu
208209
- in the Unclass SCP, update requested regions with any additional regions you wish accounts in the Unclass OU to leverage (or remove all regions except your home region and ca-central-1)
209210
- after step 4 below, place the two files in a folder named `scp` in your accelerator bucket
210211
5. Create an S3 bucket in your Organization Management account with versioning enabled `your-bucket-name`
211-
- you must supply this bucket name in the CFN parameters _and_ in the config file
212+
- you must supply this bucket name in the CFN parameters _and_ in the config file (`global-options\central-bucket`)
212213
- the bucket name _must_ be the same in both spots
213214
- the bucket should be `S3-KMS` encrypted using the `PBMMAccel-Source-Bucket-Key` created above
214215
6. Place your customized config file, named `config.json` (or `config.yaml`), in your new bucket
@@ -238,16 +239,17 @@ If deploying to an internal AWS account, to successfully install the entire solu
238239
8. Add an `Email` address to be used for State Machine Status notification
239240
9. The `GithubBranch` should point to the release you selected
240241
- if upgrading, change it to point to the desired release
241-
- the latest stable branch is currently `release/v1.2.2`, case sensitive
242+
- the latest stable branch is currently `release/v1.2.3`, case sensitive
242243
10. Apply a tag on the stack, Key=`Accelerator`, Value=`PBMM` (case sensitive).
243244
11. **ENABLE STACK TERMINATION PROTECTION** under `Stack creation options`
244245
12. The stack typically takes under 5 minutes to deploy.
245246
13. Once deployed, you should see a CodePipeline project named `PBMMAccel-InstallerPipeline` in your account. This pipeline connects to Github, pulls the code from the prescribed branch and deploys the Accelerator state machine.
246-
- if the pipeline fails connecting to GitHub, fix the issue with your GitHub secret created in section 2.3.2, then delete the Installer CloudFormation stack you just deployed, and restart at step 3 of this section.
247+
- if the CloudFormation fails to deploy with an `Internal Failure`, or, if the pipeline fails connecting to GitHub, then:
248+
- fix the issue with your GitHub secret created in section 2.3.2, then delete the Installer CloudFormation stack you just deployed, and restart at step 3 of this section.
247249
14. For new stack deployments, when the stack deployment completes, the Accelerator state machine will automatically execute (in Code Pipeline). When upgrading you must manually `Release Change` to start the pipeline.
248250
15. **While the pipeline is running, review the list of [Known Installation Issues]([https://github.com/aws-samples/aws-secure-environment-accelerator/blob/master/docs/installation/index.md#Known-Installation-Issues) near the bottom on this document**
249-
16. Once the pipeline completes (typically 15-20 minutes), the main state machine, named `PBMMAccel-MainStateMachine_sm`, will start in Step Functions
250-
17. The state machine takes several hours to execute on an initial installation. Timing for subsequent executions depends entirely on what resources are changed in the configuration file, but can take as little as 20 minutes.
251+
16. Once the pipeline completes (typically 15 - 20 minutes), the main state machine, named `PBMMAccel-MainStateMachine_sm`, will start in Step Functions
252+
17. The state machine takes approximately 1.5 hours to execute on an initial installation using the default PBMM configuration. Timing for subsequent executions depends entirely on what resources are changed in the configuration file, but can take as little as 20 minutes.
251253
18. The configuration file will be automatically moved into Code Commit (and deleted from S3). From this point forward, you must update your configuration file in CodeCommit.
252254
19. You will receive an email from the State Machine SNS topic and the 3 SNS alerting topics. Please confirm all four (4) email subscriptions to enable receipt of state machine status and security alert messages. Until completed, you will not receive any email messages (must be completed within 7-days).
253255
20. After the perimeter account is created in AWS Organizations, but before the Accelerator reaches Stage 2:
@@ -526,6 +528,10 @@ The Accelerator will not create/update/delete new AD users or groups, nor will i
526528
- in versions 1.2.0 through 1.2.2 there is a issue adding local endpoints when a central endpoint already exists for the vpc
527529
- If you update the firewall names, be sure to update the routes and alb's which point to them. Firewall licensing occurs through the management port, which requires a VPC route back to the firewall to get internet access and validate the firewall license.
528530
- Initial MAD deployments are only supported in 2 AZ subnets (as of v1.2.3). Deploy the Accelerator with only 2 MAD subnets and add additional AZ's on subsequent state machine executions. A fix is planned.
531+
- In v1.2.3 and below (fixes planned for v1.2.4):
532+
- if the same IAM policy file is used in more than one spot in the config, we require one account to reference the policy twice or you will get a `Unexpected token u in JSON at position 0,` error in Phase 1
533+
- the `zones\resolver-vpc` is a mandatory parameter, you must deploy a small dummy vpc w/no subnets, routes, etc. in the account of your choosing for this validation to succeed
534+
- security hub deploys security standards and disables controls, no automated mechanism exists to disable security standard or re-enable individual controls
529535

530536
## 5.2. Considerations: Importing existing AWS Accounts / Deploying Into Existing AWS Organizations
531537

0 commit comments

Comments
 (0)