Skip to content

Releases: cloudposse/terraform-aws-service-control-policies

v0.14.2

15 Apr 10:47
5bfeb94
Compare
Choose a tag to compare

🐛 Bug Fixes

Minor cleanups @Nuru (#50)

what

Minor fixes to several SCPs

  • DenyLambdaWithoutVpc was previously invalid. It is now valid, but has not been thoroughly tested to ensure it does what it promises.
  • DenyRDSUnencrypted was fixed to deny rds:RestoreDBClusterFromSnapshot when not encrypted. Previously this action was not denied, and instead the nonexistent RestoreDBClusterFromDBSnapshot was denied
  • The DenyS3BucketsPublicAccess policy was cleaned up by eliminating the nonexistent s3:DeletePublicAccessBlock action. Note that it still is probably not something you want to use, because it denies enabling a public access block as well as removing one. We hope to have a better policy in the future.
  • The Region Restriction Templates DenyRegions and RestrictToSpecifiedRegions were updated to exclude the account, artifact, and supportplans services from region restrictions, since they are global services. The obsolete awsbillingconsole service was removed.
  • DenyS3InNonSelectedRegion was fixed to allow users to allow S3 bucket creation in us-east-1. Previously us-east-1 was always prohibited even when expressly allowed, due to quirks in S3.

why

  • Restore intended behavior

references

v0.14.1 Fix encryption-in-transit requirements

12 Apr 20:37
4bce9de
Compare
Choose a tag to compare

Warning

When the DenyEC2NonNitroInstances policy was first introduced, it was primarily intended
to ensure that network traffic was encrypted in transit, which was seen to be a feature
that all Nitro instances supported and all non-Nitro instances did not. However, this
is not the case, as instance families such as a1, t3, and t4g are Nitro based but
do not support network traffic encryption in transit.

As such, the DenyEC2NonNitroInstances policy is not a reliable way to ensure that
network traffic is encrypted in transit. It is recommended that you use the
DenyEC2InstancesWithoutEncryptionInTransit policy instead if that is your goal.

Caution

These changes could have the side effect of having other policies that were previously configured but ignored to start being enforced. The previous version of these updated policies were too big and thus any policy that included them was not enforced. It is possible that upgrading to this version will cause not just this policy to be updated, but cause other policies (statements) that were previously not enforced due to the overall size of the SCP to become enforced now that the full SCP is valid.

🐛 Bug Fixes

Update/Fix EC2 Policies @Nuru (#49)

what

  • Update/fix EC2 Policies DenyEC2InstancesWithoutEncryptionInTransit and DenyEC2NonNitroInstances
  • Update test framework (even though testing does not work)

why

  • Prior policies exceeded 5120-character length limit and were also out of date
  • Satisfy Dependabot

references

🤖 Automatic Updates

Use GitHub Action Workflows from `cloudposse/.github` Repo @osterman (#47)

what

  • Install latest GitHub Action Workflows

why

  • Use shared workflows from cldouposse/.github repository
  • Simplify management of workflows from centralized hub of configuration
Add GitHub Settings @osterman (#42)

what

  • Install a repository config (.github/settings.yaml)

why

  • Programmatically manage GitHub repo settings
Update Scaffolding @osterman (#40)

what

  • Reran make readme to rebuild README.md from README.yaml
  • Migrate to square badges
  • Add scaffolding for repo settings and Mergify

why

  • Upstream template changed in the .github repo
  • Work better with repository rulesets
  • Modernize look & feel
Update Scaffolding @osterman (#39)

what

  • Reran make readme to rebuild README.md from README.yaml
  • Migrate to square badges
  • Add scaffolding for repo settings and Mergify

why

  • Upstream template changed in the .github repo
  • Work better with repository rulesets
  • Modernize look & feel
Update Scaffolding @osterman (#38)

what

  • Reran make readme to rebuild README.md from README.yaml
  • Migrate to square badges
  • Add scaffolding for repo settings and Mergify

why

  • Upstream template changed in the .github repo
  • Work better with repository rulesets
  • Modernize look & feel
Update Scaffolding @osterman (#37)

what

  • Reran make readme to rebuild README.md from README.yaml
  • Migrate to square badges
  • Add scaffolding for repo settings and Mergify

why

  • Upstream template changed in the .github repo
  • Work better with repository rulesets
  • Modernize look & feel
Update Scaffolding @osterman (#36)

what

  • Reran make readme to rebuild README.md from README.yaml
  • Migrate to square badges
  • Add scaffolding for repo settings and Mergify

why

  • Upstream template changed in the .github repo
  • Work better with repository rulesets
  • Modernize look & feel
Update Scaffolding @osterman (#35)

what

  • Reran make readme to rebuild README.md from README.yaml
  • Migrate to square badges
  • Add scaffolding for repo settings and Mergify

why

  • Upstream template changed in the .github repo
  • Work better with repository rulesets
  • Modernize look & feel

v0.14.0

26 Jun 21:04
8b2935d
Compare
Choose a tag to compare
Ensure support of the AWS Provider V5 and latest terraform @max-lobur (#31)

what

Ensure support of the AWS Provider V5
Update terraform version
Update dependencies in tests
Linter fixes

why

Maintenance

references

https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.0.0

update AWS family policies for mid-2023 @jonathan-3play (#30)

what

  • Updated to all EC2 families as of 2023-06-23 that AWS documentation indicate are Nitro-based or support inherent encryption in transit.

why

  • Discovered that many useful EC2 families that should be permitted were in fact blocked.

references

Sync github @max-lobur (#25)

Rebuild github dir from the template

v0.13.0

17 May 09:07
60dea75
Compare
Choose a tag to compare
  • No changes

v0.12.0

27 Sep 02:52
60dea75
Compare
Choose a tag to compare
Update DenyEC2InstancesWithoutEncryptionInTransit @Nuru (#23)

what

  • Update DenyEC2InstancesWithoutEncryptionInTransit policy with current list of instances
  • Move policies requiring template parameters to separate sub-directories
  • Fix DenyS3InNonSelectedRegion policy
  • Replace DenyRegionUsage policy with DenyRegions and RestrictToSpecifiedRegions policies

why

  • Previous policy was missing a lot of instance types that provide encryption in transit, such as c6i, c7g, and g5 to name a few
  • Allow people to include catalog/*.yaml without needing to specify any parameters
  • The DenyS3InNonSelectedRegion policy was completely broken, having no effect
  • The DenyRegionUsage policy was confusing, because it took a parameter called regions_lockdown which was a list of regions to allow. The new policies let you choose to either whitelist or blacklist regions.

references

  • Supersedes and closes #22
git.io->cloudposse.tools update @dylanbannon (#20)

what and why

Change all references to git.io/build-harness into cloudposse.tools/build-harness, since git.io redirects will stop working on April 29th, 2022.

References

  • DEV-143

v0.11.0

24 Mar 01:51
f9fa883
Compare
Choose a tag to compare
Adding policies @jamengual (#11)

what

  • Adding Aditional SCPs to the catalog
  • Adding Parameters
  • Updating example

why

  • Adding AWS recommended SCPs plus some additional SCPs to improve security compliance

references

v0.10.0

21 Mar 21:26
345aff9
Compare
Choose a tag to compare
add deny disabling cloutrail scp @sgtoj (#19)

what

  • add new scp to prevent cloudtrail from being disabled

why

  • prevent cloudtrail from being disabled by bad actors

references

  • n/a

v0.9.2

24 Aug 17:39
0b9ff2e
Compare
Choose a tag to compare

🤖 Automatic Updates

Update context.tf @cloudpossebot (#17)

what

This is an auto-generated PR that updates the context.tf file to the latest version from cloudposse/terraform-null-label

why

To support all the features of the context interface.

v0.9.1

18 May 21:58
4a99804
Compare
Choose a tag to compare

🚀 Enhancements

Fix: resource attributes that cannot be determined @nitrocode (#16)

what

  • This checks the input variable instead of local.statements, which previously required creating the policy documents to determine.

why

  • The previous PR #15 worked for account SCPs but did not work for org SCPs. I checked this locally for all 3 types of policies (ou, org, and account) in components/terraform/account.

references

N/A

🐛 Bug Fixes

Fix: resource attributes that cannot be determined @nitrocode (#16)

what

  • This checks the input variable instead of local.statements, which previously required creating the policy documents to determine.

why

  • The previous PR #15 worked for account SCPs but did not work for org SCPs. I checked this locally for all 3 types of policies (ou, org, and account) in components/terraform/account.

references

N/A

v0.9.0

18 May 21:24
de13762
Compare
Choose a tag to compare
create nothing if len(statements) == 0 @nitrocode (#15)

what

  • create nothing if len(statements) == 0

why

  • SCPs cannot be created without a statement

references

N/A