Skip to main content

Google Security Command Center

Google's Security Command Center service provides visibility and insights into your Google Cloud environment. You can bring bucket, compute instance, firewall, and security data from Google Cloud into Brinqa to construct a unified view of your attack surface and enhance your ability to mitigate potential risks.

This document details the information you must provide for the connector to authenticate with Google Cloud and how to obtain that information from Google Cloud. See create a data integration for step-by-step instructions on setting up the integration.

Required connection settings

When setting up a data integration, select Google Security Command Center from the Connector dropdown. If you cannot find the connector in the dropdown, make sure that you have installed it first. You must provide the following information to authenticate Google Cloud with Brinqa:

  • Scope: The relative name of the root asset in your Google Cloud environment. Only the following formats are supported:

    • An organization number, e.g.: "organizations/123".

    • A project ID, e.g.: "projects/my-project-id".

    • A project number, e.g.: "projects/12345".

      note

      Providing an organization number enables collecting assets from all associated projects, including any new projects added after you have set up the integration. But the credentials you provide must have organization level permissions. Follow the rest of this document for instructions.

  • Credentials: The full content of the JSON file that contains your service account key.

Enable the Cloud Asset API

The Google Security Command Center connector requires that you enable the Cloud Asset API on the specified scope.

Create a custom role for Brinqa

Google Cloud uses service accounts to authenticate and authorize API calls, but you can only create service accounts within a project. For the Google Security Command Center connector to collect assets from multiple projects, you must grant the service account organization level permissions through a custom Identity and Access Management (IAM) role.

To create a custom role with organization level permissions, follow these steps:

  1. Log in to the Google Cloud Console.

  2. Select the organization where you want the connector to collect assets.

  3. In the Navigation menu, select IAM & Admin > Roles.

  4. Click Create Role.

  5. Enter a name and description for your role.

  6. Click Add Permissions and add the following read-only permissions required by the connector:

    • cloudasset.viewer

    • securitycenter.findingsViewer

  7. Click Create.

Create a service account and grant organization level permissions

Since the service account must have organization level permissions for the Google Security Command Center connector to collect assets from all the projects within the organization, Brinqa recommends that you create a service account specifically for the connector.

To create a service account and grant the appropriate permissions, follow these steps:

  1. Log in to the Google Cloud Console.

  2. Select the project where you want to create the service account.

  3. In the Navigation menu, select IAM & Admin > Service Accounts.

  4. Click Create Service Account.

  5. Enter a name and description for the service account.

  6. Skip the optional steps and click Done.

  7. View the service account details and save the email address for later use.

  8. Select the organization where you have created the custom role.

  9. In the Navigation menu, select IAM & Admin.

  10. Click Grant Access.

  11. Click New principals and paste in the email taken from the service account details page.

  12. Click Select a role and select the custom role created previously.

    gcp grant access

  13. Click Save.

Obtain your service account key

If you have completed the previous steps successfully, your service account should have the minimum permissions that the Google Security Command Center connector needs to collect assets from all the projects within your organization.

To obtain the service account key, follow these steps:

  1. Log in to the Google Cloud Console.

  2. Select your project where the service account resides.

  3. In the Navigation menu, select IAM & Admin > Service Accounts.

  4. Select the service account and click the Keys tab.

  5. Click Add Key > Create new key.

  6. Keep JSON as key type and click Create.

    The generated private key file is saved to your computer automatically.

Additional settings

The Google Security Command Center connector contains an additional option for specific configuration:

  • Page size: The maximum number of records to get per API request. The default setting is 1000. It is not recommended to go over 1000.

Types of data to retrieve

The Google Security Command Center connector can retrieve the following types of data from Google Cloud:

Table 1: Data retrieved from Google Cloud

Connector ObjectRequiredMaps to Data Model
Google Security Center AddressYesCloud Resource
Google Security Center AlertYesAlert
Google Security Center Alert DefinitionYesAlert Definition
Google Security Center App Engine ApplicationYesCloud Resource
Google Security Center Backend ServiceYesCloud Resource
Google Security Center BucketYesCloud Resource
Google Security Center Cloud FunctionYesCloud Resource
Google Security Center Cloud Run ServiceYesCloud Resource
Google Security Center Compute InstanceYesHost
Google Security Center Compute ProjectYesCloud Resource
Google Security Center DiskYesCloud Resource
Google Security Center FirewallYesCloud Resource
Google Security Center Forwarding RuleYesCloud Resource
Google Security Center GKE ClusterYesCloud Resource
Google Security Center IAM BindingYesCloud Resource
Google Security Center Instance GroupYesCloud Resource
Google Security Center K8s DaemonSetYesCloud Resource
Google Security Center K8s DeploymentYesCloud Resource
Google Security Center K8s IngressYesCloud Resource
Google Security Center K8s NamespaceYesCloud Resource
Google Security Center K8s PodYesCloud Resource
Google Security Center K8s RoleYesCloud Resource
Google Security Center K8s RoleBindingYesCloud Resource
Google Security Center K8s ServiceYesCloud Resource
Google Security Center K8s ServiceAccountYesCloud Resource
Google Security Center NetworkYesCloud Resource
Google Security Center Node PoolYesCloud Resource
Google Security Center ProjectYesCloud Resource
Google Security Center RepositoryYesCloud Resource
Google Security Center Service AccountYesCloud Resource
Google Security Center SQL InstanceYesHost
Google Security Center Target PoolYesCloud Resource
Google Security Center ViolationYesViolation
Google Security Center Violation DefinitionYesViolation Definition
Google Security Center VulnerabilityYesVulnerability
Google Security Center Vulnerability DefinitionYesVulnerability Definition
info

For detailed steps on how to view the data retrieved from Google Cloud in the Brinqa Platform, see How to view your data.

This diagram shows how Security Command Center findings relate to GCP assets, Kubernetes resources, load balancer components, and IAM bindings.

Figure 1: Connector object relationships

Attribute mappings

Expand the sections below to view the mappings between the source and the Brinqa data model attributes.

Google Security Center Alert

Table 2: Google Security Center Alert attribute mappings

Source Field NameMaps to Attribute
categorytype
createTimesourceCreatedDate
eventTimeLocal variable
getResourceNametargets, Local variable
nameuid
SourceProperties.ActivationTriggerLocal variable
SourceProperties.ProjectIdprojects
SourceProperties.ResourcePathpath
Statestatus, sourceStatus, statusCategory
Google Security Center Alert Definition

Table 3: Google Security Center Alert Definition attribute mappings

Source Field NameMaps to Attribute
categoryuid, name
findingClassLocal variable
severityseverity, sourceSeverity, severityScore
SourceProperties.ExceptionInstructionsLocal variable
SourceProperties.Explanationdescription
SourceProperties.Recommendationrecommendation
SourceProperties.ScannerNameLocal variable
Google Security Center Bucket

Table 4: Google Security Center Bucket attribute mappings

Source Field NameMaps to Attribute
aclLocal variable
ancestorsLocal variable
assetTypecategories
billing.requesterPaysLocal variable
defaultObjectAclLocal variable
encryption.defaultKmsKeyNameLocal variable
etagtags, Local variable
iamConfiguration.publicAccessPreventionLocal variable
iamConfiguration.uniformBucketLevelAccessLocal variable
kindcategories
labelstags, Local variable
lifecycle.rule.condition.isLivestatus
locationlocation
locationTypeLocal variable
logging.logBucketLocal variable
id / nameuid
namename
ownerLocal variable
retentionPolicyLocal variable
selfLinkurl
storageClassLocal variable
timeCreatedfirstSeen
updateTimesourceLastModified
versioncurrentVersion
websiteLocal variable
Google Security Center Compute Instance

Table 5: Google Security Center Compute Instance attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
canIpForwardLocal variable
confidentialInstanceConfig.enableConfidentialComputeLocal variable
cpuPlatformLocal variable
creationTimestampfirstSeen
deletionProtectionLocal variable
descriptiondescription
disksLocal variable
displayDevice.enableDisplayLocal variable
fingerprintLocal variable
idLocal variable
id / nameuid
kindcategories
labelstags
lastStartTimestamplastStarted
lastStopTimestamplastStopped
machineTypeLocal variable
namename, Local variable
networkInterfaces.accessConfigs.natIPipAddresses, publicIpAddresses
networkInterfaces.accessConfigs.networkTierLocal variable
networkInterfaces.networkLocal variable
networkInterfaces.networkIPipAddresses, privateIpAddresses
networkInterfaces.stackTypeLocal variable
networkInterfaces.subnetworkLocal variable
reservationAffinity.consumeReservationTypeLocal variable
scheduling.automaticRestartLocal variable
scheduling.onHostMaintenanceLocal variable
scheduling.preemptibleLocal variable
scheduling.provisioningModelLocal variable
selfLinkurl
serviceAccounts.emailemails
shieldedInstanceConfig.enableIntegrityMonitoringLocal variable
shieldedInstanceConfig.enableSecureBootLocal variable
shieldedInstanceConfig.enableVtpmLocal variable
startRestrictedLocal variable
statusstatus, sourceStatus
tagstags, Local variable
updateTimesourceLastModified
versioncurrentVersion
zoneLocal variable
metadata.items[] where key=ssh-keyssshKeys
metadata.items[] where key=enable-osloginenableOslogin
metadata.items[] where key=block-project-ssh-keysblockProjectSshKeys
Google Security Center Firewall

Table 6: Google Security Center Firewall attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
creationTimestampfirstSeen
descriptiondescription
directionLocal variable
disabledLocal variable
id / nameuid
kindcategories
logConfig.enableLocal variable
namename, Local variable
networkLocal variable
priorityLocal variable
selfLinkurl
sourceRangesLocal variable
targetTagstags
updateTimesourceLastModified
versioncurrentVersion
allowed[]allowedRules
denied[]deniedRules
targetServiceAccountstargetServiceAccounts
Google Security Center GKE Cluster

Table 7:Google Security Center GKE Cluster attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
clusterIpv4CidrLocal variable
createTimefirstSeen
currentMasterVersionLocal variable
currentNodeCountLocal variable
currentNodeVersionLocal variable
descriptiondescription
enableKubernetesAlphaLocal variable
enableTpuLocal variable
endpointLocal variable
etagtags
expireTimeLocal variable
id / nameuid
initialClusterVersionLocal variable
initialNodeCountLocal variable
instanceGroupUrlsLocal variable
labelFingerprintLocal variable
locationLocal variable
loggingServiceLocal variable
monitoringServiceLocal variable
namename
networkLocal variable
nodeIpv4CidrSizeLocal variable
satisfiesPziLocal variable
satisfiesPzsLocal variable
selflinkurl
servicesIpv4CidrLocal variable
statussourceStatus, status
statusMessageLocal variable
subnetworkLocal variable
tpuIpv4CidrBlockLocal variable
update_timesourceLastModified
versionLocal variable
zoneLocal variable
privateClusterConfig.enablePrivateEndpointenablePrivateEndpoint
privateClusterConfig.enablePrivateNodesenablePrivateNodes
masterAuthorizedNetworksConfig.enabledmasterAuthorizedNetworksEnabled
masterAuthorizedNetworksConfig.cidrBlocks[].cidrBlockmasterAuthorizedNetworksCidrs
Google Security Center Project

Table 8: Google Security Center Project attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
createTimefirstSeen
data.nameLocal variable
labelstags
lifecycleStatestatus
parent.idLocal variable
parent.typeLocal variable
projectIdLocal variable
projectNumberuid, name
updateTimesourceLastModified
versioncurrentVersion
Google Security Center Repository

Table 9: Google Security Center Repository attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
createTimefirstSeen
data.nameLocal variable (Project Name)
labelstags
lifecycleStatestatus
parent.idLocal variable
parent.typeLocal variable
projectIdLocal variable
projectNumberuid, name
updateTimesourceLastModified
versioncurrentVersion
Google Security Center Service Account

Table 10: Google Security Center Service Account attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
asset_typecategories
clientIDLocal variable
descriptiondescription
disabledLocal variable
displayNameLocal variable
emailLocal variable
etagtags, Local variable
id / nameuid
namename
projectIdLocal variable
uniqueIdLocal variable
update_timesourceLastModified
versioncurrentVersion
Google Security Center SQL Instance

Table 11: Google Security Center SQL Instance attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
backendTypeLocal variable
connectionNameLocal variable
createTimefirstSeen
databaseInstalledVersionLocal variable
databaseVersionLocal variable
dnsNames.connectionTypeLocal variable
dnsNames.dnsScopeLocal variable
dnsNames.namednsNames, publicDnsName, privateDnsName
gceZoneLocal variable
id / nameuid
includeReplicasForMajorVersionUpgradeLocal variable
instanceTypeLocal variable
ipAddresses.ipAddressipAddresses, privateIpAddresses, publicIpAddresses
ipAddresses.typeLocal variable
maintenanceVersionLocal variable
projectLocal variable
regionLocal variable
resource.namename, Local variable
satisfiesPziLocal variable
selfLinkurl
serverCaCert.certSerialNumberLocal variable
serverCaCert.commonNameLocal variable
serverCaCert.createTimeLocal variable
serverCaCert.expirationTimeLocal variable
serverCaCert.instanceLocal variable
serverCaCert.sha1FingerprintLocal variable
serviceAccountEmailAddressemails
settings.activationPolicyLocal variable
settings.availabilityTypeLocal variable
settings.backupConfiguration.backupRetentionSettings.retainedBackupsLocal variable
settings.backupConfiguration.backupRetentionSettings.retentionUnitLocal variable
settings.backupConfiguration.backupTierLocal variable
settings.backupConfiguration.binaryLogEnabledLocal variable
settings.backupConfiguration.enabledLocal variable
settings.backupConfiguration.locationLocal variable
settings.backupConfiguration.startTimeLocal variable
settings.backupConfiguration.transactionLogRetentionDaysLocal variable
settings.backupConfiguration.transactionalLogStorageStateLocal variable
settings.connectorEnforcementLocal variable
settings.dataDiskSizeGbLocal variable
settings.dataDiskTypeLocal variable
settings.deletionProtectionEnabledLocal variable
settings.editionLocal variable
settings.finalBackupConfig.enabledLocal variable
settings.finalBackupConfig.retentionDaysLocal variable
settings.ipConfiguration.ipv4EnabledLocal variable
settings.ipConfiguration.requireSslLocal variable
settings.ipConfiguration.serverCaModeLocal variable
settings.ipConfiguration.sslModeLocal variable
settings.locationPreference.zoneLocal variable
settings.maintenanceWindow.dayLocal variable
settings.maintenanceWindow.hourLocal variable
settings.maintenanceWindow.updateTrackLocal variable
settings.pricingPlanLocal variable
settings.replicationLagMaxSecondsLocal variable
settings.replicationTypeLocal variable
settings.retainBackupsOnDeleteLocal variable
settings.settingsVersionLocal variable
settings.storageAutoResizeLocal variable
settings.storageAutoResizeLimitLocal variable
settings.tierLocal variable
sqlNetworkArchitectureLocal variable
statestatus, sourceStatus
update_timesourceLastModified
versioncurrentVersion
settings.ipConfiguration.authorizedNetworks[].valueauthorizedNetworks
Google Security Center Violation

Table 12: Google Security Center Violation attribute mappings

Source Field NameMaps to Attribute
createTimesourceCreatedDate
eventTimeLocal variable
getResourceNametargets, Local variable
nameuid
SourceProperties.ActivationTriggerLocal variable
SourceProperties.ProjectIdprojects
SourceProperties.ResourcePathpath
Statestatus, sourceStatus, statusCategory
Google Security Center Violation Definition

Table 13: Google Security Center Violation Definition attribute mappings

Source Field NameMaps to Attribute
categoryuid, name
findingClassLocal variable
severityseverity, sourceSeverity, severityScore
SourceProperties.ExceptionInstructionsLocal variable
SourceProperties.Explanationdescription
SourceProperties.Recommendationrecommendation
SourceProperties.ScannerNameLocal variable
Google Security Center Vulnerability

Table 14: Google Security Center Vulnerability attribute mappings

Source Field NameMaps to Attribute
createTimesourceCreatedDate
cve.idtype, cveIds, cveRecords
eventTimeLocal variable
getResourceNametargets, Local variable
nameuid
security_bulletin.bulletin_idtype
SourceProperties.ActivationTriggerLocal variable
SourceProperties.ProjectIdprojects
SourceProperties.ResourcePathpath
Statestatus, sourceStatus, statusCategory
vulnerability.fixed_packageresults
vulnerability.offending_packageresults
Google Security Center Vulnerability Definition

Table 15: Google Security Center Vulnerability Definition attribute mappings

Source Field NameMaps to Attribute
categorycategories
cve.cvssv3.attack_vectorcvssV3Av
cve.cvssv3.base_scorecvssV3BaseScore
cve.cvssv3.confidentiality_impactcvssV3Ci
cve.cvssv3.integrity_impactcvssV3Ii
cve.iduid, name, cveIds, cveRecords
cve.references.urireferences
cve.upstream_fix_availablefixable
descriptionrecommendation
findingClassLocal variable
security_bulletin.bulletin_iduid, name
severityseverity, sourceSeverity, severityScore
SourceProperties.Descriptiondescription
Google Security Center Address

Table 18: Google Security Center Address attribute mappings

Source Field NameMaps to Attribute
addressipAddress
addressTypeLocal variable
ancestorsLocal variable
assetTypecategories
creationTimestampfirstSeen
descriptiondescription
id / nameuid
namename, Local variable
networkLocal variable
purposeLocal variable
regionLocal variable
selfLinkurl
statusstatus
subnetworkLocal variable
updateTimesourceLastModified
usersLocal variable
versioncurrentVersion
Google Security Center App Engine Application

Table 19: Google Security Center App Engine Application attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
databaseTypeLocal variable
defaultBucketLocal variable
defaultCookieExpirationLocal variable
defaultHostnamepublicDnsNames
dispatchRulesLocal variable
iap.enabledLocal variable
id / nameuid
locationIdlocation
namename
servingStatusstatus, sourceStatus
updateTimesourceLastModified
versioncurrentVersion
Google Security Center Backend Service

Table 20: Google Security Center Backend Service attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
backends[].groupLocal variable
creationTimestampfirstSeen
descriptiondescription
healthChecksLocal variable
id / nameuid
loadBalancingSchemeLocal variable
namename, Local variable
portNameLocal variable
protocolLocal variable
regionLocal variable
securityPolicyLocal variable
selfLinkurl
sessionAffinityLocal variable
updateTimesourceLastModified
versioncurrentVersion
Google Security Center Cloud Function

Table 21: Google Security Center Cloud Function attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
buildConfig.entryPointLocal variable
buildConfig.environmentVariablesLocal variable
buildConfig.runtimeLocal variable
createTimefirstSeen
descriptiondescription
eventTrigger.eventTypeLocal variable
id / nameuid
labelstags
namename, Local variable
selfLinkurl
serviceConfig.environmentVariablesLocal variable
serviceConfig.ingressSettingsLocal variable
serviceConfig.secretEnvironmentVariablesLocal variable
serviceConfig.serviceAccountEmailemails
serviceConfig.uriLocal variable
statestatus
updateTimesourceLastModified
urlurl
versioncurrentVersion
Google Security Center Cloud Run Service

Table 22: Google Security Center Cloud Run Service attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
id / nameuid
metadata.annotations['run.googleapis.com/ingress']Local variable
metadata.annotations['run.googleapis.com/urls']Local variable
metadata.annotations['serving.knative.dev/creator']Local variable
metadata.annotations['serving.knative.dev/lastModifier']Local variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename, Local variable
selfLinkurl
spec.template.spec.containers[].imageLocal variable
spec.template.spec.serviceAccountNameemails
status.conditions[Ready].statusstatus
status.latestReadyRevisionNameLocal variable
updateTimesourceLastModified
versioncurrentVersion
Google Security Center Compute Project

Table 23: Google Security Center Compute Project attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
commonInstanceMetadata.items[] where key=block-project-ssh-keysLocal variable
commonInstanceMetadata.items[] where key=enable-osloginLocal variable
commonInstanceMetadata.items[] where key=ssh-keysLocal variable
creationTimestampfirstSeen
defaultNetworkTierLocal variable
defaultServiceAccountLocal variable
id / nameuid
namename, Local variable
selfLinkurl
updateTimesourceLastModified
versioncurrentVersion
Google Security Center Disk

Table 24: Google Security Center Disk attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
creationTimestampfirstSeen
descriptiondescription
diskEncryptionKeyLocal variable
diskEncryptionKey.kmsKeyNameLocal variable
id / nameuid
labelstags
namename, Local variable
regionLocal variable
selfLinkurl
sizeGbLocal variable
sourceImageLocal variable
statusstatus
typeLocal variable
updateTimesourceLastModified
usersLocal variable
versioncurrentVersion
zoneLocal variable
Google Security Center Forwarding Rule

Table 25: Google Security Center Forwarding Rule attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
backendServiceLocal variable
creationTimestampfirstSeen
descriptiondescription
id / nameuid
IPAddresspublicIpAddresses
IPProtocolLocal variable
loadBalancingSchemeLocal variable
namename, Local variable
networkLocal variable
portRangeLocal variable
portsLocal variable
regionLocal variable
selfLinkurl
subnetworkLocal variable
targetLocal variable
updateTimesourceLastModified
versioncurrentVersion
Google Security Center IAM Binding

Table 26: Google Security Center IAM Binding attribute mappings

Source Field NameMaps to Attribute
Asset.assetTypeLocal variable
Asset.nameLocal variable
Binding.condition.expressionLocal variable
Binding.condition.titleLocal variable
Binding.members[]Local variable
Binding.roleLocal variable
composite (policyResource, role, member)uid, name
derived member typeLocal variable
derived role typeLocal variable
iam.googleapis.com/Role includedPermissions[]Local variable
sync timestampsourceLastModified
Google Security Center Instance Group

Table 27: Google Security Center Instance Group attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
creationTimestampfirstSeen
descriptiondescription
id / nameuid
namename, Local variable
namedPortsLocal variable
networkLocal variable
regionLocal variable
selfLinkurl
sizeLocal variable
subnetworkLocal variable
updateTimesourceLastModified
versioncurrentVersion
zoneLocal variable
Google Security Center K8s DaemonSet

Table 28: Google Security Center K8s DaemonSet attribute mappings

Source Field NameMaps to Attribute
cluster referenceLocal variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
namespaceLocal variable
spec.template.spec.containers[].imageLocal variable
spec.template.spec.hostNetworkLocal variable
spec.template.spec.serviceAccountNameLocal variable
status.currentNumberScheduledLocal variable
status.desiredNumberScheduledLocal variable
uid compositeuid
Google Security Center K8s Deployment

Table 29: Google Security Center K8s Deployment attribute mappings

Source Field NameMaps to Attribute
cluster referenceLocal variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
namespaceLocal variable
spec.replicasLocal variable
spec.strategy.typeLocal variable
spec.template.spec.containers[].imageLocal variable
spec.template.spec.serviceAccountNameLocal variable
status.readyReplicasLocal variable
uid compositeuid
Google Security Center K8s Ingress

Table 30: Google Security Center K8s Ingress attribute mappings

Source Field NameMaps to Attribute
cluster referenceLocal variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
namespaceLocal variable
spec.ingressClassNameLocal variable
spec.rules[].hostLocal variable
spec.rules[].http.paths[]Local variable
spec.tls[].hosts[]Local variable
status.loadBalancer.ingress[].ipLocal variable
uid compositeuid
Google Security Center K8s Namespace

Table 31: Google Security Center K8s Namespace attribute mappings

Source Field NameMaps to Attribute
cluster referenceLocal variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
status.phaseLocal variable
uid compositeuid
Google Security Center K8s Pod

Table 32: Google Security Center K8s Pod attribute mappings

Source Field NameMaps to Attribute
cluster referenceLocal variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
namespaceLocal variable
spec.containers[].imageLocal variable
spec.hostNetworkLocal variable
spec.nodeNameLocal variable
spec.serviceAccountNameLocal variable
status.hostIPLocal variable
status.phaseLocal variable
status.podIPLocal variable
uid compositeuid
Google Security Center K8s Role

Table 33: Google Security Center K8s Role attribute mappings

Source Field NameMaps to Attribute
cluster referenceLocal variable
derived cluster-scoped flagLocal variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
namespaceLocal variable
rules[]Local variable
uid compositeuid
Google Security Center K8s RoleBinding

Table 34: Google Security Center K8s RoleBinding attribute mappings

Source Field NameMaps to Attribute
cluster referenceLocal variable
derived cluster-scoped flagLocal variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
namespaceLocal variable
roleRef.kind:nameLocal variable
subjects[]Local variable
uid compositeuid
Google Security Center K8s Service

Table 35: Google Security Center K8s Service attribute mappings

Source Field NameMaps to Attribute
cluster referenceLocal variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
namespaceLocal variable
spec.clusterIPLocal variable
spec.externalIPs[]Local variable
spec.ports[]Local variable
spec.typeLocal variable
status.loadBalancer.ingress[].ipLocal variable
uid compositeuid
Google Security Center K8s ServiceAccount

Table 36: Google Security Center K8s ServiceAccount attribute mappings

Source Field NameMaps to Attribute
automountServiceAccountTokenLocal variable
cluster referenceLocal variable
metadata.annotations['iam.gke.io/gcp-service-account']Local variable
metadata.creationTimestampfirstSeen
metadata.labelstags
metadata.namename
namespaceLocal variable
uid compositeuid
Google Security Center Network

Table 37: Google Security Center Network attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
autoCreateSubnetworksLocal variable
creationTimestampfirstSeen
descriptiondescription
id / nameuid
namename, Local variable
peeringsLocal variable
routingConfig.routingModeLocal variable
selfLinkurl
updateTimesourceLastModified
versioncurrentVersion
Google Security Center Node Pool

Table 38: Google Security Center Node Pool attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
config.diskTypeLocal variable
config.machineTypeLocal variable
config.oauthScopes[]Local variable
config.serviceAccountemails
config.tags[]tags
id / nameuid
management.autoRepairLocal variable
management.autoUpgradeLocal variable
namename, Local variable
selfLinkurl
statusstatus
updateTimesourceLastModified
versioncurrentVersion
Google Security Center Target Pool

Table 39: Google Security Center Target Pool attribute mappings

Source Field NameMaps to Attribute
ancestorsLocal variable
assetTypecategories
backupPoolLocal variable
creationTimestampfirstSeen
descriptiondescription
healthChecks[]Local variable
id / nameuid
instances[]Local variable
namename, Local variable
regionLocal variable
selfLinkurl
sessionAffinityLocal variable
updateTimesourceLastModified
versioncurrentVersion
note

Local variable indicates that the field is processed within a specific context, such as a particular workflow or calculation. Unlike other attributes, local variables aren't mapped to the unified data models. They only exist on the source data model.

Operation options

The Google Security Command Center connector supports the following operation options. See connector operation options for information about how to apply them.

Table 16: Security Command Center connector operation options

Connector ObjectOptionAll Possible valuesDescriptionExample
Alert,
Alert Definition, Violation,
Violation Definition,
Vulnerability,
Vulnerability Definition
asset_typeComputeInstance, Bucket, Firewall, GKECluster, Project, ServiceAccountA comma-separated list of asset types. You can use this option to limit retrieved findings by asset type, as determined by Google.Key: asset_type Value: ComputeInstance,Project. This key and value combination only retrieves findings associated with Compute Instances and Projects.
findingClassFINDING_CLASS_UNSPECIFIED, MISCONFIGURATION, OBSERVATION, SCC_ERROR, THREAT, VULNERABILITYA comma-separated list of finding classes or categories. Retrieve findings based on the specified class, as determined by Google.Key: findingClass Value: SCC_ERROR,THREAT. This key and value combination only retrieves findings that are classified as SCC errors or threats.
severityUnspecified, Low, Medium, High, CriticalA comma-separated list of finding severities. Retrieve findings based on the specified severity, as determined by Google.Key: severity Value: High,Critical. This key and value combination only retrieves high and critical findings.
stateACTIVE, INACTIVERetrieves findings based on their state, as defined by Google. By default, the connector retrieves only ACTIVE findings. To retrieve both active and inactive findings, use state: ACTIVE,INACTIVE.Key: state Value: ACTIVE,INACTIVE. This key and value combination retrieves both active and inactive findings.
categorycomma-separated SCC finding categoriesA comma-separated list of finding categories. Use this option to target Violation and Alert syncs at specific finding categories (e.g. EXPOSED_HTTP_INTERFACE,PUBLIC_IP_ADDRESS). Off by default — finding categories vary by SCC tier.Key: category Value: EXPOSED_HTTP_INTERFACE,PUBLIC_IP_ADDRESS. This key and value combination only retrieves findings with those specific categories.
IAM BindingexpandCustomRolestrue, falseWhen true, the connector fetches custom role definitions from GCP and inlines their includedPermissions[] onto each binding for that custom role, enabling permission-level queries. Default: false.Key: expandCustomRoles Value: true.
note

The option keys and values are case-sensitive as they are shown in this documentation.

APIs

The Google Security Command Center connector uses the Cloud Asset Inventory client libraries and Security Command Center API to interact with Google Security Command Center. Specifically, it uses the following client libraries:

Google Security Center Alert
SecurityCenterClient client = SecurityCenterClient.create();
ListFindingsRequest.Builder request =
ListFindingsRequest.newBuilder().setParent(sourceName.toString()).setFilter(filter);
// Call the API.
ListFindingsPagedResponse response = client.listFindings(request.build());
Google Security Center Alert Definition
SecurityCenterClient client = SecurityCenterClient.create();
ListFindingsRequest.Builder request =
ListFindingsRequest.newBuilder().setParent(sourceName.toString()).setFilter(filter);
// Call the API.
ListFindingsPagedResponse response = client.listFindings(request.build());
Google Security Center Bucket
AssetServiceClient client = createAssetServiceClient();
ListAssetsRequest.Builder bld = ListAssetsRequest.newBuilder()
.setParent(scope)
.setPageSize(pageSize)
.setContentType(ContentType.RESOURCE)
.addAssetTypes(assetType);
// Add asset type "storage.googleapis.com/Bucket" to filter
// Call listAssets API with assetType filter
ListAssetsPagedResponse response = client.listAssets(bld.build());
Google Security Center Compute Instance
AssetServiceClient client = createAssetServiceClient();
ListAssetsRequest.Builder bld = ListAssetsRequest.newBuilder()
.setParent(scope)
.setPageSize(pageSize)
.setContentType(ContentType.RESOURCE)
.addAssetTypes(assetType);
// Add asset type "compute.googleapis.com/Instance" to filter
// Call listAssets API with assetType filter
ListAssetsPagedResponse response = client.listAssets(bld.build());
Google Security Center Firewall
AssetServiceClient client = createAssetServiceClient();
ListAssetsRequest.Builder bld = ListAssetsRequest.newBuilder()
.setParent(scope)
.setPageSize(pageSize)
.setContentType(ContentType.RESOURCE)
.addAssetTypes(assetType);
// Add asset type "compute.googleapis.com/Firewall" to filter
// Call listAssets API with assetType filter
ListAssetsPagedResponse response = client.listAssets(bld.build());
Google Security Center GKE Cluster
AssetServiceClient client = createAssetServiceClient();
ListAssetsRequest.Builder bld = ListAssetsRequest.newBuilder()
.setParent(scope)
.setPageSize(pageSize)
.setContentType(ContentType.RESOURCE)
.addAssetTypes(assetType);
// add asset type "container.googleapis.com/Cluster" to filter
// Call listAssets API with assetType filter
ListAssetsPagedResponse response = client.listAssets(bld.build());
Google Security Center Project
AssetServiceClient client = createAssetServiceClient();
ListAssetsRequest.Builder bld = ListAssetsRequest.newBuilder()
.setParent(scope)
.setPageSize(pageSize)
.setContentType(ContentType.RESOURCE)
.addAssetTypes(assetType);
// add asset type "cloudresourcemanager.googleapis.com/Project" to filter
// Call listAssets API with assetType filter
ListAssetsPagedResponse response = client.listAssets(bld.build());
Google Security Center Repository
AssetServiceClient client = createAssetServiceClient();
ListAssetsRequest.Builder bld = ListAssetsRequest.newBuilder()
.setParent(scope)
.setPageSize(pageSize)
.setContentType(ContentType.RESOURCE)
.addAssetTypes(assetType);
// add asset type "container.googleapis.com/Cluster" to filter
// Call listAssets API with assetType filter
ListAssetsPagedResponse response = client.listAssets(bld.build());
Google Security Center Service Account
AssetServiceClient client = createAssetServiceClient();
ListAssetsRequest.Builder bld = ListAssetsRequest.newBuilder()
.setParent(scope)
.setPageSize(pageSize)
.setContentType(ContentType.RESOURCE)
.addAssetTypes(assetType);
// add asset type "iam.googleapis.com/ServiceAccount" to filter
// Call listAssets API with assetType filter
ListAssetsPagedResponse response = client.listAssets(bld.build());
Google Security Center SQL Instance
AssetServiceClient client = createAssetServiceClient();
ListAssetsRequest.Builder bld = ListAssetsRequest.newBuilder()
.setParent(scope)
.setPageSize(pageSize)
.setContentType(ContentType.RESOURCE)
.addAssetTypes(assetType);
// add asset type "container.googleapis.com/Cluster" to filter
// Call listAssets API with assetType filter
ListAssetsPagedResponse response = client.listAssets(bld.build());
Google Security Center Violation
SecurityCenterClient client = SecurityCenterClient.create();
ListFindingsRequest.Builder request =
ListFindingsRequest.newBuilder().setParent(sourceName.toString()).setFilter(filter);
// Call the listFindings API.
ListFindingsPagedResponse response = client.listFindings(request.build());
Google Security Center Violation Definition
SecurityCenterClient client = SecurityCenterClient.create();
GroupFindingsRequest.Builder bld =
GroupFindingsRequest.newBuilder().setParent(sourceName.toString()).setGroupBy("category").setPageSize(1000);
// Call the GroupFinding API.
GroupFindingsPagedResponse response = client.groupFindings(bld.build());
// Categories are listed from GroupFindingsPagedResponse.
// Then set category as filter on listFindings API
ListFindingsPagedResponse response = client.listFindings(request.build());
Google Security Center Vulnerability
SecurityCenterClient client = SecurityCenterClient.create();
ListFindingsRequest.Builder request =
ListFindingsRequest.newBuilder().setParent(sourceName.toString()).setFilter(filter);
// Call the API.
ListFindingsPagedResponse response = client.listFindings(request.build());
Google Security Center Vulnerability Definition
SecurityCenterClient client = SecurityCenterClient.create();
ListFindingsRequest.Builder request =
ListFindingsRequest.newBuilder().setParent(sourceName.toString()).setFilter(filter);
// Call the API.
ListFindingsPagedResponse response = client.listFindings(request.build());

Changelog

The Google Security Command Center connector has undergone the following changes:

note

This connector is part of a bundled release with other connectors from the same vendor. If a version shows "No change", it means that the connector version was updated for consistency as part of the bundle, but no functional changes were made to this specific connector. You can update to or skip this version without affecting your existing configuration.

Table 17: Security Command Center connector changelog

VersionDescriptionDate Published
3.3.1Bug Fixes
- Fixed connector failures during Google Cloud operations on certain platform versions. A dependency packaging issue caused the connector to rely on the platform's internal libraries, leading to initialization errors on platforms 11.x and 12.x. The connector now bundles all required dependencies independently.
No Migration
June 4th, 2026
3.3.0New Features
- Compute Engine coverage — Five new asset models for compute-side blast-radius analysis: Address (static external IPs and current users), Disk (size, type, KMS, attached instances), Network (VPC autoCreateSubnetworks, peerings, routing mode), Node Pool (GKE node-pool machine type, OAuth scopes, service account), and Compute Project (project-wide SSH keys, OS Login default, block-project-keys). The existing Compute Instance model also now captures per-instance SSH keys, OS Login, and block-project-ssh-keys metadata.
- Serverless coverage — New asset models for Google Cloud's managed runtimes: Cloud Run Service (ingress, container images, runtime service account), Cloud Function (Gen2, ingress settings, environment variables, build service account), and App Engine Application (serving status, default hostname, IAP, dispatch rules).
- Load-balancer chain — Four new asset models that capture the full GCP load-balancer graph end-to-end: Forwarding Rule, Backend Service, Target Pool, and Instance Group. Brinqa can now follow a public forwarding rule all the way to its backing instances when computing blast radius.
- IAM-binding resolution — A new IAM Binding model that materialises every (principal, role, resource) tuple from project, folder, organization, bucket, function, Cloud Run, and App Engine IAM policies. New expandCustomRoles operation option inlines includedPermissions[] from custom roles so they can be searched at the same granularity as predefined roles.
- Kubernetes integration — In-cluster inventory across every reachable GKE cluster. The connector pulls nine Kubernetes resource kinds: Namespace, Pod, Service Account, Service, Ingress, Deployment, DaemonSet, Role, and RoleBinding. Workload Identity annotations on Kubernetes Service Accounts are surfaced as a GCP_SERVICE_ACCOUNT attribute, enabling joins between in-cluster identities and GCP IAM. Per-cluster failures are logged and skipped; sync continues across reachable clusters.
Improvements
- Exposure-analysis fields on existing models — GKE Cluster gains private-endpoint, private-nodes, and master-authorized-networks attributes. Firewall gains allowed/denied rule lists and target service accounts. Cloud SQL gains an authorized-networks CIDR list.
- Optional category filter — A new category operation option lets administrators target Violation and Alert syncs at specific finding categories.
No Migration
No migration required for this release.
June 4th, 2026
3.2.16No change.April 30th, 2026
3.2.13No change.April 10th, 2026
3.2.10Added the RESULTS attribute to the Vulnerability object, populated from the affected and fixed package details.February 13th, 2026
3.2.9Added the KUBERNETES_OBJECTS attribute to the Vulnerability, Alert, and Violation objects.January 29th, 2026
3.2.8Added logic to match assets by the parent project when the same firewall or any asset name exists in two different projects and when the asset cannot be retrieved directly by its uid.December 26th, 2025
3.2.7- In the Compute Instance object, mapped natIP to PUBLIC_IP_ADDRESSES and networkIP to PRIVATE_IP_ADDRESSES.
- The connector now retrieves the SQL Instance object from Google Cloud.
- Moved the mapping of RECOMMENDATION attribute from Violation Definition to Violation object.
October 30th, 2025
3.2.6Fixed an issue where the severity level of findings from Google Security Command Center were not accurately reflected in Brinqa.September 9th, 2025
3.2.5The Security Command Center connector has been renamed to "Google Security Command Center" and the connector icon has been updated. This change only affects the connector label and icon, it does not impact functionality. You can update without making any changes to your existing configurations.August 5th, 2025
3.2.4- The connector now retrieves the Repository object from Google Cloud.
- Fixed an issue where the TARGETS values on the Alert, Violation, and Vulnerability objects were populated with asset names instead of unique identifiers, which prevented proper consolidation with asset records.
- Fixed an issue where the Vulnerability Definition object sync was not retrieving any data.
- Added a new operation option on all Finding-related objects (Alert, Alert Definition, Violation, Violation Definition, Vulnerability, and Vulnerability Definition) to filter records by asset type: asset_type.
July 2nd, 2025
3.2.3No change.June 4th, 2025
3.2.2- Changed the ENABLE_DISPLAY attribute type on the Compute Instance object from boolean to string to resolve a data type mismatch error.
- Fixed an issue where CVE details were incorrectly mapped to the Vulnerability object. These values are now mapped to the Vulnerability Definition object.
June 4th, 2025
3.2.1- The connector now retrieves the following objects from Google: Google Security Center Alert, Google Security Center Alert Definition, Google Security Center GKE Cluster, Google Security Center Project, Google Security Center Service Account, Google Security Center Vulnerability, and Google Security Center Vulnerability Definition.
- Renamed the Finding and Finding Definition objects to Violation and Violation Definition to more accurately reflect the type of misconfiguration and policy violations being ingested.
- Findings classified as vulnerabilities now consolidate to the Vulnerability and Vulnerability Definition data models and all other categories consolidate to Violation and Violation Definition.
- Added the FINDING_CLASS attribute to Violation and Violation Definition objects.
- Added a new operation option for filtering by finding class: findingClass.
- Updated the logic to use a more precise UID generation method to prevent duplicates.
- Fixed attribute mappings for severity fields, including Severity, Severity Score, and Source Severity.
- Added the TAGS attribute to Bucket and Compute Instance objects by combining data from the tags and labels fields.
April 24th, 2025
3.2.0Code cleanup and general maintenance.April 24th, 2025
3.1.3No change.December 13th, 2024
3.1.2.1- Fixed an issue where the test connection was failing.
- Code cleanup and general maintenance.
December 13th, 2024
3.1.1Added the CVE_IDS and CVE_RECORDS attributes to the Finding object to retrieve CVE information.October 1st, 2024
3.1.0Initial Integration+ release.March 12th, 2024