Control types for @turbot/aws-s3

AWS > S3 > Account > CMDB

Record and synchronize details for the AWS S3 account into the CMDB.

The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.

If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.

To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".

URI
tmod:@turbot/aws-s3#/control/types/s3AccountCmdb
Category

AWS > S3 > Account > Discovery

Discover all AWS S3 account resources and add them to the CMDB.

The Discovery control is responsible for finding resources of a specific type. It periodically searches for new resources and saves them to the CMDB. Once discovered, resources are then responsible for tracking changes to themselves through the CMDB control.

URI
tmod:@turbot/aws-s3#/control/types/s3AccountDiscovery

AWS > S3 > Account > Public Access Block

Configure the AWS S3 Account Level Public Access Block

URI
tmod:@turbot/aws-s3#/control/types/accountLevelPublicAccessBlock
Category

AWS > S3 > Bucket > ACL

URI
tmod:@turbot/aws-s3#/control/types/bucketAcl

AWS > S3 > Bucket > ACL > Trusted Access

Take an action when AWS S3 Bucket ACL is not trusted based on the
AWS > S3 > Bucket > ACL > Trusted Access > * policies.

The ACL Trusted Access control evaluates the Bucket ACL against the list of allowed grantees in the ACL Trusted Access sub-policies
- ACL > Trusted Access > Canonical IDs
- ACL > Trusted Access > Groups

This control raises an alarm and takes the defined enforcement action. If set to Enforce: Revoke untrusted access, access to non-trusted grantees will be removed.

URI
tmod:@turbot/aws-s3#/control/types/bucketAclTrustedAccess

AWS > S3 > Bucket > Access Logging

Define the Access Logging settings required for AWS > S3 > Bucket.

AWS > S3 > Bucket provides access logs that capture detailed information
about requests sent to your bucket. Each log contains information such as
the time the request was received, the client's IP address, latencies,
request paths, and server responses. You can use these access logs to
analyze traffic patterns and troubleshoot issues.

URI
tmod:@turbot/aws-s3#/control/types/bucketAccessLogging

AWS > S3 > Bucket > Active

Take an action when an AWS S3 bucket is not active based on the
AWS > S3 > Bucket > Active > * policies.

The Active control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated compliance
environment, it's common to end up with a wide range of alarms that are difficult
and time consuming to clear. The Active control brings automated, well-defined
control to this process.

The Active control checks the status of all defined Active policies for the
resource (AWS > S3 > Bucket > Active > *),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.

Note the contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.

See Active for more information.

URI
tmod:@turbot/aws-s3#/control/types/bucketActive

AWS > S3 > Bucket > Approved

Take an action when an AWS S3 bucket is not approved based on AWS > S3 > Bucket > Approved > * policies.

The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.

For any enforcement actions that specify if new, e.g., Enforce: Delete unapproved if new, this control will only take the enforcement actions for resources created within the last 60 minutes.

See Approved for more information.

URI
tmod:@turbot/aws-s3#/control/types/bucketApproved

AWS > S3 > Bucket > CMDB

Record and synchronize details for the AWS S3 bucket into the CMDB.

The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.

If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.

To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".

CMDB controls also use the Regions policy associated with the resource. If region is not in AWS > S3 > Bucket > Regions policy, the CMDB control will delete the resource from the CMDB. (Note: Setting CMDB to Skip will also pause these changes.)

URI
tmod:@turbot/aws-s3#/control/types/bucketCmdb
Category

AWS > S3 > Bucket > Configured

Maintain AWS > S3 > Bucket configuration.

Note: If the resource is managed by another stack, then the Skip/Check/Enforce values here are ignored
and inherit from the stack that owns it.

URI
tmod:@turbot/aws-s3#/control/types/bucketConfigured

AWS > S3 > Bucket > Discovery

Discover all AWS S3 bucket resources and add them to the CMDB.

The Discovery control is responsible for finding resources of a specific type. It periodically searches for new resources and saves them to the CMDB. Once discovered, resources are then responsible for tracking changes to themselves through the CMDB control.

Note that Discovery and CMDB controls also use the Regions policy associated with the resource. If the region is not in AWS > S3 > Bucket > Regions policy, the CMDB control will delete the resource from the CMDB.

URI
tmod:@turbot/aws-s3#/control/types/bucketDiscovery

AWS > S3 > Bucket > Encryption at Rest

Define the Encryption at Rest settings required for AWS > S3 > Bucket.

Encryption at Rest refers specifically to the encryption of data when written
to an underlying storage system. This control determines whether the resource
is encrypted at rest, and sets encryption to your desired level.

The Encryption at Rest
control compares the encryption settings against the encryption policies for the resource
(AWS > S3 > Bucket > Encryption at Rest > *),
raises an alarm, and takes the defined enforcement action.

URI
tmod:@turbot/aws-s3#/control/types/bucketEncryptionAtRest

AWS > S3 > Bucket > Encryption in Transit

Define the Encryption in Transit settings required for AWS > S3 > Bucket.

The Encryption in Transit control compares the Encryption in Transit settings against the Encryption in Transit policies for the resource
(AWS > S3 > Bucket > Encryption in Transit), raises an alarm, and takes the defined enforcement action.

The Encryption in Transit control examines the bucket's policy to find a match for the below statement. An exact match across all statement fields is required for encryption in transit to be considered enabled.
<br />{<br /> Sid: &quot;MustBeEncryptedInTransit&quot;,<br /> Effect: &quot;Deny&quot;,<br /> Principal: &quot;*&quot;,<br /> Action: &quot;s3:*&quot;,<br /> Resource: [&#39;arn:${partition}:s3:::${bucketName}&#39;, &#39;arn:${partition}:s3:::${bucketName}/*&#39;],<br /> Condition: {<br /> Bool: {<br /> &quot;aws:SecureTransport&quot;: &quot;false&quot;<br /> }<br /> }<br />}<br />

URI
tmod:@turbot/aws-s3#/control/types/encryptionInTransit

AWS > S3 > Bucket > Policy

URI
tmod:@turbot/aws-s3#/control/types/bucketPolicy

AWS > S3 > Bucket > Policy > Trusted Access

Take an action when AWS S3 bucket policy is not trusted based on the
AWS > S3 > Bucket > Policy > Trusted Access > * policies.

The Trusted Access control evaluates the bucket policy against the list of allowed
members in each of the Trusted Access sub-policies (Trusted Access > Accounts,
Trusted Access > Services etc.), this control raises an alarm and takes the
defined enforcement action.

The account that owns the bucket will always be trusted, even if its account ID is
not included in the Trusted Accounts policy.

If set to Enforce: Revoke untrusted access, access to non-trusted
members will be removed.

URI
tmod:@turbot/aws-s3#/control/types/bucketPolicyTrustedAccess

AWS > S3 > Bucket > Policy Statements

URI
tmod:@turbot/aws-s3#/control/types/bucketPolicyStatements
Category

AWS > S3 > Bucket > Policy Statements > Approved

Configure Bucket Policy Statements checking. This control defines whether to
verify the bucket policy statements are approved, as well as the
subsequent action to take on unapproved statements. Rules for all Approved
policies will be compiled in Approved > Compiled Rules and then
evaluated.

If set to Enforce: Delete unapproved, any unapproved principal will be
revoked from the bucket policy.

URI
tmod:@turbot/aws-s3#/control/types/bucketPolicyStatementsRulesApproved

AWS > S3 > Bucket > Public Access Block

Configure the AWS S3 Bucket Level Public Access Block

URI
tmod:@turbot/aws-s3#/control/types/bucketLevelPublicAccessBlock
Category

AWS > S3 > Bucket > Tags

Take an action when an AWS S3 bucket tags is not updated based on the AWS > S3 > Bucket > Tags > * policies.

If the resource is not updated with the tags defined in AWS > S3 > Bucket > Tags > Template, this control raises an alarm and takes the defined enforcement action.

See Tags for more information.

URI
tmod:@turbot/aws-s3#/control/types/bucketTags

AWS > S3 > Bucket > Usage

The Usage control determines whether the number of AWS S3 bucket resources exceeds the configured usage limit for this account.

You can configure the behavior of this control with the AWS > S3 > Bucket > Usage policy, and set the limit with the AWS > S3 > Bucket > Usage > Limit policy.

URI
tmod:@turbot/aws-s3#/control/types/bucketUsage

AWS > S3 > Bucket > Versioning

Check if the AWS S3 bucket Versioning configuration is set correctly.

URI
tmod:@turbot/aws-s3#/control/types/bucketVersioning
Category