列出给定 Google Cloud 资源中的所有 BigQuery 导出配置。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
Java
如需向 Security Command Center 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
import com.google.cloud.securitycenter.v1.BigQueryExport;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import com.google.cloud.securitycenter.v1.UpdateBigQueryExportRequest;
import com.google.protobuf.FieldMask;
import java.io.IOException;
public class UpdateBigQueryExport {
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\"";
// 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 = "big-query-export-id";
updateBigQueryExport(parent, filter, bigQueryExportId);
}
// Updates an existing BigQuery export.
public static void updateBigQueryExport(String parent, String filter, 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()) {
// Set the new values for export configuration.
BigQueryExport bigQueryExport =
BigQueryExport.newBuilder()
.setName(String.format("%s/bigQueryExports/%s", parent, bigQueryExportId))
.setFilter(filter)
.build();
UpdateBigQueryExportRequest request =
UpdateBigQueryExportRequest.newBuilder()
.setBigQueryExport(bigQueryExport)
// Set the update mask to specify which properties should be updated.
// If empty, all mutable fields will be updated.
// For more info on constructing field mask path, see the proto or:
// https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.FieldMask
.setUpdateMask(FieldMask.newBuilder().addPaths("filter").build())
.build();
BigQueryExport response = client.updateBigQueryExport(request);
if (!response.getFilter().equalsIgnoreCase(filter)) {
System.out.println("Failed to update BigQueryExport!");
return;
}
System.out.println("BigQueryExport updated successfully!");
}
}
}
Python
如需向 Security Command Center 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
def update_bigquery_export(parent: str, export_filter: str, bigquery_export_id: str):
"""
Updates an existing BigQuery export.
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_export_id: 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
"""
from google.cloud import securitycenter
from google.protobuf import field_mask_pb2
client = securitycenter.SecurityCenterClient()
# Set the new values for export configuration.
bigquery_export = securitycenter.BigQueryExport()
bigquery_export.name = f"{parent}/bigQueryExports/{bigquery_export_id}"
bigquery_export.filter = export_filter
# Field mask to only update the export filter.
# Set the update mask to specify which properties should be updated.
# If empty, all mutable fields will be updated.
# For more info on constructing field mask path, see the proto or:
# https://googleapis.dev/python/protobuf/latest/google/protobuf/field_mask_pb2.html
field_mask = field_mask_pb2.FieldMask(paths=["filter"])
request = securitycenter.UpdateBigQueryExportRequest()
request.big_query_export = bigquery_export
request.update_mask = field_mask
response = client.update_big_query_export(request)
if response.filter != export_filter:
print("Failed to update BigQueryExport!")
return
print("BigQueryExport updated successfully!")
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。