Create a BigQuery export configuration

Export findings from a project to a BigQuery dataset by creating an export configuration.

Code sample

Java

To authenticate to Security Command Center, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  import 
  
 com.google.cloud.securitycenter.v1. BigQueryExport 
 
 ; 
 import 
  
 com.google.cloud.securitycenter.v1. CreateBigQueryExportRequest 
 
 ; 
 import 
  
 com.google.cloud.securitycenter.v1. SecurityCenterClient 
 
 ; 
 import 
  
 java.io.IOException 
 ; 
 import 
  
 java.util.UUID 
 ; 
 public 
  
 class 
 CreateBigQueryExport 
  
 { 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 // TODO(Developer): Modify the following variable values. 
  
 // parent: Use any one of the following resource paths: 
  
 //              - organizations/{organization_id} 
  
 //              - folders/{folder_id} 
  
 //              - projects/{project_id} 
  
 String 
  
 parent 
  
 = 
  
 String 
 . 
 format 
 ( 
 "projects/%s" 
 , 
  
 "your-google-cloud-project-id" 
 ); 
  
 // filter: Expression that defines the filter to apply across create/update events of findings. 
  
 String 
  
 filter 
  
 = 
  
 "severity=\"LOW\" OR severity=\"MEDIUM\" AND " 
  
 + 
  
 "category=\"Persistence: IAM Anomalous Grant\" AND " 
  
 + 
  
 "-resource.type:\"compute\"" 
 ; 
  
 // bigQueryDatasetId: The BigQuery dataset to write findings' updates to. 
  
 String 
  
 bigQueryDatasetId 
  
 = 
  
 "your-bigquery-dataset-id" 
 ; 
  
 // bigQueryExportId: Unique identifier provided by the client. 
  
 // For more info, see: 
  
 // https://cloud.google.com/security-command-center/docs/how-to-analyze-findings-in-big-query#export_findings_from_to 
  
 String 
  
 bigQueryExportId 
  
 = 
  
 "default-" 
  
 + 
  
 UUID 
 . 
 randomUUID 
 (). 
 toString 
 (). 
 split 
 ( 
 "-" 
 ) 
 [ 
 0 
 ] 
 ; 
  
 createBigQueryExport 
 ( 
 parent 
 , 
  
 filter 
 , 
  
 bigQueryDatasetId 
 , 
  
 bigQueryExportId 
 ); 
  
 } 
  
 // Create export configuration to export findings from a project to a BigQuery dataset. 
  
 // Optionally specify filter to export certain findings only. 
  
 public 
  
 static 
  
 void 
  
 createBigQueryExport 
 ( 
  
 String 
  
 parent 
 , 
  
 String 
  
 filter 
 , 
  
 String 
  
 bigQueryDatasetId 
 , 
  
 String 
  
 bigQueryExportId 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 // Initialize client that will be used to send requests. This client only needs to be created 
  
 // once, and can be reused for multiple requests. After completing all of your requests, call 
  
 // the "close" method on the client to safely clean up any remaining background resources. 
  
 try 
  
 ( 
  SecurityCenterClient 
 
  
 client 
  
 = 
  
  SecurityCenterClient 
 
 . 
 create 
 ()) 
  
 { 
  
 // Create the BigQuery export configuration. 
  
  BigQueryExport 
 
  
 bigQueryExport 
  
 = 
  
  BigQueryExport 
 
 . 
 newBuilder 
 () 
  
 . 
 setDescription 
 ( 
  
 "Export low and medium findings if the compute resource " 
  
 + 
  
 "has an IAM anomalous grant" 
 ) 
  
 . 
 setFilter 
 ( 
 filter 
 ) 
  
 . 
  setDataset 
 
 ( 
 String 
 . 
 format 
 ( 
 "%s/datasets/%s" 
 , 
  
 parent 
 , 
  
 bigQueryDatasetId 
 )) 
  
 . 
 build 
 (); 
  
  CreateBigQueryExportRequest 
 
  
 bigQueryExportRequest 
  
 = 
  
  CreateBigQueryExportRequest 
 
 . 
 newBuilder 
 () 
  
 . 
 setParent 
 ( 
 parent 
 ) 
  
 . 
 setBigQueryExport 
 ( 
 bigQueryExport 
 ) 
  
 . 
  setBigQueryExportId 
 
 ( 
 bigQueryExportId 
 ) 
  
 . 
 build 
 (); 
  
 // Create the export request. 
  
  BigQueryExport 
 
  
 response 
  
 = 
  
 client 
 . 
 createBigQueryExport 
 ( 
 bigQueryExportRequest 
 ); 
  
 System 
 . 
 out 
 . 
 printf 
 ( 
 "BigQuery export request created successfully: %s\n" 
 , 
  
 response 
 . 
  getName 
 
 ()); 
  
 } 
  
 } 
 } 
 

Python

To authenticate to Security Command Center, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

  def 
  
 create_bigquery_export 
 ( 
 parent 
 : 
 str 
 , 
 export_filter 
 : 
 str 
 , 
 bigquery_dataset_id 
 : 
 str 
 , 
 bigquery_export_id 
 : 
 str 
 ): 
 from 
  
 google.cloud 
  
 import 
 securitycenter 
  
 """ 
 Create export configuration to export findings from a project to a BigQuery dataset. 
 Optionally specify filter to export certain findings only. 
 Args: 
 parent: Use any one of the following resource paths: 
 - organizations/{organization_id} 
 - folders/{folder_id} 
 - projects/{project_id} 
 export_filter: Expression that defines the filter to apply across create/update events of findings. 
 bigquery_dataset_id: The BigQuery dataset to write findings' updates to. 
 bigquery_export_id: Unique identifier provided by the client. 
 - example id: f"default-{str(uuid.uuid4()).split('-')[0]}" 
 For more info, see: 
 https://cloud.google.com/security-command-center/docs/how-to-analyze-findings-in-big-query#export_findings_from_to 
 """ 
 client 
 = 
 securitycenter 
 . 
 SecurityCenterClient 
 () 
 # Create the BigQuery export configuration. 
 bigquery_export 
 = 
 securitycenter 
 . 
  BigQueryExport 
 
 () 
 bigquery_export 
 . 
 description 
 = 
 "Export low and medium findings if the compute resource has an IAM anomalous grant" 
 bigquery_export 
 . 
 filter 
 = 
 export_filter 
 bigquery_export 
 . 
 dataset 
 = 
 f 
 " 
 { 
 parent 
 } 
 /datasets/ 
 { 
 bigquery_dataset_id 
 } 
 " 
 request 
 = 
 securitycenter 
 . 
  CreateBigQueryExportRequest 
 
 () 
 request 
 . 
 parent 
 = 
 parent 
 request 
 . 
 big_query_export 
 = 
 bigquery_export 
 request 
 . 
 big_query_export_id 
 = 
 bigquery_export_id 
 # Create the export request. 
 response 
 = 
 client 
 . 
  create_big_query_export 
 
 ( 
 request 
 ) 
 print 
 ( 
 f 
 "BigQuery export request created successfully: 
 { 
 response 
 . 
 name 
 } 
 \n 
 " 
 ) 
 

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .

Create a Mobile Website
View Site in Mobile | Classic
Share by: