Struct google_api_proto::google::cloud::securitycenter::v2::Finding
source · pub struct Finding {Show 50 fields
pub name: String,
pub canonical_name: String,
pub parent: String,
pub resource_name: String,
pub state: i32,
pub category: String,
pub external_uri: String,
pub source_properties: BTreeMap<String, Value>,
pub security_marks: Option<SecurityMarks>,
pub event_time: Option<Timestamp>,
pub create_time: Option<Timestamp>,
pub severity: i32,
pub mute: i32,
pub mute_info: Option<MuteInfo>,
pub finding_class: i32,
pub indicator: Option<Indicator>,
pub vulnerability: Option<Vulnerability>,
pub mute_update_time: Option<Timestamp>,
pub external_systems: BTreeMap<String, ExternalSystem>,
pub mitre_attack: Option<MitreAttack>,
pub access: Option<Access>,
pub connections: Vec<Connection>,
pub mute_initiator: String,
pub processes: Vec<Process>,
pub contacts: BTreeMap<String, ContactDetails>,
pub compliances: Vec<Compliance>,
pub parent_display_name: String,
pub description: String,
pub exfiltration: Option<Exfiltration>,
pub iam_bindings: Vec<IamBinding>,
pub next_steps: String,
pub module_name: String,
pub containers: Vec<Container>,
pub kubernetes: Option<Kubernetes>,
pub database: Option<Database>,
pub attack_exposure: Option<AttackExposure>,
pub files: Vec<File>,
pub cloud_dlp_inspection: Option<CloudDlpInspection>,
pub cloud_dlp_data_profile: Option<CloudDlpDataProfile>,
pub kernel_rootkit: Option<KernelRootkit>,
pub org_policies: Vec<OrgPolicy>,
pub application: Option<Application>,
pub backup_disaster_recovery: Option<BackupDisasterRecovery>,
pub security_posture: Option<SecurityPosture>,
pub log_entries: Vec<LogEntry>,
pub load_balancers: Vec<LoadBalancer>,
pub cloud_armor: Option<CloudArmor>,
pub notebook: Option<Notebook>,
pub toxic_combination: Option<ToxicCombination>,
pub group_memberships: Vec<GroupMembership>,
}
Expand description
Security Command Center finding.
A 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.
Fields§
§name: String
The relative resource name of the finding. The following list shows some examples:
organizations/{organization_id}/sources/{source_id}/findings/{finding_id}
organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}
folders/{folder_id}/sources/{source_id}/findings/{finding_id}
folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}
projects/{project_id}/sources/{source_id}/findings/{finding_id}
projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}
canonical_name: String
Output only. The canonical name of the finding. The following list shows some examples:
organizations/{organization_id}/sources/{source_id}/findings/{finding_id}
organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}
folders/{folder_id}/sources/{source_id}/findings/{finding_id}
folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}
projects/{project_id}/sources/{source_id}/findings/{finding_id}
projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}
The prefix is the closest CRM ancestor of the resource associated with the finding.
parent: String
The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples:
organizations/{organization_id}/sources/{source_id}
folders/{folders_id}/sources/{source_id}
projects/{projects_id}/sources/{source_id}
organizations/{organization_id}/sources/{source_id}/locations/{location_id}
folders/{folders_id}/sources/{source_id}/locations/{location_id}
projects/{projects_id}/sources/{source_id}/locations/{location_id}
resource_name: String
Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string.
state: i32
Output only. The state of the finding.
category: String
Immutable. The additional taxonomy group within findings from a given source. Example: “XSS_FLASH_INJECTION”
external_uri: String
The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.
source_properties: BTreeMap<String, Value>
Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.
security_marks: Option<SecurityMarks>
Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.
event_time: Option<Timestamp>
The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.
create_time: Option<Timestamp>
Output only. The time at which the finding was created in Security Command Center.
severity: i32
The severity of the finding. This field is managed by the source that writes the finding.
mute: i32
Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn’t set the value of mute.
mute_info: Option<MuteInfo>
Output only. The mute information regarding this finding.
finding_class: i32
The class of the finding.
indicator: Option<Indicator>
Represents what’s commonly known as an indicator of compromise (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see Indicator of compromise.
vulnerability: Option<Vulnerability>
Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
mute_update_time: Option<Timestamp>
Output only. The most recent time this finding was muted or unmuted.
external_systems: BTreeMap<String, ExternalSystem>
Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.
mitre_attack: Option<MitreAttack>
MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org
access: Option<Access>
Access details associated with the finding, such as more information on the caller, which method was accessed, and from where.
connections: Vec<Connection>
Contains information about the IP connection associated with the finding.
mute_initiator: String
Records additional information about the mute operation, for example, the mute configuration that muted the finding and the user who muted the finding.
processes: Vec<Process>
Represents operating system processes associated with the Finding.
contacts: BTreeMap<String, ContactDetails>
Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
{
"security": {
"contacts": [
{
"email": "person1@company.com"
},
{
"email": "person2@company.com"
}
]
}
}
compliances: Vec<Compliance>
Contains compliance information for security standards associated to the finding.
parent_display_name: String
Output only. The human readable display name of the finding source such as “Event Threat Detection” or “Security Health Analytics”.
description: String
Contains more details about the finding.
exfiltration: Option<Exfiltration>
Represents exfiltrations associated with the finding.
iam_bindings: Vec<IamBinding>
Represents IAM bindings associated with the finding.
next_steps: String
Steps to address the finding.
module_name: String
Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
containers: Vec<Container>
Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.
kubernetes: Option<Kubernetes>
Kubernetes resources associated with the finding.
database: Option<Database>
Database associated with the finding.
attack_exposure: Option<AttackExposure>
The results of an attack path simulation relevant to this finding.
files: Vec<File>
File associated with the finding.
cloud_dlp_inspection: Option<CloudDlpInspection>
Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding.
cloud_dlp_data_profile: Option<CloudDlpDataProfile>
Cloud DLP data profile that is associated with the finding.
kernel_rootkit: Option<KernelRootkit>
Signature of the kernel rootkit.
org_policies: Vec<OrgPolicy>
Contains information about the org policies associated with the finding.
application: Option<Application>
Represents an application associated with the finding.
backup_disaster_recovery: Option<BackupDisasterRecovery>
Fields related to Backup and DR findings.
security_posture: Option<SecurityPosture>
The security posture associated with the finding.
log_entries: Vec<LogEntry>
Log entries that are relevant to the finding.
load_balancers: Vec<LoadBalancer>
The load balancers associated with the finding.
cloud_armor: Option<CloudArmor>
Fields related to Cloud Armor findings.
notebook: Option<Notebook>
Notebook associated with the finding.
toxic_combination: Option<ToxicCombination>
Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests.
group_memberships: Vec<GroupMembership>
Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.
Implementations§
source§impl Finding
impl Finding
sourcepub fn state(&self) -> State
pub fn state(&self) -> State
Returns the enum value of state
, or the default if the field is set to an invalid enum value.
sourcepub fn severity(&self) -> Severity
pub fn severity(&self) -> Severity
Returns the enum value of severity
, or the default if the field is set to an invalid enum value.
sourcepub fn set_severity(&mut self, value: Severity)
pub fn set_severity(&mut self, value: Severity)
Sets severity
to the provided enum value.
sourcepub fn mute(&self) -> Mute
pub fn mute(&self) -> Mute
Returns the enum value of mute
, or the default if the field is set to an invalid enum value.
sourcepub fn finding_class(&self) -> FindingClass
pub fn finding_class(&self) -> FindingClass
Returns the enum value of finding_class
, or the default if the field is set to an invalid enum value.
sourcepub fn set_finding_class(&mut self, value: FindingClass)
pub fn set_finding_class(&mut self, value: FindingClass)
Sets finding_class
to the provided enum value.
Trait Implementations§
source§impl Message for Finding
impl Message for Finding
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Finding
impl PartialEq for Finding
impl StructuralPartialEq for Finding
Auto Trait Implementations§
impl Freeze for Finding
impl RefUnwindSafe for Finding
impl Send for Finding
impl Sync for Finding
impl Unpin for Finding
impl UnwindSafe for Finding
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request