Documentation ¶
Overview ¶
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Check CDK v2 applications for best practices using a combination on available rule packs.
Index ¶
- func NagRules_ResolveIfPrimitive(node awscdk.CfnResource, parameter interface{}) interface{}
- func NagRules_ResolveResourceFromInstrinsic(node awscdk.CfnResource, parameter interface{}) interface{}
- func NagSuppressions_AddResourceSuppressions(construct interface{}, suppressions *[]*NagPackSuppression, ...)
- func NagSuppressions_AddResourceSuppressionsByPath(stack awscdk.Stack, path interface{}, suppressions *[]*NagPackSuppression, ...)
- func NagSuppressions_AddStackSuppressions(stack awscdk.Stack, suppressions *[]*NagPackSuppression, ...)
- func NewAwsSolutionsChecks_Override(a AwsSolutionsChecks, props *NagPackProps)
- func NewHIPAASecurityChecks_Override(h HIPAASecurityChecks, props *NagPackProps)
- func NewNIST80053R4Checks_Override(n NIST80053R4Checks, props *NagPackProps)
- func NewNIST80053R5Checks_Override(n NIST80053R5Checks, props *NagPackProps)
- func NewNagPack_Override(n NagPack, props *NagPackProps)
- func NewNagRules_Override(n NagRules)
- func NewNagSuppressions_Override(n NagSuppressions)
- func NewPCIDSS321Checks_Override(p PCIDSS321Checks, props *NagPackProps)
- type AwsSolutionsChecks
- type HIPAASecurityChecks
- type IApplyRule
- type NIST80053R4Checks
- type NIST80053R5Checks
- type NagMessageLevel
- type NagPack
- type NagPackProps
- type NagPackSuppression
- type NagRuleCompliance
- type NagRules
- type NagSuppressions
- type PCIDSS321Checks
- type RegexAppliesTo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NagRules_ResolveIfPrimitive ¶
func NagRules_ResolveIfPrimitive(node awscdk.CfnResource, parameter interface{}) interface{}
Use in cases where a primitive value must be known to pass a rule.
https://developer.mozilla.org/en-US/docs/Glossary/Primitive
Returns: Return a value if resolves to a primitive data type, otherwise throw an error.
func NagRules_ResolveResourceFromInstrinsic ¶
func NagRules_ResolveResourceFromInstrinsic(node awscdk.CfnResource, parameter interface{}) interface{}
Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
Returns: Return the Logical resource Id if resolves to a intrinsic function, otherwise the resolved provided value.
func NagSuppressions_AddResourceSuppressions ¶
func NagSuppressions_AddResourceSuppressions(construct interface{}, suppressions *[]*NagPackSuppression, applyToChildren *bool)
Add cdk-nag suppressions to a CfnResource and optionally its children.
func NagSuppressions_AddResourceSuppressionsByPath ¶
func NagSuppressions_AddResourceSuppressionsByPath(stack awscdk.Stack, path interface{}, suppressions *[]*NagPackSuppression, applyToChildren *bool)
Add cdk-nag suppressions to a CfnResource and optionally its children via its path.
func NagSuppressions_AddStackSuppressions ¶
func NagSuppressions_AddStackSuppressions(stack awscdk.Stack, suppressions *[]*NagPackSuppression, applyToNestedStacks *bool)
Apply cdk-nag suppressions to a Stack and optionally nested stacks.
func NewAwsSolutionsChecks_Override ¶
func NewAwsSolutionsChecks_Override(a AwsSolutionsChecks, props *NagPackProps)
func NewHIPAASecurityChecks_Override ¶
func NewHIPAASecurityChecks_Override(h HIPAASecurityChecks, props *NagPackProps)
func NewNIST80053R4Checks_Override ¶
func NewNIST80053R4Checks_Override(n NIST80053R4Checks, props *NagPackProps)
func NewNIST80053R5Checks_Override ¶
func NewNIST80053R5Checks_Override(n NIST80053R5Checks, props *NagPackProps)
func NewNagPack_Override ¶
func NewNagPack_Override(n NagPack, props *NagPackProps)
func NewNagRules_Override ¶
func NewNagRules_Override(n NagRules)
func NewNagSuppressions_Override ¶
func NewNagSuppressions_Override(n NagSuppressions)
func NewPCIDSS321Checks_Override ¶
func NewPCIDSS321Checks_Override(p PCIDSS321Checks, props *NagPackProps)
Types ¶
type AwsSolutionsChecks ¶
type AwsSolutionsChecks interface { NagPack LogIgnores() *bool SetLogIgnores(val *bool) PackName() *string SetPackName(val *string) ReadPackName() *string ReadReportStacks() *[]*string Reports() *bool SetReports(val *bool) ReportStacks() *[]*string SetReportStacks(val *[]*string) Verbose() *bool SetVerbose(val *bool) // Create a rule to be used in the NagPack. ApplyRule(params IApplyRule) // Helper function to create a line for the compliance report. CreateComplianceReportLine(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) *string // The message to output to the console when a rule is triggered. // // Returns: The formatted message string. CreateMessage(ruleId *string, findingId *string, info *string, explanation *string) *string // Check whether a specific rule should be ignored. // // Returns: The reason the rule was ignored, or an empty string. IgnoreRule(ignores *[]*NagPackSuppression, ruleId *string, findingId *string) *string // Initialize the report for the rule pack's compliance report for the resource's Stack if it doesn't exist. InitializeStackReport(params IApplyRule) // All aspects can visit an IConstruct. Visit(node constructs.IConstruct) // Write a line to the rule pack's compliance report for the resource's Stack. WriteToStackComplianceReport(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) }
Check Best practices based on AWS Solutions Security Matrix.
func NewAwsSolutionsChecks ¶
func NewAwsSolutionsChecks(props *NagPackProps) AwsSolutionsChecks
type HIPAASecurityChecks ¶
type HIPAASecurityChecks interface { NagPack LogIgnores() *bool SetLogIgnores(val *bool) PackName() *string SetPackName(val *string) ReadPackName() *string ReadReportStacks() *[]*string Reports() *bool SetReports(val *bool) ReportStacks() *[]*string SetReportStacks(val *[]*string) Verbose() *bool SetVerbose(val *bool) // Create a rule to be used in the NagPack. ApplyRule(params IApplyRule) // Helper function to create a line for the compliance report. CreateComplianceReportLine(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) *string // The message to output to the console when a rule is triggered. // // Returns: The formatted message string. CreateMessage(ruleId *string, findingId *string, info *string, explanation *string) *string // Check whether a specific rule should be ignored. // // Returns: The reason the rule was ignored, or an empty string. IgnoreRule(ignores *[]*NagPackSuppression, ruleId *string, findingId *string) *string // Initialize the report for the rule pack's compliance report for the resource's Stack if it doesn't exist. InitializeStackReport(params IApplyRule) // All aspects can visit an IConstruct. Visit(node constructs.IConstruct) // Write a line to the rule pack's compliance report for the resource's Stack. WriteToStackComplianceReport(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) }
Check for HIPAA Security compliance.
Based on the HIPAA Security AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-hipaa_security.html
func NewHIPAASecurityChecks ¶
func NewHIPAASecurityChecks(props *NagPackProps) HIPAASecurityChecks
type IApplyRule ¶
type IApplyRule interface { // The callback to the rule. Rule(node awscdk.CfnResource) interface{} // Why the rule exists. Explanation() *string SetExplanation(e *string) // Why the rule was triggered. Info() *string SetInfo(i *string) // The annotations message level to apply to the rule if triggered. Level() NagMessageLevel SetLevel(l NagMessageLevel) // Ignores listed in cdk-nag metadata. Node() awscdk.CfnResource SetNode(n awscdk.CfnResource) // Override for the suffix of the Rule ID for this rule. RuleSuffixOverride() *string SetRuleSuffixOverride(r *string) }
Interface for JSII interoperability for passing parameters and the Rule Callback to @applyRule method.
type NIST80053R4Checks ¶
type NIST80053R4Checks interface { NagPack LogIgnores() *bool SetLogIgnores(val *bool) PackName() *string SetPackName(val *string) ReadPackName() *string ReadReportStacks() *[]*string Reports() *bool SetReports(val *bool) ReportStacks() *[]*string SetReportStacks(val *[]*string) Verbose() *bool SetVerbose(val *bool) // Create a rule to be used in the NagPack. ApplyRule(params IApplyRule) // Helper function to create a line for the compliance report. CreateComplianceReportLine(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) *string // The message to output to the console when a rule is triggered. // // Returns: The formatted message string. CreateMessage(ruleId *string, findingId *string, info *string, explanation *string) *string // Check whether a specific rule should be ignored. // // Returns: The reason the rule was ignored, or an empty string. IgnoreRule(ignores *[]*NagPackSuppression, ruleId *string, findingId *string) *string // Initialize the report for the rule pack's compliance report for the resource's Stack if it doesn't exist. InitializeStackReport(params IApplyRule) // All aspects can visit an IConstruct. Visit(node constructs.IConstruct) // Write a line to the rule pack's compliance report for the resource's Stack. WriteToStackComplianceReport(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) }
Check for NIST 800-53 rev 4 compliance.
Based on the NIST 800-53 rev 4 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_4.html
func NewNIST80053R4Checks ¶
func NewNIST80053R4Checks(props *NagPackProps) NIST80053R4Checks
type NIST80053R5Checks ¶
type NIST80053R5Checks interface { NagPack LogIgnores() *bool SetLogIgnores(val *bool) PackName() *string SetPackName(val *string) ReadPackName() *string ReadReportStacks() *[]*string Reports() *bool SetReports(val *bool) ReportStacks() *[]*string SetReportStacks(val *[]*string) Verbose() *bool SetVerbose(val *bool) // Create a rule to be used in the NagPack. ApplyRule(params IApplyRule) // Helper function to create a line for the compliance report. CreateComplianceReportLine(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) *string // The message to output to the console when a rule is triggered. // // Returns: The formatted message string. CreateMessage(ruleId *string, findingId *string, info *string, explanation *string) *string // Check whether a specific rule should be ignored. // // Returns: The reason the rule was ignored, or an empty string. IgnoreRule(ignores *[]*NagPackSuppression, ruleId *string, findingId *string) *string // Initialize the report for the rule pack's compliance report for the resource's Stack if it doesn't exist. InitializeStackReport(params IApplyRule) // All aspects can visit an IConstruct. Visit(node constructs.IConstruct) // Write a line to the rule pack's compliance report for the resource's Stack. WriteToStackComplianceReport(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) }
Check for NIST 800-53 rev 5 compliance.
Based on the NIST 800-53 rev 5 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_5.html
func NewNIST80053R5Checks ¶
func NewNIST80053R5Checks(props *NagPackProps) NIST80053R5Checks
type NagMessageLevel ¶
type NagMessageLevel string
The level of the message that the rule applies.
const ( NagMessageLevel_WARN NagMessageLevel = "WARN" NagMessageLevel_ERROR NagMessageLevel = "ERROR" )
type NagPack ¶
type NagPack interface { awscdk.IAspect LogIgnores() *bool SetLogIgnores(val *bool) PackName() *string SetPackName(val *string) ReadPackName() *string ReadReportStacks() *[]*string Reports() *bool SetReports(val *bool) ReportStacks() *[]*string SetReportStacks(val *[]*string) Verbose() *bool SetVerbose(val *bool) // Create a rule to be used in the NagPack. ApplyRule(params IApplyRule) // Helper function to create a line for the compliance report. CreateComplianceReportLine(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) *string // The message to output to the console when a rule is triggered. // // Returns: The formatted message string. CreateMessage(ruleId *string, findingId *string, info *string, explanation *string) *string // Check whether a specific rule should be ignored. // // Returns: The reason the rule was ignored, or an empty string. IgnoreRule(ignores *[]*NagPackSuppression, ruleId *string, findingId *string) *string // Initialize the report for the rule pack's compliance report for the resource's Stack if it doesn't exist. InitializeStackReport(params IApplyRule) // All aspects can visit an IConstruct. Visit(node constructs.IConstruct) // Write a line to the rule pack's compliance report for the resource's Stack. WriteToStackComplianceReport(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) }
Base class for all rule packs.
type NagPackProps ¶
type NagPackProps struct { // Whether or not to log triggered rules that have been suppressed as informational messages (default: false). LogIgnores *bool `field:"optional" json:"logIgnores" yaml:"logIgnores"` // Whether or not to generate CSV compliance reports for applied Stacks in the App's output directory (default: true). Reports *bool `field:"optional" json:"reports" yaml:"reports"` // Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). Verbose *bool `field:"optional" json:"verbose" yaml:"verbose"` }
Interface for creating a Nag rule pack.
type NagPackSuppression ¶
type NagPackSuppression struct { // The id of the rule to ignore. Id *string `field:"required" json:"id" yaml:"id"` // The reason to ignore the rule (minimum 10 characters). Reason *string `field:"required" json:"reason" yaml:"reason"` // Rule specific granular suppressions. AppliesTo *[]interface{} `field:"optional" json:"appliesTo" yaml:"appliesTo"` }
Interface for creating a rule suppression.
type NagRuleCompliance ¶
type NagRuleCompliance string
The compliance level of a resource in relation to a rule.
const ( NagRuleCompliance_COMPLIANT NagRuleCompliance = "COMPLIANT" NagRuleCompliance_NON_COMPLIANT NagRuleCompliance = "NON_COMPLIANT" NagRuleCompliance_NOT_APPLICABLE NagRuleCompliance = "NOT_APPLICABLE" )
type NagRules ¶
type NagRules interface { }
Helper class with methods for rule creation.
func NewNagRules ¶
func NewNagRules() NagRules
type NagSuppressions ¶
type NagSuppressions interface { }
Helper class with methods to add cdk-nag suppressions to cdk resources.
func NewNagSuppressions ¶
func NewNagSuppressions() NagSuppressions
type PCIDSS321Checks ¶
type PCIDSS321Checks interface { NagPack LogIgnores() *bool SetLogIgnores(val *bool) PackName() *string SetPackName(val *string) ReadPackName() *string ReadReportStacks() *[]*string Reports() *bool SetReports(val *bool) ReportStacks() *[]*string SetReportStacks(val *[]*string) Verbose() *bool SetVerbose(val *bool) // Create a rule to be used in the NagPack. ApplyRule(params IApplyRule) // Helper function to create a line for the compliance report. CreateComplianceReportLine(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) *string // The message to output to the console when a rule is triggered. // // Returns: The formatted message string. CreateMessage(ruleId *string, findingId *string, info *string, explanation *string) *string // Check whether a specific rule should be ignored. // // Returns: The reason the rule was ignored, or an empty string. IgnoreRule(ignores *[]*NagPackSuppression, ruleId *string, findingId *string) *string // Initialize the report for the rule pack's compliance report for the resource's Stack if it doesn't exist. InitializeStackReport(params IApplyRule) // All aspects can visit an IConstruct. Visit(node constructs.IConstruct) // Write a line to the rule pack's compliance report for the resource's Stack. WriteToStackComplianceReport(params IApplyRule, ruleId *string, compliance interface{}, explanation *string) }
Check for PCI DSS 3.2.1 compliance. Based on the PCI DSS 3.2.1 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-pci-dss.html.
func NewPCIDSS321Checks ¶
func NewPCIDSS321Checks(props *NagPackProps) PCIDSS321Checks
type RegexAppliesTo ¶
type RegexAppliesTo struct { // An ECMA-262 regex string. Regex *string `field:"required" json:"regex" yaml:"regex"` }
A regular expression to apply to matching findings.
Source Files ¶
- cdknag.go
- cdknag_AwsSolutionsChecks.go
- cdknag_AwsSolutionsChecks__runtime_type_checks.go
- cdknag_HIPAASecurityChecks.go
- cdknag_HIPAASecurityChecks__runtime_type_checks.go
- cdknag_IApplyRule.go
- cdknag_IApplyRule__runtime_type_checks.go
- cdknag_NIST80053R4Checks.go
- cdknag_NIST80053R4Checks__runtime_type_checks.go
- cdknag_NIST80053R5Checks.go
- cdknag_NIST80053R5Checks__runtime_type_checks.go
- cdknag_NagMessageLevel.go
- cdknag_NagPack.go
- cdknag_NagPackProps.go
- cdknag_NagPackSuppression.go
- cdknag_NagPack__runtime_type_checks.go
- cdknag_NagRuleCompliance.go
- cdknag_NagRules.go
- cdknag_NagRules__runtime_type_checks.go
- cdknag_NagSuppressions.go
- cdknag_NagSuppressions__runtime_type_checks.go
- cdknag_PCIDSS321Checks.go
- cdknag_PCIDSS321Checks__runtime_type_checks.go
- cdknag_RegexAppliesTo.go