@enfo/aws-cdkompliance
Version:
Tagging and compliant resources using the CDK
72 lines • 7.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.exemptBucketFromSslAutoFix = exports.exemptBucketFromBlockPublicAutoFix = exports.ExemptionValue = exports.enableBackups = exports.BackupPlan = void 0;
const aws_cdk_lib_1 = require("aws-cdk-lib");
/**
* Available Backup plans. Availability depends on your agreement with Enfo
*/
var BackupPlan;
(function (BackupPlan) {
/**
* Creates backups in the region of the resource
*/
BackupPlan["STANDARD"] = "Standard";
/**
* Creates backups in the region of the resource, and copies of those backups in eu-north-1, the Stockholm region
*/
BackupPlan["STOCKHOLM"] = "StandardCrossRegionStockholm";
/**
* Creates backups in the region of the resource, and copies of those backups in eu-west-1, the Ireland region
*/
BackupPlan["IRELAND"] = "StandardCrossRegionIreland";
/**
* Creates backups in the region of the resource, and copies of those backups in eu-central-1, the Frankfurt region
*/
BackupPlan["FRANKFURT"] = "StandardCrossRegionFrankfurt";
})(BackupPlan = exports.BackupPlan || (exports.BackupPlan = {}));
/**
* Tags a CDK Construct to enable Enfo Standard Backups.
* If an a stack is supplied this will be applied to all resources within the stack.
* See README for examples
*
* Backups only applies to databases. The following types of resources will be affected:
* Aurora
* RDS
* DynamoDB
* EBS
* EC2
* EFS
* FSx
* Storage Gateway
* DocumentDB
* Neptune
*
* @param construct
* A CDK Construct
* @param backupPlan
* Which BackupPlan to use. Defaults to STANDARD
*/
exports.enableBackups = (construct, backupPlan = BackupPlan.STANDARD) => {
aws_cdk_lib_1.Tags.of(construct).add('BackupPlan', backupPlan);
};
/**
* Static value used for exemption tags
*/
exports.ExemptionValue = 'Exempt';
/**
* Tags a Bucket as exempt from the auto fixing of https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-2 which is handled within Enfo managed accounts
* @param bucket
* CDK Bucket Construct
*/
exports.exemptBucketFromBlockPublicAutoFix = (bucket) => {
aws_cdk_lib_1.Tags.of(bucket).add('BlockPublicAccessAutomation', exports.ExemptionValue);
};
/**
* Tags a Bucket as exempt from the auto fixing of https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-5 which is handled within Enfo managed accounts
* @param bucket
* CDK Bucket Construct
*/
exports.exemptBucketFromSslAutoFix = (bucket) => {
aws_cdk_lib_1.Tags.of(bucket).add('SecureTransportAutomation', exports.ExemptionValue);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQWtDO0FBSWxDOztHQUVHO0FBQ0gsSUFBWSxVQWlCWDtBQWpCRCxXQUFZLFVBQVU7SUFDcEI7O09BRUc7SUFDSCxtQ0FBcUIsQ0FBQTtJQUNyQjs7T0FFRztJQUNILHdEQUEwQyxDQUFBO0lBQzFDOztPQUVHO0lBQ0gsb0RBQXNDLENBQUE7SUFDdEM7O09BRUc7SUFDSCx3REFBMEMsQ0FBQTtBQUM1QyxDQUFDLEVBakJXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBaUJyQjtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDVSxRQUFBLGFBQWEsR0FBRyxDQUFDLFNBQW9CLEVBQUUsYUFBeUIsVUFBVSxDQUFDLFFBQVEsRUFBUSxFQUFFO0lBQ3hHLGtCQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDVSxRQUFBLGNBQWMsR0FBRyxRQUFRLENBQUE7QUFFdEM7Ozs7R0FJRztBQUNVLFFBQUEsa0NBQWtDLEdBQUcsQ0FBQyxNQUFjLEVBQVEsRUFBRTtJQUN6RSxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsc0JBQWMsQ0FBQyxDQUFBO0FBQ3BFLENBQUMsQ0FBQTtBQUVEOzs7O0dBSUc7QUFDVSxRQUFBLDBCQUEwQixHQUFHLENBQUMsTUFBYyxFQUFRLEVBQUU7SUFDakUsa0JBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLHNCQUFjLENBQUMsQ0FBQTtBQUNsRSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWdzIH0gZnJvbSAnYXdzLWNkay1saWInXG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJ1xuXG4vKipcbiAqIEF2YWlsYWJsZSBCYWNrdXAgcGxhbnMuIEF2YWlsYWJpbGl0eSBkZXBlbmRzIG9uIHlvdXIgYWdyZWVtZW50IHdpdGggRW5mb1xuICovXG5leHBvcnQgZW51bSBCYWNrdXBQbGFuIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYmFja3VwcyBpbiB0aGUgcmVnaW9uIG9mIHRoZSByZXNvdXJjZVxuICAgKi9cbiAgU1RBTkRBUkQgPSAnU3RhbmRhcmQnLFxuICAvKipcbiAgICogQ3JlYXRlcyBiYWNrdXBzIGluIHRoZSByZWdpb24gb2YgdGhlIHJlc291cmNlLCBhbmQgY29waWVzIG9mIHRob3NlIGJhY2t1cHMgaW4gZXUtbm9ydGgtMSwgdGhlIFN0b2NraG9sbSByZWdpb25cbiAgICovXG4gIFNUT0NLSE9MTSA9ICdTdGFuZGFyZENyb3NzUmVnaW9uU3RvY2tob2xtJyxcbiAgLyoqXG4gICAqIENyZWF0ZXMgYmFja3VwcyBpbiB0aGUgcmVnaW9uIG9mIHRoZSByZXNvdXJjZSwgYW5kIGNvcGllcyBvZiB0aG9zZSBiYWNrdXBzIGluIGV1LXdlc3QtMSwgdGhlIElyZWxhbmQgcmVnaW9uXG4gICAqL1xuICBJUkVMQU5EID0gJ1N0YW5kYXJkQ3Jvc3NSZWdpb25JcmVsYW5kJyxcbiAgLyoqXG4gICAqIENyZWF0ZXMgYmFja3VwcyBpbiB0aGUgcmVnaW9uIG9mIHRoZSByZXNvdXJjZSwgYW5kIGNvcGllcyBvZiB0aG9zZSBiYWNrdXBzIGluIGV1LWNlbnRyYWwtMSwgdGhlIEZyYW5rZnVydCByZWdpb25cbiAgICovXG4gIEZSQU5LRlVSVCA9ICdTdGFuZGFyZENyb3NzUmVnaW9uRnJhbmtmdXJ0J1xufVxuXG4vKipcbiAqIFRhZ3MgYSBDREsgQ29uc3RydWN0IHRvIGVuYWJsZSBFbmZvIFN0YW5kYXJkIEJhY2t1cHMuXG4gKiBJZiBhbiBhIHN0YWNrIGlzIHN1cHBsaWVkIHRoaXMgd2lsbCBiZSBhcHBsaWVkIHRvIGFsbCByZXNvdXJjZXMgd2l0aGluIHRoZSBzdGFjay5cbiAqIFNlZSBSRUFETUUgZm9yIGV4YW1wbGVzXG4gKlxuICogQmFja3VwcyBvbmx5IGFwcGxpZXMgdG8gZGF0YWJhc2VzLiBUaGUgZm9sbG93aW5nIHR5cGVzIG9mIHJlc291cmNlcyB3aWxsIGJlIGFmZmVjdGVkOlxuICogQXVyb3JhXG4gKiBSRFNcbiAqIER5bmFtb0RCXG4gKiBFQlNcbiAqIEVDMlxuICogRUZTXG4gKiBGU3hcbiAqIFN0b3JhZ2UgR2F0ZXdheVxuICogRG9jdW1lbnREQlxuICogTmVwdHVuZVxuICpcbiAqIEBwYXJhbSBjb25zdHJ1Y3RcbiAqIEEgQ0RLIENvbnN0cnVjdFxuICogQHBhcmFtIGJhY2t1cFBsYW5cbiAqIFdoaWNoIEJhY2t1cFBsYW4gdG8gdXNlLiBEZWZhdWx0cyB0byBTVEFOREFSRFxuICovXG5leHBvcnQgY29uc3QgZW5hYmxlQmFja3VwcyA9IChjb25zdHJ1Y3Q6IENvbnN0cnVjdCwgYmFja3VwUGxhbjogQmFja3VwUGxhbiA9IEJhY2t1cFBsYW4uU1RBTkRBUkQpOiB2b2lkID0+IHtcbiAgVGFncy5vZihjb25zdHJ1Y3QpLmFkZCgnQmFja3VwUGxhbicsIGJhY2t1cFBsYW4pXG59XG5cbi8qKlxuICogU3RhdGljIHZhbHVlIHVzZWQgZm9yIGV4ZW1wdGlvbiB0YWdzXG4gKi9cbmV4cG9ydCBjb25zdCBFeGVtcHRpb25WYWx1ZSA9ICdFeGVtcHQnXG5cbi8qKlxuICogVGFncyBhIEJ1Y2tldCBhcyBleGVtcHQgZnJvbSB0aGUgYXV0byBmaXhpbmcgb2YgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlY3VyaXR5aHViL2xhdGVzdC91c2VyZ3VpZGUvc2VjdXJpdHlodWItc3RhbmRhcmRzLWZzYnAtY29udHJvbHMuaHRtbCNmc2JwLXMzLTIgd2hpY2ggaXMgaGFuZGxlZCB3aXRoaW4gRW5mbyBtYW5hZ2VkIGFjY291bnRzXG4gKiBAcGFyYW0gYnVja2V0XG4gKiBDREsgQnVja2V0IENvbnN0cnVjdFxuICovXG5leHBvcnQgY29uc3QgZXhlbXB0QnVja2V0RnJvbUJsb2NrUHVibGljQXV0b0ZpeCA9IChidWNrZXQ6IEJ1Y2tldCk6IHZvaWQgPT4ge1xuICBUYWdzLm9mKGJ1Y2tldCkuYWRkKCdCbG9ja1B1YmxpY0FjY2Vzc0F1dG9tYXRpb24nLCBFeGVtcHRpb25WYWx1ZSlcbn1cblxuLyoqXG4gKiBUYWdzIGEgQnVja2V0IGFzIGV4ZW1wdCBmcm9tIHRoZSBhdXRvIGZpeGluZyBvZiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VjdXJpdHlodWIvbGF0ZXN0L3VzZXJndWlkZS9zZWN1cml0eWh1Yi1zdGFuZGFyZHMtZnNicC1jb250cm9scy5odG1sI2ZzYnAtczMtNSB3aGljaCBpcyBoYW5kbGVkIHdpdGhpbiBFbmZvIG1hbmFnZWQgYWNjb3VudHNcbiAqIEBwYXJhbSBidWNrZXRcbiAqIENESyBCdWNrZXQgQ29uc3RydWN0XG4gKi9cbmV4cG9ydCBjb25zdCBleGVtcHRCdWNrZXRGcm9tU3NsQXV0b0ZpeCA9IChidWNrZXQ6IEJ1Y2tldCk6IHZvaWQgPT4ge1xuICBUYWdzLm9mKGJ1Y2tldCkuYWRkKCdTZWN1cmVUcmFuc3BvcnRBdXRvbWF0aW9uJywgRXhlbXB0aW9uVmFsdWUpXG59XG4iXX0=