Skip to main content

🧠 AWS S3 Bucket MFA Delete is not enabled - prod.logic.yaml 🟒

Flags​

Input Type​

TypeAPI NameExtractsExtract FilesLogic Files
πŸ”’πŸ“• AWS S3 BucketCA10__CaAwsBucket__c1617

Uses​

Test Results πŸŸ’β€‹

Generated at: 2025-04-24T23:45:09.639788690Z Open

ResultIdCondition IndexCondition TextRuntime Error
🟒test1βœ”οΈ 99βœ”οΈ isDisappeared(CA10__disappearanceTime__c)βœ”οΈ null
🟒test2βœ”οΈ 199βœ”οΈ extract('CA10__lifecycleRulesJson__c').isNotEmpty()βœ”οΈ null
🟒test3βœ”οΈ 299βœ”οΈ extract('CA10__versioningMfaDeleteEnabled__c') == falseβœ”οΈ null
🟒test4βœ”οΈ 299βœ”οΈ extract('CA10__versioningMfaDeleteEnabled__c') == falseβœ”οΈ null
🟒test5βœ”οΈ 300βœ”οΈ otherwiseβœ”οΈ null

Generation​

FileMD5
Open/ce/ca/aws/s3/bucket-mfa-delete/policy.yaml1738BB4FE38FB7E45100DB5430471AB3
Open/ce/ca/aws/s3/bucket-mfa-delete/prod.logic.yaml1A18A56ADFE1D74BD70CFCED3FBFC66C
Open/types/CA10__CaAwsBucket__c/object.extracts.yamlD7F01723B629E0F1265F06B9CE2EDE1F
Open/ce/ca/aws/s3/bucket-mfa-delete/test.data.json8ADBF035F13C26CACEB4563FBFA299B2

Generate FULL script​

java -jar repo-manager.jar policies generate FULL /ce/ca/aws/s3/bucket-mfa-delete/prod.logic.yaml

Generate DEBUG script​

java -jar repo-manager.jar policies generate DEBUG /ce/ca/aws/s3/bucket-mfa-delete/prod.logic.yaml

Generate CAPTURE_TEST_DATA script​

java -jar repo-manager.jar policies generate CAPTURE_TEST_DATA /ce/ca/aws/s3/bucket-mfa-delete/prod.logic.yaml

Generate TESTS script​

java -jar repo-manager.jar policies generate TESTS /ce/ca/aws/s3/bucket-mfa-delete/prod.logic.yaml

Execute tests​

java -jar repo-manager.jar policies test /ce/ca/aws/s3/bucket-mfa-delete/prod.logic.yaml

Content​

Open File

---
# This policy is based on CE policy ce:ca:aws:s3:bucket-mfa-delete-enabled
# We're checking the boolean field CA10__versioningMfaDeleteEnabled__c
# If the CA10__versioningStatus__c field is empty we, likely, don't have permissions
# If CA10__lifecycleRulesJson__c field has values than MFA Delete is not applicable
# It doesn't matter if versioning is enabled because remediation will enable it anyway
inputType: "CA10__CaAwsBucket__c"
testData:
- file: "test.data.json"
importExtracts:
- file: "/types/CA10__CaAwsBucket__c/object.extracts.yaml"
conditions:
# You cannot activate MFA if you have lifecycle configuration in place.
# It doesn't matter if it's enabled or not.
- status: "INAPPLICABLE"
currentStateMessage: "It's not possible to use MFA Delete with existing Lifecycle configurations."
check:
NOT_EMPTY:
arg:
EXTRACT: "CA10__lifecycleRulesJson__c"
# It doesn't matter if versioning is active or not because remediation checks
# if versioning is active and activates it if it's not
- status: "INCOMPLIANT"
currentStateMessage: "MFA delete is not enabled."
remediationMessage: "Consider enabling MFA delete on the bucket."
check:
IS_EQUAL:
left:
EXTRACT: "CA10__versioningMfaDeleteEnabled__c"
right:
BOOLEAN: false
otherwise:
status: "COMPLIANT"
currentStateMessage: "The Bucket has MFA Delete."