Documentation
¶
Index ¶
- type AccessKeysModule
- type AnalyzedRole
- type Bucket
- type BucketsModule
- type CloudTrailEvent
- type ECRModule
- type Endpoint
- type EndpointsModule
- type EnvironmentVariable
- type EnvsModule
- type FilesystemObject
- type FilesystemsModule
- type GAADGroup
- type GAADPolicy
- type GAADRole
- type GAADUser
- type GlobalResourceCount2
- type Group
- type IamPermissionsModule
- type IamPrincipalsModule
- type IamSimulatorModule
- type InstancesModule
- type Inventory2Module
- func (m *Inventory2Module) PrintGlobalResources(outputFormat string, outputDirectory string, verbosity int, ...)
- func (m *Inventory2Module) PrintInventoryPerRegion(outputFormat string, outputDirectory string, verbosity int)
- func (m *Inventory2Module) PrintTotalResources(outputFormat string)
- func (m *Inventory2Module) Receiver(receiver chan GlobalResourceCount2, receiverDone chan bool)
- type ListOfItems
- type ListOfPrincipals
- type MappedInstance
- type OutboundAssumeRoleEntry
- type OutboundAssumedRolesModule
- type PermissionsRow
- type RAMModule
- type Record
- type Repository
- type Resource
- type Role
- type RoleTrustsModule
- type Route53Module
- type Secret
- type SecretsModule
- type SimulatorResult
- type StatementEntry
- type User
- type UserKeys
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessKeysModule ¶
type AccessKeysModule struct {
// General configuration data
IAMClient *iam.Client
Caller sts.GetCallerIdentityOutput
AWSProfile string
OutputFormat string
CommandCounter console.CommandCounter
// Main module data
AnalyzedUsers []UserKeys
// contains filtered or unexported fields
}
func (*AccessKeysModule) PrintAccessKeys ¶
func (m *AccessKeysModule) PrintAccessKeys(filter string, outputFormat string, outputDirectory string, verbosity int)
type AnalyzedRole ¶
type AnalyzedRole struct {
// contains filtered or unexported fields
}
type BucketsModule ¶
type BucketsModule struct {
// General configuration data
S3Client *s3.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
Buckets []Bucket
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*BucketsModule) PrintBuckets ¶
func (m *BucketsModule) PrintBuckets(outputFormat string, outputDirectory string, verbosity int)
func (*BucketsModule) Receiver ¶
func (m *BucketsModule) Receiver(receiver chan Bucket, receiverDone chan bool)
type CloudTrailEvent ¶
type CloudTrailEvent struct {
EventVersion string `json:"eventVersion"`
UserIdentity struct {
Type string `json:"type"`
PrincipalID string `json:"principalId"`
Arn string `json:"arn"`
AccountID string `json:"accountId"`
AccessKeyID string `json:"accessKeyId"`
SessionContext struct {
SessionIssuer struct {
Type string `json:"type"`
PrincipalID string `json:"principalId"`
Arn string `json:"arn"`
AccountID string `json:"accountId"`
UserName string `json:"userName"`
} `json:"sessionIssuer"`
WebIDFederationData struct {
} `json:"webIdFederationData"`
Attributes struct {
CreationDate time.Time `json:"creationDate"`
MfaAuthenticated string `json:"mfaAuthenticated"`
} `json:"attributes"`
} `json:"sessionContext"`
} `json:"userIdentity"`
EventTime time.Time `json:"eventTime"`
EventSource string `json:"eventSource"`
EventName string `json:"eventName"`
AwsRegion string `json:"awsRegion"`
SourceIPAddress string `json:"sourceIPAddress"`
UserAgent string `json:"userAgent"`
RequestParameters struct {
RoleArn string `json:"roleArn"`
RoleSessionName string `json:"roleSessionName"`
} `json:"requestParameters"`
ResponseElements struct {
Credentials struct {
AccessKeyID string `json:"accessKeyId"`
SessionToken string `json:"sessionToken"`
Expiration string `json:"expiration"`
} `json:"credentials"`
AssumedRoleUser struct {
AssumedRoleID string `json:"assumedRoleId"`
Arn string `json:"arn"`
} `json:"assumedRoleUser"`
} `json:"responseElements"`
RequestID string `json:"requestID"`
EventID string `json:"eventID"`
ReadOnly bool `json:"readOnly"`
Resources []struct {
AccountID string `json:"accountId"`
Type string `json:"type"`
Arn string `json:"ARN"`
} `json:"resources"`
EventType string `json:"eventType"`
ManagementEvent bool `json:"managementEvent"`
RecipientAccountID string `json:"recipientAccountId"`
EventCategory string `json:"eventCategory"`
TLSDetails struct {
TLSVersion string `json:"tlsVersion"`
CipherSuite string `json:"cipherSuite"`
ClientProvidedHostHeader string `json:"clientProvidedHostHeader"`
} `json:"tlsDetails"`
}
type ECRModule ¶
type ECRModule struct {
// General configuration data
ECRClient *ecr.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
Repositories []Repository
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*ECRModule) Receiver ¶
func (m *ECRModule) Receiver(receiver chan Repository, receiverDone chan bool)
type EndpointsModule ¶
type EndpointsModule struct {
// General configuration data
LambdaClient *lambda.Client
EKSClient *eks.Client
MQClient *mq.Client
OpenSearchClient *opensearch.Client
GrafanaClient *grafana.Client
ELBv2Client *elasticloadbalancingv2.Client
ELBClient *elasticloadbalancing.Client
APIGatewayClient *apigateway.Client
APIGatewayv2Client *apigatewayv2.Client
RDSClient *rds.Client
RedshiftClient *redshift.Client
S3Client *s3.Client
CloudfrontClient *cloudfront.Client
AppRunnerClient *apprunner.Client
LightsailClient *lightsail.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
Endpoints []Endpoint
CommandCounter console.CommandCounter
Errors []string
// contains filtered or unexported fields
}
func (*EndpointsModule) PrintEndpoints ¶
func (m *EndpointsModule) PrintEndpoints(outputFormat string, outputDirectory string, verbosity int)
func (*EndpointsModule) Receiver ¶
func (m *EndpointsModule) Receiver(receiver chan Endpoint, receiverDone chan bool)
type EnvironmentVariable ¶
type EnvironmentVariable struct {
// contains filtered or unexported fields
}
type EnvsModule ¶
type EnvsModule struct {
// General configuration data
Caller sts.GetCallerIdentityOutput
AWSRegions []string
AWSProfile string
OutputFormat string
// Service Clients
ECSClient *ecs.Client
LambdaClient *lambda.Client
AppRunnerClient *apprunner.Client
LightsailClient *lightsail.Client
SagemakerClient *sagemaker.Client
// Main module data
EnvironmentVariables []EnvironmentVariable
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*EnvsModule) PrintEnvs ¶
func (m *EnvsModule) PrintEnvs(outputFormat string, outputDirectory string, verbosity int)
func (*EnvsModule) Receiver ¶
func (m *EnvsModule) Receiver(receiver chan EnvironmentVariable, receiverDone chan bool)
type FilesystemObject ¶
type FilesystemsModule ¶
type FilesystemsModule struct {
EFSClient *efs.Client
FSxClient *fsx.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
Filesystems []FilesystemObject
Regions [30]FilesystemObject
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*FilesystemsModule) PrintFilesystems ¶
func (m *FilesystemsModule) PrintFilesystems(outputFormat string, outputDirectory string, verbosity int)
func (*FilesystemsModule) Receiver ¶
func (m *FilesystemsModule) Receiver(receiver chan FilesystemObject, receiverDone chan bool)
type GAADGroup ¶
type GAADGroup struct {
Arn string
Name string
AttachedPolicies []types.AttachedPolicy
InlinePolicies []types.PolicyDetail
}
type GAADPolicy ¶
type GAADPolicy struct {
Name string
Arn string
PolicyVersionList []types.PolicyVersion
}
type GAADRole ¶
type GAADRole struct {
Arn string
Name string
AttachedPolicies []types.AttachedPolicy
InlinePolicies []types.PolicyDetail
}
type GAADUser ¶
type GAADUser struct {
Name string
Arn string
AttachedPolicies []types.AttachedPolicy
InlinePolicies []types.PolicyDetail
GroupList []string
}
type GlobalResourceCount2 ¶
type GlobalResourceCount2 struct {
// contains filtered or unexported fields
}
type IamPermissionsModule ¶
type IamPermissionsModule struct {
// General configuration data
IAMClient *iam.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
Policies []GAADPolicy
Users []GAADUser
Roles []GAADRole
Groups []GAADGroup
Rows []PermissionsRow
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*IamPermissionsModule) PrintIamPermissions ¶
func (m *IamPermissionsModule) PrintIamPermissions(outputFormat string, outputDirectory string, verbosity int, principal string)
type IamPrincipalsModule ¶
type IamPrincipalsModule struct {
// General configuration data
IAMClient *iam.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
Users []User
Roles []Role
Groups []Group
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*IamPrincipalsModule) PrintIamPrincipals ¶
func (m *IamPrincipalsModule) PrintIamPrincipals(outputFormat string, outputDirectory string, verbosity int)
type IamSimulatorModule ¶
type IamSimulatorModule struct {
// General configuration data
IAMClient *iam.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
SimulatorResults []SimulatorResult
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*IamSimulatorModule) PrintIamSimulator ¶
func (*IamSimulatorModule) Receiver ¶
func (m *IamSimulatorModule) Receiver(receiver chan SimulatorResult, receiverDone chan bool)
type InstancesModule ¶
type InstancesModule struct {
// General configuration data
EC2Client *ec2.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
UserDataAttributesOnly bool
AWSProfile string
// Module's Results
MappedInstances []MappedInstance
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*InstancesModule) Instances ¶
func (m *InstancesModule) Instances(filter string, outputFormat string, outputDirectory string, verbosity int)
func (*InstancesModule) Receiver ¶
func (m *InstancesModule) Receiver(receiver chan MappedInstance, receiverDone chan bool)
type Inventory2Module ¶
type Inventory2Module struct {
// General configuration data
LambdaClient *lambda.Client
EC2Client *ec2.Client
ECSClient *ecs.Client
EKSClient *eks.Client
S3Client *s3.Client
CloudFormationClient *cloudformation.Client
SecretsManagerClient *secretsmanager.Client
SSMClient *ssm.Client
RDSClient *rds.Client
APIGatewayv2Client *apigatewayv2.Client
ELBv2Client *elasticloadbalancingv2.Client
ELBClient *elasticloadbalancing.Client
IAMClient *iam.Client
MQClient *mq.Client
OpenSearchClient *opensearch.Client
GrafanaClient *grafana.Client
APIGatewayClient *apigateway.Client
RedshiftClient *redshift.Client
CloudfrontClient *cloudfront.Client
AppRunnerClient *apprunner.Client
LightsailClient *lightsail.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
RegionResourceCount int
CommandCounter console.CommandCounter
GlobalResourceCounts []GlobalResourceCount2
// contains filtered or unexported fields
}
func (*Inventory2Module) PrintGlobalResources ¶
func (m *Inventory2Module) PrintGlobalResources(outputFormat string, outputDirectory string, verbosity int, dataReceiver chan GlobalResourceCount2)
func (*Inventory2Module) PrintInventoryPerRegion ¶
func (m *Inventory2Module) PrintInventoryPerRegion(outputFormat string, outputDirectory string, verbosity int)
func (*Inventory2Module) PrintTotalResources ¶
func (m *Inventory2Module) PrintTotalResources(outputFormat string)
func (*Inventory2Module) Receiver ¶
func (m *Inventory2Module) Receiver(receiver chan GlobalResourceCount2, receiverDone chan bool)
type ListOfItems ¶
type ListOfItems []string
A custom unmarshaller is necessary because the list of principals can be an array of strings or a string. https://stackoverflow.com/questions/65854778/parsing-arn-from-iam-policy-using-regex
func (*ListOfItems) UnmarshalJSON ¶
func (r *ListOfItems) UnmarshalJSON(b []byte) error
type ListOfPrincipals ¶
type ListOfPrincipals []string
A custom unmarshaller is necessary because the list of principals can be an array of strings or a string. https://stackoverflow.com/questions/65854778/parsing-arn-from-iam-policy-using-regex
func (*ListOfPrincipals) UnmarshalJSON ¶
func (r *ListOfPrincipals) UnmarshalJSON(b []byte) error
type MappedInstance ¶
type OutboundAssumeRoleEntry ¶
type OutboundAssumedRolesModule ¶
type OutboundAssumedRolesModule struct {
// General configuration data
CloudTrailClient *cloudtrail.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
OutboundAssumeRoleEntries []OutboundAssumeRoleEntry
Days int
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*OutboundAssumedRolesModule) PrintOutboundRoleTrusts ¶
func (m *OutboundAssumedRolesModule) PrintOutboundRoleTrusts(days int, outputFormat string, outputDirectory string, verbosity int)
func (*OutboundAssumedRolesModule) Receiver ¶
func (m *OutboundAssumedRolesModule) Receiver(receiver chan OutboundAssumeRoleEntry, receiverDone chan bool)
type PermissionsRow ¶
type RAMModule ¶
type RAMModule struct {
// General configuration data
RAMClient *ram.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
// Main module data
Resources []Resource
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
type Repository ¶
type RoleTrustsModule ¶
type RoleTrustsModule struct {
// General configuration data
IAMClient iam.ListRolesAPIClient
Caller sts.GetCallerIdentityOutput
AWSProfile string
CommandCounter console.CommandCounter
// Main module data
AnalyzedRoles []AnalyzedRole
// contains filtered or unexported fields
}
func (*RoleTrustsModule) PrintRoleTrusts ¶
func (m *RoleTrustsModule) PrintRoleTrusts(outputFormat string, outputDirectory string, verbosity int)
type Route53Module ¶
type Route53Module struct {
// General configuration data
Route53Client *route53.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
OutputFormat string
AWSProfile string
CommandCounter console.CommandCounter
// Main module data
Records []Record
// contains filtered or unexported fields
}
func (*Route53Module) PrintRoute53 ¶
func (m *Route53Module) PrintRoute53(outputFormat string, outputDirectory string, verbosity int)
type SecretsModule ¶
type SecretsModule struct {
// General configuration data
SecretsManagerClient *secretsmanager.Client
SSMClient *ssm.Client
Caller sts.GetCallerIdentityOutput
AWSRegions []string
AWSProfile string
// Main module data
Secrets []Secret
CommandCounter console.CommandCounter
// contains filtered or unexported fields
}
func (*SecretsModule) PrintSecrets ¶
func (m *SecretsModule) PrintSecrets(outputFormat string, outputDirectory string, verbosity int)
func (*SecretsModule) Receiver ¶
func (m *SecretsModule) Receiver(receiver chan Secret, receiverDone chan bool)
type SimulatorResult ¶
type StatementEntry ¶
type StatementEntry struct {
Effect string `json:"Effect"`
Action ListOfItems `json:"Action"`
Resource ListOfItems `json:"Resource"`
Condition ListOfItems `json:"Condition"`
}
Click to show internal directories.
Click to hide internal directories.