public sealed class Finding : IMessage<Finding>, IEquatable<Finding>, IDeepCloneable<Finding>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Security Command Center v1p1beta1 API class Finding.
Security Command Center finding.
A finding is a record of assessment data (security, risk, health or privacy)
ingested into Security Command Center for presentation, notification,
analysis, policy testing, and enforcement. For example, an XSS vulnerability
in an App Engine application is a finding.
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.
The time at which the event took place, or when an update to the finding
occurred. For example, if the finding represents an open firewall it would
capture the time the detector believes the firewall became open. The
accuracy is determined by the detector. If the finding were to be resolved
afterward, this time would reflect when the finding was resolved. Must not
be set to a value greater than the current timestamp.
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.
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.
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.
public MapField<string, Value> SourceProperties { get; }
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eFinding\u003c/code\u003e class in the Google Cloud Security Command Center v1p1beta1 API represents a record of security, risk, health, or privacy assessment data.\u003c/p\u003e\n"],["\u003cp\u003eThis class includes properties like \u003ccode\u003eCategory\u003c/code\u003e, \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eEventTime\u003c/code\u003e, \u003ccode\u003eSeverity\u003c/code\u003e, and \u003ccode\u003eState\u003c/code\u003e, which provide details about the finding and when the event occurred or was updated.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eFinding\u003c/code\u003e instances can be associated with Google Cloud resources or other resources, and are linked through properties like \u003ccode\u003eResourceName\u003c/code\u003e, \u003ccode\u003eParent\u003c/code\u003e, and \u003ccode\u003eCanonicalName\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class offers methods to work with security marks, represented by the \u003ccode\u003eSecurityMarks\u003c/code\u003e property, and also allows for source-specific properties through the \u003ccode\u003eSourceProperties\u003c/code\u003e property.\u003c/p\u003e\n"],["\u003cp\u003eThe most recent version of this class is 3.0.0-beta05, which is the latest version available.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Security Command Center v1p1beta1 API - Class Finding (3.0.0-beta05)\n\nVersion latestkeyboard_arrow_down\n\n- [3.0.0-beta05 (latest)](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.Finding)\n- [3.0.0-beta04](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/3.0.0-beta04/Google.Cloud.SecurityCenter.V1P1Beta1.Finding)\n- [2.0.0-beta07](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/2.0.0-beta07/Google.Cloud.SecurityCenter.V1P1Beta1.Finding) \n\n public sealed class Finding : IMessage\u003cFinding\u003e, IEquatable\u003cFinding\u003e, IDeepCloneable\u003cFinding\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Security Command Center v1p1beta1 API class Finding.\n\nSecurity Command Center finding.\n\nA finding is a record of assessment data (security, risk, health or privacy)\ningested into Security Command Center for presentation, notification,\nanalysis, policy testing, and enforcement. For example, an XSS vulnerability\nin an App Engine application is a finding. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Finding \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Finding](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.Finding), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Finding](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.Finding), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Finding](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.Finding), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.SecurityCenter.V1P1Beta1](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1)\n\nAssembly\n--------\n\nGoogle.Cloud.SecurityCenter.V1P1Beta1.dll\n\nConstructors\n------------\n\n### Finding()\n\n public Finding()\n\n### Finding(Finding)\n\n public Finding(Finding other)\n\nProperties\n----------\n\n### CanonicalName\n\n public string CanonicalName { get; set; }\n\nThe canonical name of the finding. It's either\n\"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\",\n\"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or\n\"projects/{project_number}/sources/{source_id}/findings/{finding_id}\",\ndepending on the closest CRM ancestor of the resource associated with the\nfinding.\n\n### Category\n\n public string Category { get; set; }\n\nThe additional taxonomy group within findings from a given source.\nThis field is immutable after creation time.\nExample: \"XSS_FLASH_INJECTION\"\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nThe time at which the finding was created in Security Command Center.\n\n### EventTime\n\n public Timestamp EventTime { get; set; }\n\nThe time at which the event took place, or when an update to the finding\noccurred. For example, if the finding represents an open firewall it would\ncapture the time the detector believes the firewall became open. The\naccuracy is determined by the detector. If the finding were to be resolved\nafterward, this time would reflect when the finding was resolved. Must not\nbe set to a value greater than the current timestamp.\n\n### ExternalUri\n\n public string ExternalUri { get; set; }\n\nThe URI that, if available, points to a web page outside of Security\nCommand Center where additional information about the finding can be found.\nThis field is guaranteed to be either empty or a well formed URL.\n\n### FindingName\n\n public FindingName FindingName { get; set; }\n\n[FindingName](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.FindingName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.SecurityCenter.V1P1Beta1/latest/Google.Cloud.SecurityCenter.V1P1Beta1.Finding#Google_Cloud_SecurityCenter_V1P1Beta1_Finding_Name) resource name property.\n\n### Name\n\n public string Name { get; set; }\n\nThe relative resource name of this finding. See:\n\u003chttps://cloud.google.com/apis/design/resource_names#relative_resource_name\u003e\nExample:\n\"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"\n\n### Parent\n\n public string Parent { get; set; }\n\nThe relative resource name of the source the finding belongs to. See:\n\u003chttps://cloud.google.com/apis/design/resource_names#relative_resource_name\u003e\nThis field is immutable after creation time.\nFor example:\n\"organizations/{organization_id}/sources/{source_id}\"\n\n### ResourceName\n\n public string ResourceName { get; set; }\n\nFor findings on Google Cloud resources, the full resource\nname of the Google Cloud resource this finding is for. See:\n\u003chttps://cloud.google.com/apis/design/resource_names#full_resource_name\u003e\nWhen the finding is for a non-Google Cloud resource, the resourceName can\nbe a customer or partner defined string. This field is immutable after\ncreation time.\n\n### SecurityMarks\n\n public SecurityMarks SecurityMarks { get; set; }\n\nOutput only. User specified security marks. These marks are entirely\nmanaged by the user and come from the SecurityMarks resource that belongs\nto the finding.\n\n### Severity\n\n public Finding.Types.Severity Severity { get; set; }\n\nThe severity of the finding. This field is managed by the source that\nwrites the finding.\n\n### SourceProperties\n\n public MapField\u003cstring, Value\u003e SourceProperties { get; }\n\nSource specific properties. These properties are managed by the source\nthat writes the finding. The key names in the source_properties map must be\nbetween 1 and 255 characters, and must start with a letter and contain\nalphanumeric characters or underscores only.\n\n### State\n\n public Finding.Types.State State { get; set; }\n\nThe state of the finding."]]