Control types for @turbot/aws-s3
- AWS > S3 > Account > CMDB
- AWS > S3 > Account > Discovery
- AWS > S3 > Account > Public Access Block
- AWS > S3 > Bucket > ACL
- AWS > S3 > Bucket > ACL > Trusted Access
- AWS > S3 > Bucket > Access Logging
- AWS > S3 > Bucket > Active
- AWS > S3 > Bucket > Approved
- AWS > S3 > Bucket > CMDB
- AWS > S3 > Bucket > Configured
- AWS > S3 > Bucket > Discovery
- AWS > S3 > Bucket > Encryption at Rest
- AWS > S3 > Bucket > Encryption in Transit
- AWS > S3 > Bucket > Policy
- AWS > S3 > Bucket > Policy > Trusted Access
- AWS > S3 > Bucket > Policy Statements
- AWS > S3 > Bucket > Policy Statements > Approved
- AWS > S3 > Bucket > Public Access Block
- AWS > S3 > Bucket > Tags
- AWS > S3 > Bucket > Usage
- AWS > S3 > Bucket > Versioning
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".
tmod:@turbot/aws-s3#/control/types/s3AccountCmdb
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.
tmod:@turbot/aws-s3#/control/types/s3AccountDiscovery
AWS > S3 > Account > Public Access Block
Configure the AWS S3 Account Level Public Access Block
tmod:@turbot/aws-s3#/control/types/accountLevelPublicAccessBlock
AWS > S3 > Bucket > ACL
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 theAWS > 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.
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.
tmod:@turbot/aws-s3#/control/types/bucketAccessLogging
AWS > S3 > Bucket > Active
Take an action when an AWS S3 bucket is not active based on theAWS > 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.
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.
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.)
tmod:@turbot/aws-s3#/control/types/bucketCmdb
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.
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.
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.
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: "MustBeEncryptedInTransit",<br /> Effect: "Deny",<br /> Principal: "*",<br /> Action: "s3:*",<br /> Resource: ['arn:${partition}:s3:::${bucketName}', 'arn:${partition}:s3:::${bucketName}/*'],<br /> Condition: {<br /> Bool: {<br /> "aws:SecureTransport": "false"<br /> }<br /> }<br />}<br />
tmod:@turbot/aws-s3#/control/types/encryptionInTransit
AWS > S3 > Bucket > Policy
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 theAWS > 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.
tmod:@turbot/aws-s3#/control/types/bucketPolicyTrustedAccess
AWS > S3 > Bucket > Policy Statements
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.
tmod:@turbot/aws-s3#/control/types/bucketPolicyStatementsRulesApproved
AWS > S3 > Bucket > Public Access Block
Configure the AWS S3 Bucket Level Public Access Block
tmod:@turbot/aws-s3#/control/types/bucketLevelPublicAccessBlock
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.
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.
tmod:@turbot/aws-s3#/control/types/bucketUsage
AWS > S3 > Bucket > Versioning
Check if the AWS S3 bucket Versioning configuration is set correctly.
tmod:@turbot/aws-s3#/control/types/bucketVersioning