Documentation
¶
Index ¶
- Constants
- type AuditLog
- type AuditLogAuthenticationInfo
- type AuditLogAuthorizationInfo
- type AuditLogHttpRequest
- type AuditLogMapper
- type AuditLogOperation
- type AuditLogRequestMetadata
- type AuditLogRequestMetadataDestinationAttributes
- type AuditLogResource
- type AuditLogResourceLocation
- type AuditLogSourceLocation
- type AuditLogStatus
- type AuditLogTable
Constants ¶
View Source
const AuditLogTableIdentifier string = "gcp_audit_log"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuditLog ¶
type AuditLog struct {
// embed required enrichment fields
schema.CommonFields
// Mandatory fields
Timestamp time.Time `json:"timestamp"`
LogName string `json:"log_name"`
InsertId string `json:"insert_id"`
Severity string `json:"severity"`
Trace string `json:"trace"`
TraceSampled bool `json:"trace_sampled"`
SpanId string `json:"span_id"`
// Optional fields
ServiceName *string `json:"service_name,omitempty"`
MethodName *string `json:"method_name,omitempty"`
ResourceName *string `json:"resource_name,omitempty"`
ResourceLocation *AuditLogResourceLocation `json:"resource_location,omitempty"`
AuthenticationInfo *AuditLogAuthenticationInfo `json:"authentication_info,omitempty"`
Status *AuditLogStatus `json:"status,omitempty"`
Resource *AuditLogResource `json:"resource,omitempty"`
Operation *AuditLogOperation `json:"operation,omitempty"`
RequestMetadata *AuditLogRequestMetadata `json:"request_metadata,omitempty"`
HttpRequest *AuditLogHttpRequest `json:"http_request,omitempty"`
SourceLocation *AuditLogSourceLocation `json:"source_location,omitempty"`
Labels *map[string]string `json:"labels,omitempty" parquet:"type=JSON"`
NumResponseItems *int64 `json:"num_response_items,omitempty"`
AuthorizationInfo []*AuditLogAuthorizationInfo `json:"authorization_info,omitempty" parquet:"type=JSON"`
PolicyViolationInfo *audit.PolicyViolationInfo `json:"policy_violation_info,omitempty" parquet:"type=JSON"` // nested map/[]struct
ResourceOriginalState interface{} `json:"resource_original_state,omitempty" parquet:"type=JSON"`
Request map[string]interface{} `json:"request,omitempty" parquet:"type=JSON"`
Response map[string]interface{} `json:"response,omitempty" parquet:"type=JSON"`
Metadata map[string]interface{} `json:"metadata,omitempty" parquet:"type=JSON"`
ServiceData *map[string]interface{} `json:"service_data,omitempty" parquet:"type=JSON"`
}
AuditLog represents an enriched row ready for parquet writing
func NewAuditLog ¶
func NewAuditLog() *AuditLog
func (*AuditLog) GetColumnDescriptions ¶
type AuditLogAuthenticationInfo ¶
type AuditLogAuthenticationInfo struct {
PrincipalEmail string `json:"principal_email"`
PrincipalSubject string `json:"principal_subject"`
AuthoritySelector string `json:"authority_selector"`
ServiceAccountKeyName string `json:"service_account_key_name"`
ThirdPartyPrincipal map[string]string `json:"third_party_principal,omitempty" parquet:"type=JSON"`
ServiceAccountDelegationInfo []string `json:"service_account_delegation_info,omitempty" parquet:"type=JSON"`
}
type AuditLogHttpRequest ¶
type AuditLogHttpRequest struct {
Method string `json:"method"`
Url string `json:"url"`
RequestSize int64 `json:"request_size"`
RequestHeaders map[string][]string `json:"request_headers" parquet:"type=JSON"`
Status int `json:"status"`
ResponseSize int64 `json:"response_size"`
LocalIp string `json:"local_ip"`
RemoteIp string `json:"remote_ip"`
Latency string `json:"latency"`
CacheHit bool `json:"cache_hit"`
CacheLookup bool `json:"cache_lookup"`
CacheValidatedWithOriginServer bool `json:"cache_validated_with_origin_server"`
CacheFillBytes int64 `json:"cache_fill_bytes"`
UserAgent *string `json:"user_agent,omitempty"`
}
type AuditLogMapper ¶
type AuditLogMapper struct {
}
func (*AuditLogMapper) Identifier ¶
func (m *AuditLogMapper) Identifier() string
type AuditLogOperation ¶
type AuditLogRequestMetadata ¶
type AuditLogRequestMetadata struct {
CallerIp string `json:"caller_ip"`
CallerSuppliedUserAgent string `json:"caller_supplied_user_agent"`
CallerNetwork string `json:"caller_network"`
RequestAttributes *map[string]interface{} `json:"request_attributes,omitempty" parquet:"type=JSON"`
DestinationAttributes *AuditLogRequestMetadataDestinationAttributes `json:"destination_attributes,omitempty"`
}
type AuditLogResource ¶
type AuditLogSourceLocation ¶
type AuditLogStatus ¶
type AuditLogTable ¶
type AuditLogTable struct {
}
func (*AuditLogTable) EnrichRow ¶
func (c *AuditLogTable) EnrichRow(row *AuditLog, sourceEnrichmentFields schema.SourceEnrichment) (*AuditLog, error)
func (*AuditLogTable) GetDescription ¶
func (c *AuditLogTable) GetDescription() string
func (*AuditLogTable) GetSourceMetadata ¶
func (c *AuditLogTable) GetSourceMetadata() []*table.SourceMetadata[*AuditLog]
func (*AuditLogTable) Identifier ¶
func (c *AuditLogTable) Identifier() string
Click to show internal directories.
Click to hide internal directories.