A Terraform Module to configuring an integration with Google Cloud Platform Pub Sub Audit Logs with Lacework for analysis.
Alternatively, it is possible to remove the offending roles from the state file before destroy, preventing the role(s) from being removed.
e.g. terraform state rm 'google_project_iam_binding.for_lacework_service_account'
roles/pubsub.publisher
roles/pubsub.subscriber
iam.googleapis.com
pubsub.googleapis.com
serviceusage.googleapis.com
cloudresourcemanager.googleapis.com
Name | Version |
---|---|
terraform | >= 0.15.1 |
>= 4.4.0 | |
lacework | ~> 2.0 |
time | ~> 0.6 |
Name | Version |
---|---|
>= 4.4.0 | |
lacework | ~> 2.0 |
random | n/a |
time | ~> 0.6 |
Name | Source | Version |
---|---|---|
lacework_al_ps_svc_account | lacework/service-account/gcp | ~> 2.0 |
Name | Description | Type | Default | Required |
---|---|---|---|---|
custom_filter | Customer defined Audit Log filter which will supersede all other filter options when defined | string |
"" |
no |
existing_sink_name | The name of an existing sink to be re-used for this integration | string |
"" |
no |
folders_to_exclude | List of root folders to exclude in an organization-level integration. Format is 'folders/1234567890' | list(string) |
[] |
no |
folders_to_include | List of root folders to include in an organization-level integration. Format is 'folders/1234567890' | set(string) |
[] |
no |
google_workspace_filter | Filter out Google Workspace login logs from GCP Audit Log sinks. Default is true | bool |
true |
no |
include_root_projects | Enables logic to include root-level projects if excluding folders. Default is true | bool |
true |
no |
integration_type | Specify the integration type. Can only be PROJECT or ORGANIZATION. Defaults to PROJECT | string |
"PROJECT" |
no |
k8s_filter | Filter out GKE logs from GCP Audit Log sinks. Default is true | bool |
true |
no |
labels | Set of labels which will be added to the resources managed by the module | map(string) |
{} |
no |
lacework_integration_name | n/a | string |
"TF pub_sub_audit_log" |
no |
organization_id | The organization ID, required if integration_type is set to ORGANIZATION | string |
"" |
no |
prefix | The prefix that will be use at the beginning of every generated resource | string |
"lw-al-ps" |
no |
project_id | A project ID different from the default defined inside the provider | string |
"" |
no |
pubsub_subscription_labels | Set of labels which will be added to the subscription | map(string) |
{} |
no |
pubsub_topic_labels | Set of labels which will be added to the topic | map(string) |
{} |
no |
required_apis | n/a | map(any) |
{ |
no |
service_account_name | The Service Account name (required when use_existing_service_account is set to true) | string |
"" |
no |
service_account_private_key | The private key in JSON format, base64 encoded (required when use_existing_service_account is set to true) | string |
"" |
no |
skip_create_lacework_integration | Set this to true to skip creating the LW integration during GCPv1 to GCPv2 migration | bool |
false |
no |
use_existing_service_account | Set this to true to use an existing Service Account | bool |
false |
no |
wait_time | Amount of time to wait before the next resource is provisioned. | string |
"10s" |
no |
Name | Description |
---|---|
lacework_integration_guid | GUID of the created Lacework integration |
pubsub_subscription_name | The PubSub subscription name |
pubsub_topic_name | The PubSub topic name |
service_account_name | The Service Account name |
service_account_private_key | The private key in JSON format, base64 encoded |
sink_name | The sink name |