| 
 | 1 | +# Google Security Command Center  | 
 | 2 | + | 
 | 3 | +## Overview  | 
 | 4 | + | 
 | 5 | +The [Google Security Command Center](https://cloud.google.com/security-command-center) integration allows users to monitor finding, audit, asset, and source. Security Command Center Premium provides comprehensive threat detection for Google Cloud that includes Event Threat Detection, Container Threat Detection, and Virtual Machine Threat Detection as built-in services.  | 
 | 6 | + | 
 | 7 | +Use the Google SCC integration to collect and parse data from the Google SCC REST API (finding, asset, and source) or GCP Pub/Sub (finding, asset, and audit). Then visualize that data through search, correlation, and visualization within Elastic Security.  | 
 | 8 | + | 
 | 9 | +## Data streams  | 
 | 10 | + | 
 | 11 | +The Google SCC integration collects four types of data: finding, audit, asset, and source.  | 
 | 12 | + | 
 | 13 | +**Finding** is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.  | 
 | 14 | + | 
 | 15 | +**Audit** logs created by Security Command Center as part of Cloud Audit Logs.  | 
 | 16 | + | 
 | 17 | +**Asset** lists assets with time and resource types and returns paged results in response.  | 
 | 18 | + | 
 | 19 | +**Source** is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools.  | 
 | 20 | + | 
 | 21 | +## Compatibility  | 
 | 22 | + | 
 | 23 | +This module has been tested against the latest Google SCC API version **v1**.  | 
 | 24 | + | 
 | 25 | +## Requirements  | 
 | 26 | + | 
 | 27 | +- Elastic Agent must be installed.  | 
 | 28 | +- You can install only one Elastic Agent per host.  | 
 | 29 | +- Elastic Agent is required to stream data from the GCP Pub/Sub or REST API and ship the data to Elastic, where the events will then be processed via the integration's ingest pipelines.  | 
 | 30 | + | 
 | 31 | +### Installing and managing an Elastic Agent:  | 
 | 32 | + | 
 | 33 | +You have a few options for installing and managing an Elastic Agent:  | 
 | 34 | + | 
 | 35 | +### Install a Fleet-managed Elastic Agent (recommended):  | 
 | 36 | + | 
 | 37 | +With this approach, you install Elastic Agent and use Fleet in Kibana to define, configure, and manage your agents in a central location. We recommend using Fleet management because it makes the management and upgrade of your agents considerably easier.  | 
 | 38 | + | 
 | 39 | +### Install Elastic Agent in standalone mode (advanced users):  | 
 | 40 | + | 
 | 41 | +With this approach, you install Elastic Agent and manually configure the agent locally on the system where it’s installed. You are responsible for managing and upgrading the agents. This approach is reserved for advanced users only.  | 
 | 42 | + | 
 | 43 | +### Install Elastic Agent in a containerized environment:  | 
 | 44 | + | 
 | 45 | +You can run Elastic Agent inside a container, either with Fleet Server or standalone. Docker images for all versions of Elastic Agent are available from the Elastic Docker registry and we provide deployment manifests for running on Kubernetes.  | 
 | 46 | + | 
 | 47 | +There are some minimum requirements for running Elastic Agent and for more information, refer to the link [here](https://www.elastic.co/guide/en/fleet/current/elastic-agent-installation.html).  | 
 | 48 | + | 
 | 49 | +The minimum **kibana.version** required is **8.8.0**.  | 
 | 50 | + | 
 | 51 | +## Prerequisites  | 
 | 52 | + | 
 | 53 | + - Create Google SCC service account [Steps to create](https://developers.google.com/identity/protocols/oauth2/service-account#creatinganaccount).  | 
 | 54 | + - Permissions required for Service Account:   | 
 | 55 | + - Cloud Asset Viewer at Organization Level  | 
 | 56 | + - Pub/Sub Subscriber at Project Level  | 
 | 57 | + - Security Center Admin Editor at Organization Level  | 
 | 58 | + - **Security Command Center API** and **Cloud Asset API** must be enabled.  | 
 | 59 | + | 
 | 60 | +This integration will make use of the following *oauth2 scope*:  | 
 | 61 | + | 
 | 62 | +- `https://www.googleapis.com/auth/cloud-platform`  | 
 | 63 | + | 
 | 64 | +Once Service Account credentials are downloaded as a JSON file, then the integration can be setup to collect data.  | 
 | 65 | + | 
 | 66 | +If installing in GCP-Cloud Environment, No need to provide any credentials and make sure the account linked with the VM has all the required IAM permissions. Steps to [Set up Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc).  | 
 | 67 | + | 
 | 68 | +## Setup  | 
 | 69 | + | 
 | 70 | +### To create GCP Pub/Sub, follow the below steps:  | 
 | 71 | + | 
 | 72 | +- [Create Topic for Pub/sub](https://cloud.google.com/pubsub/docs/create-topic#create_a_topic).  | 
 | 73 | +- [Create Subscription for topic](https://cloud.google.com/pubsub/docs/create-subscription#create_subscriptions)  | 
 | 74 | + | 
 | 75 | +### To collect data from GCP Pub/Sub, follow the below steps:  | 
 | 76 | + | 
 | 77 | +- [Configure to export finding to GCP Pub/Sub](https://cloud.google.com/security-command-center/docs/how-to-notifications).  | 
 | 78 | +- [Configure to export asset to GCP Pub/Sub](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes).  | 
 | 79 | +- [Configure to export audit to GCP Pub/Sub](https://cloud.google.com/logging/docs/export/configure_export_v2?_ga=2.110932226.-66737431.1679995682#overview).  | 
 | 80 | + | 
 | 81 | +**NOTE**:  | 
 | 82 | + - **Sink destination** must be **Pub/Sub topic** while exporting audit logs to GCP Pub/Sub.  | 
 | 83 | + - Create unique Pub/Sub topic per data-stream.  | 
 | 84 | + | 
 | 85 | +### Enabling the integration in Elastic:  | 
 | 86 | +1. In Kibana go to **Management > Integrations**.  | 
 | 87 | +2. In "Search for integrations" search bar, type **Google Security Command Center**.  | 
 | 88 | +3. Click on the **Google Security Command Center** integration from the search results.  | 
 | 89 | +4. Click on the **Add Google Security Command Center** Integration button to add the integration.  | 
 | 90 | +5. While adding the integration, if you want to **collect logs via Rest API**, turn on the toggle and then put the following details:  | 
 | 91 | + - credentials type  | 
 | 92 | + - credentials JSON/file  | 
 | 93 | + - parent type  | 
 | 94 | + - id  | 
 | 95 | + - To collect **asset logs**, put the following details:  | 
 | 96 | + - content type  | 
 | 97 | + | 
 | 98 | + or if you want to **collect logs via GCP Pub/Sub**, turn on the toggle and then put the following details:  | 
 | 99 | + - credentials type  | 
 | 100 | + - credentials JSON/file  | 
 | 101 | + - project id  | 
 | 102 | + - To collect **asset, audit, or finding logs**, put the following details:  | 
 | 103 | + - topic  | 
 | 104 | + - subscription name   | 
 | 105 | + | 
 | 106 | +## Logs reference  | 
 | 107 | + | 
 | 108 | +### Asset  | 
 | 109 | + | 
 | 110 | +This is the `Asset` dataset.  | 
 | 111 | + | 
 | 112 | +#### Example  | 
 | 113 | + | 
 | 114 | +{{event "asset"}}  | 
 | 115 | + | 
 | 116 | +{{fields "asset"}}  | 
 | 117 | + | 
 | 118 | +### Finding  | 
 | 119 | + | 
 | 120 | +This is the `Finding` dataset.  | 
 | 121 | + | 
 | 122 | +#### Example  | 
 | 123 | + | 
 | 124 | +{{event "finding"}}  | 
 | 125 | + | 
 | 126 | +{{fields "finding"}}  | 
 | 127 | + | 
 | 128 | +### Source  | 
 | 129 | + | 
 | 130 | +This is the `Source` dataset.  | 
 | 131 | + | 
 | 132 | +#### Example  | 
 | 133 | + | 
 | 134 | +{{event "source"}}  | 
 | 135 | + | 
 | 136 | +{{fields "source"}}  | 
 | 137 | + | 
 | 138 | +### Audit  | 
 | 139 | + | 
 | 140 | +This is the `Audit` dataset.  | 
 | 141 | + | 
 | 142 | +#### Example  | 
 | 143 | + | 
 | 144 | +{{event "audit"}}  | 
 | 145 | + | 
 | 146 | +{{fields "audit"}}  | 
0 commit comments