Documentation ¶
Index ¶
- Constants
- func AddSourceAsLambdaTrigger(integrationID string) error
- func AllowExternalSnsTopicSubscription(accountID string) error
- func AllowInputDataBucketSubscription() error
- func CreateSourceSqsQueue(integrationID string, allowedPrincipalArns []string, ...) error
- func DeleteSourceSqsQueue(integrationID string) error
- func DisableExternalSnsTopicSubscription(accountID string) error
- func RemoveSourceFromLambdaTrigger(integrationID string) error
- func Setup()
- func SourceSqsQueueArn(integrationID string) string
- func SourceSqsQueueURL(integrationID string) string
- func UpdateSourceSqsQueue(integrationID string, allowedPrincipalArns []string, ...) error
- type API
- func (api API) CheckIntegration(input *models.CheckIntegrationInput) (*models.SourceIntegrationHealth, error)
- func (API) DeleteIntegration(input *models.DeleteIntegrationInput) error
- func (api API) FullScan(input *models.FullScanInput) error
- func (API) GetIntegrationTemplate(input *models.GetIntegrationTemplateInput) (*models.SourceIntegrationTemplate, error)
- func (API) ListIntegrations(input *models.ListIntegrationsInput) ([]*models.SourceIntegration, error)
- func (api *API) ListLogTypes(_ *models.ListLogTypesInput) (*models.ListLogTypesOutput, error)
- func (api API) PutIntegration(input *models.PutIntegrationInput) (newIntegration *models.SourceIntegration, err error)
- func (API) UpdateIntegrationLastScanEnd(input *models.UpdateIntegrationLastScanEndInput) error
- func (API) UpdateIntegrationLastScanStart(input *models.UpdateIntegrationLastScanStartInput) error
- func (api API) UpdateIntegrationSettings(input *models.UpdateIntegrationSettingsInput) (*models.SourceIntegration, error)
- func (api API) UpdateStatus(input *models.UpdateStatusInput) error
Constants ¶
const ( TemplateBucket = "panther-public-cloudformation-templates" LogAnalysisStackNameTemplate = "panther-log-analysis-setup-%s" CloudSecStackName = "panther-cloudsec-setup" )
const (
LambdaName = "panther-source-api"
)
Variables ¶
This section is empty.
Functions ¶
func AddSourceAsLambdaTrigger ¶ added in v1.6.0
func AllowExternalSnsTopicSubscription ¶ added in v1.3.0
AllowExternalSnsTopicSubscription modifies the SQS Queue policy of the Log Processor to allow SNS topic from new account to subscribe to it
func AllowInputDataBucketSubscription ¶ added in v1.6.0
func AllowInputDataBucketSubscription() error
Some of the integrations send data to an S3 bucket managed by Panther. This bucket is a staging bucket where data are stored temporarily until Log Processor picks them up. This function updates the log processor SQS queue permissions to allow it to receive event notifications from that bucket.
func CreateSourceSqsQueue ¶ added in v1.6.0
func CreateSourceSqsQueue(integrationID string, allowedPrincipalArns []string, allowedSourceArns []string) error
Creates a source SQS queue The new queue will allow the provided AWS principals and Source ARNs to send data to it
func DeleteSourceSqsQueue ¶ added in v1.6.0
Deletes a source SQS queue
func DisableExternalSnsTopicSubscription ¶ added in v1.3.0
DisableExternalSnsTopicSubscription modifies the SQS Queue policy of the Log Processor so that SNS topics from that account cannot subscribe to the queue
func RemoveSourceFromLambdaTrigger ¶ added in v1.6.0
func Setup ¶ added in v1.2.0
func Setup()
Setup parses the environment and constructs AWS and http clients on a cold Lambda start. All required environment variables must be present or this function will panic.
func SourceSqsQueueArn ¶ added in v1.6.0
Returns the URL of an SQS queue source
func SourceSqsQueueURL ¶ added in v1.6.0
Returns the URL of an SQS queue source
Types ¶
type API ¶
type API struct{}
API provides receiver methods for each route handler.
func (API) CheckIntegration ¶
func (api API) CheckIntegration(input *models.CheckIntegrationInput) (*models.SourceIntegrationHealth, error)
CheckIntegration adds a set of new integrations in a batch.
func (API) DeleteIntegration ¶
func (API) DeleteIntegration(input *models.DeleteIntegrationInput) error
DeleteIntegration deletes a specific integration.
func (API) FullScan ¶ added in v1.2.1
func (api API) FullScan(input *models.FullScanInput) error
FullScan schedules scans for each Resource type for each integration.
Each Resource type is sent within its own SQS message.
func (API) GetIntegrationTemplate ¶
func (API) GetIntegrationTemplate(input *models.GetIntegrationTemplateInput) (*models.SourceIntegrationTemplate, error)
GetIntegrationTemplate generates a new satellite account CloudFormation template based on the given parameters.
func (API) ListIntegrations ¶
func (API) ListIntegrations( input *models.ListIntegrationsInput) ([]*models.SourceIntegration, error)
ListIntegrations returns all enabled integrations.
func (*API) ListLogTypes ¶ added in v1.12.0
func (api *API) ListLogTypes(_ *models.ListLogTypesInput) (*models.ListLogTypesOutput, error)
ListLogTypes gets the current set of logTypes in use
func (API) PutIntegration ¶
func (api API) PutIntegration(input *models.PutIntegrationInput) (newIntegration *models.SourceIntegration, err error)
PutIntegration adds a set of new integrations in a batch.
func (API) UpdateIntegrationLastScanEnd ¶
func (API) UpdateIntegrationLastScanEnd(input *models.UpdateIntegrationLastScanEndInput) error
UpdateIntegrationLastScanEnd updates an integration when a scan ends.
func (API) UpdateIntegrationLastScanStart ¶
func (API) UpdateIntegrationLastScanStart(input *models.UpdateIntegrationLastScanStartInput) error
UpdateIntegrationLastScanStart updates an integration when a new scan is started.
func (API) UpdateIntegrationSettings ¶
func (api API) UpdateIntegrationSettings(input *models.UpdateIntegrationSettingsInput) (*models.SourceIntegration, error)
UpdateIntegrationSettings makes an update to an integration from the UI.
This endpoint updates attributes such as the behavior of the integration, or display information.
func (API) UpdateStatus ¶ added in v1.5.1
func (api API) UpdateStatus(input *models.UpdateStatusInput) error
It updates the status of an integration