Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
398 commits
Select commit Hold shift + click to select a range
f87dda0
working on sns fanout (for config 1st)
cyphronix Nov 4, 2024
4a410bd
handle getting params for sns
cyphronix Nov 5, 2024
2a660c7
updating get accts and regions; updating delete operation
cyphronix Nov 5, 2024
e4e86ed
working to download rule zip locally
cyphronix Nov 5, 2024
7f00ce6
more updates for rule zip
cyphronix Nov 5, 2024
4f27d3c
updates for s3 download
cyphronix Nov 5, 2024
ef2a0ad
add tracing for s3 downloads
cyphronix Nov 5, 2024
7e546b4
updating s3 key
cyphronix Nov 5, 2024
c4e6192
updating local path
cyphronix Nov 5, 2024
1643e63
moving metrics/alarms to sns fanout
cyphronix Nov 5, 2024
d5e03a0
working on metric/filters deployed via sns config
cyphronix Nov 6, 2024
5fec504
still need rule_accouts, rule_regions
cyphronix Nov 7, 2024
0f798d3
must have mgmt account added
cyphronix Nov 7, 2024
21878ad
handle blank rule/metric regions/accounts
cyphronix Nov 7, 2024
b7c5249
working on parameter validation; not functional yet
cyphronix Nov 8, 2024
a9438cd
finishing param validation function; needs testing
cyphronix Nov 9, 2024
16e7315
adding state table
cyphronix Nov 11, 2024
e77bf62
Refactor Lambda packaging script to target src folder only
cyphronix Nov 15, 2024
05e5307
fix template errors
cyphronix Nov 18, 2024
8b30fc1
add sns topic state table record
cyphronix Nov 18, 2024
4a66f58
add iam+lambda resources to state table
cyphronix Nov 18, 2024
2a8f21b
config state record
cyphronix Nov 18, 2024
b153186
update for config arn
cyphronix Nov 18, 2024
5827383
fix cfn sns resource type error; fix dynamodb resource error
cyphronix Nov 18, 2024
7b48225
update component type
cyphronix Nov 18, 2024
457b01e
adding tracing for dynamodb module
cyphronix Nov 18, 2024
f439e42
fixing role state record
cyphronix Nov 18, 2024
ebac544
fixing lambda state record
cyphronix Nov 18, 2024
cbff778
kms key state records
cyphronix Nov 18, 2024
003fbf0
alarms sns topic state record
cyphronix Nov 18, 2024
cc8578f
metric filter state record
cyphronix Nov 20, 2024
256e90f
add kms module tracing
cyphronix Nov 20, 2024
74ecfdb
added state record function
cyphronix Nov 20, 2024
2c92765
sink/link state records
cyphronix Nov 20, 2024
61b3570
update description for record
cyphronix Nov 21, 2024
c769ec8
removal of state records
cyphronix Nov 21, 2024
aa2d496
update config rule search
cyphronix Nov 21, 2024
ad42f90
added todo comment
cyphronix Nov 21, 2024
f7ea39d
need to use all bedrock accts and regions for delete
cyphronix Nov 21, 2024
3388407
fix remove state table record function
cyphronix Nov 21, 2024
52b45a2
fix kms key alias Arn format
cyphronix Nov 21, 2024
019007c
change docstring; update return val
cyphronix Nov 21, 2024
b429242
fix delete logic
cyphronix Nov 21, 2024
0fc4b0b
more fixes to delete logic
cyphronix Nov 21, 2024
4e07da5
change state table solution
cyphronix Nov 21, 2024
9d66c1d
making lambda summary message accurate
cyphronix Nov 22, 2024
54a4a1f
making lambda summary message accurate again
cyphronix Nov 22, 2024
edb1185
add CFN_RESPONSE_DATA debug tracing
cyphronix Nov 22, 2024
5bd9c80
add more CFN_RESPONSE_DATA debug tracing
cyphronix Nov 22, 2024
2671060
fixed action summary
cyphronix Nov 22, 2024
e21d21d
error handling for state table record removal
cyphronix Nov 22, 2024
3d060fa
add removal of dashboard on delete
cyphronix Nov 22, 2024
fa2c7d3
add sns fanout action to the count
cyphronix Nov 22, 2024
ef992f8
add attach policy actions to dry_run data
cyphronix Nov 22, 2024
c1275f5
simulate topic_arn for dry_run
cyphronix Nov 26, 2024
fb64ed0
must create topic for fanout in dry_run mode
cyphronix Nov 26, 2024
2dd7862
handle nosuchentity error
cyphronix Nov 26, 2024
34d71d3
handle sink arn in dry_run mode
cyphronix Nov 26, 2024
c075d56
update dry run sns publish message
cyphronix Nov 27, 2024
3801304
add run data logging to sns fanout
cyphronix Nov 27, 2024
c2a75c2
create/upload dry_run data file
cyphronix Nov 27, 2024
c0eac29
upload sns dry run data to s3
cyphronix Nov 27, 2024
a933738
handle errors on cfn delete when dry_run is true
cyphronix Nov 27, 2024
38ec59c
removing completed todo comments
cyphronix Nov 27, 2024
885282d
switched from SECURITY_ACCOUNT to ssm_params.SRA_SECURITY_ACCT
cyphronix Nov 29, 2024
8bd47b6
testing dynamodb client typechecking (related to mypy)
cyphronix Nov 29, 2024
ec2febe
added tracing
cyphronix Nov 29, 2024
eef986e
moving DynamoDBServiceResource out of if statement
cyphronix Nov 29, 2024
9f8a670
update project.toml to support dynamodb in mypy
cyphronix Nov 29, 2024
9e692d4
add debug tracing
cyphronix Nov 29, 2024
9d29ab0
try adding mypy boto3 dynamodb to requirements
cyphronix Nov 29, 2024
0930bf2
testing new method for dynamodb typechecking
cyphronix Nov 29, 2024
ef8631d
fixing extra char in line
cyphronix Nov 29, 2024
1cbeec1
moved dynamodb client and resource to class module
cyphronix Nov 29, 2024
f496172
add more debug for assume role
cyphronix Nov 29, 2024
7d6c6c5
remove dynamodb client/resource function arguments
cyphronix Nov 30, 2024
f045a22
remove config rule if deploy set to false (testing)
cyphronix Dec 2, 2024
0145619
ensure mgmt acct client for sns config topic
cyphronix Dec 2, 2024
a91d13e
moved config rule delete operation to functions
cyphronix Dec 2, 2024
ed998e0
moving metric filters and alarms deletes to separate function (testing)
cyphronix Dec 2, 2024
3de6457
update filter to filter_name
cyphronix Dec 2, 2024
c685d28
still updating filter to filter_name
cyphronix Dec 2, 2024
eb7465a
updating delete logic; separating delete filter/alarn from kms/sns topic
cyphronix Dec 3, 2024
fb14c2d
add lambda function record to state table
cyphronix Dec 3, 2024
3b974b5
add delete operations for lambda function and iam execution role stat…
cyphronix Dec 3, 2024
2a28291
update execution role arn for state record
cyphronix Dec 3, 2024
652e602
update get execution role function
cyphronix Dec 3, 2024
6dbc72b
updating execution role name for state record
cyphronix Dec 3, 2024
74d2057
add/remove cw dashboard state table record
cyphronix Dec 3, 2024
7560580
removed hardcoded aws partition
cyphronix Dec 3, 2024
aabdf46
check for permissions on lambda first
cyphronix Dec 3, 2024
fe81294
infer execution role arn on delete
cyphronix Dec 4, 2024
87fda8b
fixing ResourceNotFoundException bug (in progress)
cyphronix Dec 4, 2024
ac24225
working on function not found bug
cyphronix Dec 4, 2024
a4a628e
add tracing for lambda bug
cyphronix Dec 4, 2024
0e0a486
rearranging code for retries
cyphronix Dec 4, 2024
a8a55f0
update kms permissions (malformed)
cyphronix Dec 4, 2024
d5ddc07
updating kms key policy
cyphronix Dec 4, 2024
97ed3c6
update kms policy execution role statement
cyphronix Dec 4, 2024
e333e12
update lambda client
cyphronix Dec 4, 2024
cb8f50f
update for lambda data update in state table
cyphronix Dec 4, 2024
de15f9c
initial work for least privilege lambda execution role (still work to…
cyphronix Dec 5, 2024
3fec5a1
add tracing; update permissions
cyphronix Dec 5, 2024
6b01556
least privilege lambda execution role
cyphronix Dec 6, 2024
2b166cf
remove comments and completed todos
cyphronix Dec 6, 2024
c4d2279
type checking fixes
cyphronix Dec 6, 2024
5bb3ff8
kms assume_role not accessed (used in sts module)
cyphronix Dec 6, 2024
26aa9ac
removing unused params from kms module
cyphronix Dec 6, 2024
04edf02
search for kms key before creating; remove comments/cleanup
cyphronix Dec 6, 2024
f95a2db
update to include boto3 config
cyphronix Dec 6, 2024
cbb3fdf
permissions update; fix type error for kms policy
cyphronix Dec 7, 2024
ed46361
update perms; filter out pending deletion keys
cyphronix Dec 7, 2024
702bba6
updating key examination
cyphronix Dec 7, 2024
2325ce4
updating log message
cyphronix Dec 7, 2024
e72bb1b
fix linting issues
cyphronix Dec 7, 2024
d5cbb35
mypy fixes
cyphronix Dec 7, 2024
fe03b6f
minor update to fix return response bug
cyphronix Dec 7, 2024
1c92eae
remove scope from create_config_rule
cyphronix Dec 7, 2024
7b35ee0
change config rule found log message
cyphronix Dec 7, 2024
bc75ee8
fix mypy errors
cyphronix Dec 8, 2024
a3448f4
fixing mypy issues
cyphronix Dec 8, 2024
72ec801
fix mypy issues
cyphronix Dec 8, 2024
251cdfa
fix mypy issues; remove unused code and parameters (commented out for…
cyphronix Dec 8, 2024
609370b
fix mypy issues
cyphronix Dec 8, 2024
bcb3b43
changing definition
cyphronix Dec 8, 2024
76bc145
update imports
cyphronix Dec 8, 2024
58a2ce7
update imports
cyphronix Dec 8, 2024
73ae2ba
add mypy_boto3_dynamodb to requirements
cyphronix Dec 8, 2024
5a3cfb5
change output types to Any; remove mypy dynamodb import
cyphronix Dec 8, 2024
21326f7
fix mypy issues
cyphronix Dec 8, 2024
befada7
fixing mypy issues; closing other todos
cyphronix Dec 8, 2024
19db3a7
fix mypy errors
cyphronix Dec 8, 2024
d9af600
fixing mypy errors
cyphronix Dec 8, 2024
d01f103
fixing mypy errors
cyphronix Dec 9, 2024
2182aca
fix mypy errors in ssm param module
cyphronix Dec 9, 2024
a6f6df4
update for mypy errors
cyphronix Dec 9, 2024
e2afe1e
fix mypy errors in app
cyphronix Dec 9, 2024
9aaaf82
fixing more mypy issues with app
cyphronix Dec 9, 2024
9e1e42a
fixing mypy errors in config rules
cyphronix Dec 9, 2024
532eae0
fixing mypy errors in config rules
cyphronix Dec 9, 2024
c15eb31
fixing mypy issues in config rules
cyphronix Dec 9, 2024
621552d
fixing mypy errors for config rules
cyphronix Dec 9, 2024
c62cea4
fixing mypy errors for config rules
cyphronix Dec 9, 2024
1b478b6
fixing mypy issues with config rules
cyphronix Dec 9, 2024
9450746
fixing mypy errors in config rules
cyphronix Dec 9, 2024
b37a393
fixing mypy errors in config
cyphronix Dec 9, 2024
294245e
fix mypy errors in ami bakery
cyphronix Dec 9, 2024
eecedd0
updated formatting
cyphronix Dec 10, 2024
ec01b9f
fixing mypy issues again in dynamodb
cyphronix Dec 10, 2024
49aac97
fixing flake8 errors; adding docstrings
cyphronix Dec 10, 2024
903af2d
fixing flake8 issues
cyphronix Dec 10, 2024
cd0fb1e
fix flake8 errors in app
cyphronix Dec 11, 2024
b31dffd
fixing flake8 errors in app and cloudwatch module
cyphronix Dec 11, 2024
df0920f
fix flake8 errors in config module
cyphronix Dec 11, 2024
3adce3a
reverting some flake8 updates temporarily
cyphronix Dec 11, 2024
c2a18f8
fix flake8 issues in dynamodb module
cyphronix Dec 11, 2024
46ccafc
fixing flake8 issues in iam module
cyphronix Dec 11, 2024
818bd5a
fix flake8 issues in kms module
cyphronix Dec 11, 2024
f83042e
fixes for flake8 in lambda module
cyphronix Dec 11, 2024
1eb62f6
working on flake8 issues in repo module
cyphronix Dec 11, 2024
5e561f2
fix mypy and flake8 issues in s3 module
cyphronix Dec 12, 2024
537d5b4
fixing flake8 issues in sns module
cyphronix Dec 12, 2024
4f39f14
fixing flake8 issues in ssm params module
cyphronix Dec 12, 2024
8248710
fixing flake8 issues in sts module
cyphronix Dec 12, 2024
5848842
fixing mypy errors
cyphronix Dec 12, 2024
ec522c0
fix flake8 issues for config rules
cyphronix Dec 12, 2024
ec20c30
fix flake8 issues in config rules
cyphronix Dec 12, 2024
6896d23
fix flake8 issues in config rules
cyphronix Dec 12, 2024
dafd9dd
fix flake8 issues with config rules
cyphronix Dec 12, 2024
2ae9582
fix flake8 errors in config rules
cyphronix Dec 12, 2024
f7d3dde
fix flake8 issues in config rules
cyphronix Dec 12, 2024
eb55bd1
fix flake8 config issues
cyphronix Dec 12, 2024
7530e0e
fix flake8 issues with config rules
cyphronix Dec 12, 2024
0399c3a
fix flake8 issues with config rules
cyphronix Dec 12, 2024
92e9d06
fix code for new sts class name
cyphronix Dec 12, 2024
a094cfa
update test params in template
cyphronix Dec 12, 2024
f60401c
fix flake8 issues in app
cyphronix Dec 12, 2024
09ae608
updating log message
cyphronix Dec 12, 2024
18c65f8
fix for checkov errors; added DLQ and concurrency
cyphronix Dec 12, 2024
f905c89
fix issues for isort linting
cyphronix Dec 12, 2024
aa2d1fa
remove/update/eval/defer todos
cyphronix Dec 12, 2024
a578174
Merge branch 'main' into sra-genai
cyphronix Dec 12, 2024
2b58f85
fix flake8 errors
cyphronix Dec 12, 2024
d355eb6
resolving mypy errors
cyphronix Dec 13, 2024
c3aef8c
black lint reformat
cyphronix Dec 13, 2024
12d4e5c
resolving checkov errors
cyphronix Dec 13, 2024
0156b95
adding documentation
cyphronix Dec 13, 2024
a6fcce3
update diagram
cyphronix Dec 13, 2024
8ab30b0
updating readme
cyphronix Dec 13, 2024
4210e63
update readme
cyphronix Dec 13, 2024
75c45b9
update readme
cyphronix Dec 13, 2024
52d3bc6
updating diagram
cyphronix Dec 13, 2024
0b7fbb9
fix logic issue
cyphronix Dec 18, 2024
6c1a61f
updating default value
cyphronix Dec 18, 2024
3b35473
skip filter deploy if log group doesn't exist
cyphronix Dec 19, 2024
2e48252
fixing flake8 issues
cyphronix Dec 19, 2024
a45c887
fixing dry_run/state_table issue
cyphronix Dec 19, 2024
7db8cba
skipping checkov error
cyphronix Dec 19, 2024
39a6b38
updating perms
cyphronix Dec 19, 2024
314c66a
spelling error
cyphronix Dec 19, 2024
effa7b7
fix constraint description
cyphronix Dec 19, 2024
b5ba4b6
fix multiple accounts for eval job
cyphronix Dec 20, 2024
e974430
update param validation
cyphronix Dec 20, 2024
e7a0fef
fix regex
cyphronix Dec 20, 2024
340b304
update constraintdescription
cyphronix Dec 20, 2024
0867807
updating regex
cyphronix Dec 20, 2024
1736d42
fix ast error; fix deployment to multi-region bug
cyphronix Jan 13, 2025
a483130
add error handling for entityalreadyexists
cyphronix Jan 14, 2025
5c85369
update example bucketname in template
cyphronix Jan 14, 2025
5f2a857
update example bucketnameprefix
cyphronix Jan 14, 2025
19ded41
update regex for param validation
cyphronix Jan 15, 2025
1cc00d9
fix mypy error
cyphronix Jan 16, 2025
9bbbbaa
fix flake8 issue
cyphronix Jan 16, 2025
1396295
CreateRoleResponseTypeDef and CreatePolicyResponseTypeDef error fix
cyphronix Jan 25, 2025
86b5324
working on access denied / encrypted guardrail issue
cyphronix Jan 25, 2025
8622368
handling access denied encrypted guardrail error
cyphronix Jan 25, 2025
2e7ff10
error handling update
cyphronix Jan 25, 2025
382cf16
fix NoSuchLifecycleConfiguration issue
cyphronix Jan 25, 2025
0df50f1
switch to on-demand dynamodb
cyphronix Jan 27, 2025
20e9a0e
update comment
cyphronix Jan 27, 2025
a24afae
ensuring the policy template remains a template
cyphronix Jan 27, 2025
5a18c93
invalidparameterexception arn validation failed handling
cyphronix Jan 28, 2025
f8525ea
ensure global region used for iam resources
cyphronix Jan 28, 2025
bc90b19
update permissions for other accts
cyphronix Jan 28, 2025
1414f07
updating README
cyphronix Jan 29, 2025
daff71a
re organizing README
cyphronix Jan 29, 2025
674a960
updating readme
cyphronix Jan 29, 2025
dbfd184
updating readme
cyphronix Jan 29, 2025
ad49fde
reorganizing readme
cyphronix Jan 29, 2025
73a7b3c
updating readme - links
cyphronix Jan 29, 2025
5ae4118
update readme - link
cyphronix Jan 29, 2025
1494070
uppdate readme
cyphronix Jan 29, 2025
fee6f9a
update readme section title
cyphronix Jan 29, 2025
ad5629c
update toc
cyphronix Jan 29, 2025
cb2560b
get_partition_for_region mypy error
cyphronix Jan 29, 2025
aa1e14e
reverted back to orig
cyphronix Jan 29, 2025
6d6f240
Merge branch 'main' into sra-genai
cyphronix Jan 29, 2025
2dfa565
Merge branch 'main' into sra-genai
cyphronix Jan 29, 2025
2fb9933
update readme
cyphronix Jan 30, 2025
79a0c29
fixing mypy errors
cyphronix Jan 30, 2025
c66b366
fix flake8 issues
cyphronix Jan 30, 2025
a82f99a
fixing black formatter issues
cyphronix Jan 30, 2025
8f7ef7e
update config rule annotation wording
cyphronix Jan 31, 2025
2c0881d
formatting
cyphronix Feb 3, 2025
bdc7e3c
update description of zip URL param
cyphronix Feb 3, 2025
eaf927c
updating URL in readme
cyphronix Feb 3, 2025
ebf5582
update description
cyphronix Feb 3, 2025
5e4cdd3
add solution to main readme
cyphronix Feb 3, 2025
2c3e459
sorting readme spreadsheet
cyphronix Feb 3, 2025
9acc8ce
update changelog
cyphronix Feb 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,25 @@
All notable changes to this project will be documented in this file.

---

## 2025-02-04

### Added<!-- omit in toc -->

- Added [Bedrock](aws_sra_examples/solutions/genai/bedrock_org) solution to deploy the sra-bedrock-org solution for GenAI deep-dive Bedrock capability one security controls. See https://github.com/aws-samples/aws-security-reference-architecture-examples (sra-1u3sd7f8n)

## 2025-01-21

### Updated<!-- omit in toc -->

- Updated [Config Management Account](aws_sra_examples/solutions/config/config_management_account) solution to use service-linked role for AWS Config.

## 2025-01-08

### Updated<!-- omit in toc -->

- Updated [Common Prerequisites](aws_sra_examples/solutions/common/common_prerequisites) staging util script to fix lambda layer deploy when using solution_directory.

## 2024-09-18

### Added<!-- omit in toc -->
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ Please follow the instructions for SRA Terraform deployments in the [SRA Terrafo
| :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Account Alternate Contacts](aws_sra_examples/solutions/account/account_alternate_contacts) | Sets the billing, operations, and security alternate contacts for all accounts within the organization. | | |
| [AMI Bakery](aws_sra_examples/solutions/ami_bakery/ami_bakery_org) | Creates and configures an AMI image management pipeline. | | |
| [Bedrock](aws_sra_examples/solutions/genai/bedrock_org) | Enables and configures security controls for Bedrock GenAI deep-dive capability one. | | |
| [CloudTrail](aws_sra_examples/solutions/cloudtrail/cloudtrail_org) | Organization trail with defaults set to configure data events (e.g. S3 and Lambda) to avoid duplicating the Control Tower configured CloudTrail. Options for configuring management events. | CloudTrail enabled in each account with management events only. | |
| [Config Management Account](aws_sra_examples/solutions/config/config_management_account) | Enables AWS Config in the Management account to allow resource compliance monitoring. | Configures AWS Config in all accounts except for the Management account in each governed region. | <ul><li>AWS Control Tower</li></ul> |
| [Config Organization Aggregator](aws_sra_examples/solutions/config/config_aggregator_org) | **Not required for most Control Tower environments.** Deploy an Organization Config Aggregator to a delegated admin other than the Audit account. | Organization Config Aggregator in the Management account and Account Config Aggregator in the Audit account. | <ul><li>AWS Control Tower</li><li>[Common Register Delegated Administrator](aws_sra_examples/solutions/common/common_register_delegated_administrator)</li></ul> |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ def create_codepipeline(
"roleArn": "arn:" + aws_partition + ":iam::" + account_id + ":role/" + codepipeline_role_name,
"artifactStore": {"type": "S3", "location": bucket_name},
"stages": [
{ # type: ignore
{
"name": pipeline_name + "-CodeCommitSource",
"actions": [
{
Expand All @@ -104,7 +104,7 @@ def create_codepipeline(
}
],
},
{ # type: ignore
{
"name": pipeline_name + "-DeployEC2ImageBuilder",
"actions": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def set_config_in_org(
configuration_recorder: ConfigurationRecorderTypeDef = {
"name": recorder_name,
"roleARN": role_arn,
"recordingGroup": { # type: ignore
"recordingGroup": {
"allSupported": all_supported,
"includeGlobalResourceTypes": include_global_resource_types,
"resourceTypes": resource_types,
Expand Down
Loading