github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/internal/adapters/cloudformation/aws/iam/iam.go (about) 1 package iam 2 3 import ( 4 "github.com/khulnasoft-lab/defsec/pkg/providers/aws/iam" 5 "github.com/khulnasoft-lab/defsec/pkg/scanners/cloudformation/parser" 6 defsecTypes "github.com/khulnasoft-lab/defsec/pkg/types" 7 ) 8 9 // Adapt ... 10 func Adapt(cfFile parser.FileContext) iam.IAM { 11 return iam.IAM{ 12 PasswordPolicy: iam.PasswordPolicy{ 13 Metadata: defsecTypes.NewUnmanagedMetadata(), 14 ReusePreventionCount: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), 15 RequireLowercase: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), 16 RequireUppercase: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), 17 RequireNumbers: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), 18 RequireSymbols: defsecTypes.BoolDefault(false, defsecTypes.NewUnmanagedMetadata()), 19 MaxAgeDays: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), 20 MinimumLength: defsecTypes.IntDefault(0, defsecTypes.NewUnmanagedMetadata()), 21 }, 22 Policies: getPolicies(cfFile), 23 Groups: getGroups(cfFile), 24 Users: getUsers(cfFile), 25 Roles: getRoles(cfFile), 26 } 27 }