Documentation ¶
Index ¶
- func ValidateS3URI(uri string) error
- type ExternalAuditStorage
- func GenerateDraftExternalAuditStorage(integrationName, region string) (*ExternalAuditStorage, error)
- func NewClusterExternalAuditStorage(metadata header.Metadata, spec ExternalAuditStorageSpec) (*ExternalAuditStorage, error)
- func NewDraftExternalAuditStorage(metadata header.Metadata, spec ExternalAuditStorageSpec) (*ExternalAuditStorage, error)
- func (a *ExternalAuditStorage) CheckAndSetDefaults() error
- func (a *ExternalAuditStorage) Clone() *ExternalAuditStorage
- func (a *ExternalAuditStorage) CloneResource() types.ResourceWithLabels
- func (a *ExternalAuditStorage) GetMetadata() types.Metadata
- func (a *ExternalAuditStorage) MatchSearch(values []string) bool
- type ExternalAuditStorageSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateS3URI ¶
ValidateS3URI validates a URI indicating an S3 bucket and prefix for storing audit logs (session recordings or events).
Types ¶
type ExternalAuditStorage ¶
type ExternalAuditStorage struct { // ResourceHeader is the common resource header for all resources. header.ResourceHeader // Spec is the specification for the External Audit Storage. Spec ExternalAuditStorageSpec `json:"spec" yaml:"spec"` }
ExternalAuditStorage is internal representation of an External Audit Storage resource. Proto definion can be found https://github.com/gravitational/teleport/blob/master/api/proto/teleport/externalauditstorage/v1/externalauditstorage.proto
func GenerateDraftExternalAuditStorage ¶
func GenerateDraftExternalAuditStorage(integrationName, region string) (*ExternalAuditStorage, error)
GenerateDraftExternalAuditStorage creates a new draft ExternalAuditStorage with randomized resource names.
func NewClusterExternalAuditStorage ¶
func NewClusterExternalAuditStorage(metadata header.Metadata, spec ExternalAuditStorageSpec) (*ExternalAuditStorage, error)
NewClusterExternalAuditStorage will create a new cluster External Audit Storage.
func NewDraftExternalAuditStorage ¶
func NewDraftExternalAuditStorage(metadata header.Metadata, spec ExternalAuditStorageSpec) (*ExternalAuditStorage, error)
NewDraftExternalAuditStorage will create a new draft External Audit Storage.
func (*ExternalAuditStorage) CheckAndSetDefaults ¶
func (a *ExternalAuditStorage) CheckAndSetDefaults() error
CheckAndSetDefaults validates fields and populates empty fields with default values.
func (*ExternalAuditStorage) Clone ¶
func (a *ExternalAuditStorage) Clone() *ExternalAuditStorage
Clone returs a copy of the resource.
func (*ExternalAuditStorage) CloneResource ¶
func (a *ExternalAuditStorage) CloneResource() types.ResourceWithLabels
CloneResource returns a copy of the resource as types.ResourceWithLabels.
func (*ExternalAuditStorage) GetMetadata ¶
func (a *ExternalAuditStorage) GetMetadata() types.Metadata
GetMetadata returns metadata. This is specifically for conforming to the Resource interface, and should be removed when possible.
func (*ExternalAuditStorage) MatchSearch ¶
func (a *ExternalAuditStorage) MatchSearch(values []string) bool
MatchSearch goes through select field values of a resource and tries to match against the list of search values.
type ExternalAuditStorageSpec ¶
type ExternalAuditStorageSpec struct { // IntegrationName is name of existing OIDC integration used to // generate AWS credentials. IntegrationName string `json:"integration_name" yaml:"integration_name"` // PolicyName is the name of the IAM policy to attach to the integration // IAM role. PolicyName string `json:"policy_name" yaml:"policy_name"` // Region is the AWS region where the infrastructure is hosted. Region string `json:"region" yaml:"region"` // SessionRecordingsURI is s3 path used to store session recordings. SessionRecordingsURI string `json:"session_recordings_uri" yaml:"session_recordings_uri"` // AthenaWorkgroup is workgroup used by Athena audit logs during queries. AthenaWorkgroup string `json:"athena_workgroup" yaml:"athena_workgroup"` // GlueDatabase is database used by Athena audit logs during queries. GlueDatabase string `json:"glue_database" yaml:"glue_database"` // GlueTable is table used by Athena audit logs during queries. GlueTable string `json:"glue_table" yaml:"glue_table"` // AuditEventsLongTermURI is s3 path used to store batched parquet files with // audit events, partitioned by event date. AuditEventsLongTermURI string `json:"audit_events_long_term_uri" yaml:"audit_events_long_term_uri"` // AthenaResultsURI is s3 path used to store temporary results generated by // Athena engine. AthenaResultsURI string `json:"athena_results_uri" yaml:"athena_results_uri"` }
ExternalAuditStorageSpec is the specification for an External Audit Storage.