pub struct Finding {
Show 46 fields pub 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 canonical_name: String, pub mute: i32, 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 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>,
}
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. Example: “organizations/{organization_id}/sources/{source_id}/findings/{finding_id}”, “folders/{folder_id}/sources/{source_id}/findings/{finding_id}”, “projects/{project_id}/sources/{source_id}/findings/{finding_id}”.

§parent: String

The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: “organizations/{organization_id}/sources/{source_id}”

§resource_name: String

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. This field is immutable after creation time.

§state: i32

The state of the finding.

§category: String

The additional taxonomy group within findings from a given source. This field is immutable after creation time. 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>

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.

§canonical_name: String

The canonical name of the finding. It’s either “organizations/{organization_id}/sources/{source_id}/findings/{finding_id}”, “folders/{folder_id}/sources/{source_id}/findings/{finding_id}” or “projects/{project_number}/sources/{source_id}/findings/{finding_id}”, depending on the closest CRM ancestor of the resource associated with 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.

§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.

§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.

Implementations§

source§

impl Finding

source

pub fn state(&self) -> State

Returns the enum value of state, or the default if the field is set to an invalid enum value.

source

pub fn set_state(&mut self, value: State)

Sets state to the provided enum value.

source

pub fn severity(&self) -> Severity

Returns the enum value of severity, or the default if the field is set to an invalid enum value.

source

pub fn set_severity(&mut self, value: Severity)

Sets severity to the provided enum value.

source

pub fn mute(&self) -> Mute

Returns the enum value of mute, or the default if the field is set to an invalid enum value.

source

pub fn set_mute(&mut self, value: Mute)

Sets mute to the provided enum value.

source

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.

source

pub fn set_finding_class(&mut self, value: FindingClass)

Sets finding_class to the provided enum value.

Trait Implementations§

source§

impl Clone for Finding

source§

fn clone(&self) -> Finding

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Finding

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Finding

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for Finding

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for Finding

source§

fn eq(&self, other: &Finding) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Finding

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more