Skip to content

Commit ace624a

Browse files
feat: Added container field to findings attributes (#353)
- [ ] Regenerate this pull request now. feat: Added kubernetes field to findings attribute. This field is populated only when the container is a kubernetes cluster explicitly PiperOrigin-RevId: 462248767 Source-Link: googleapis/googleapis@dd2b0d2 Source-Link: googleapis/googleapis-gen@0be13cf Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMGJlMTNjZjUzY2E0NTU1NTQ4OWQ3MzQxOWQxMDUzYTcwOWE4ZGVjZCJ9
1 parent 31d786d commit ace624a

File tree

11 files changed

+492
-4
lines changed

11 files changed

+492
-4
lines changed

packages/google-cloud-securitycenter/google/cloud/securitycenter/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from google.cloud.securitycenter_v1.types.compliance import Compliance
2727
from google.cloud.securitycenter_v1.types.connection import Connection
2828
from google.cloud.securitycenter_v1.types.contact_details import Contact, ContactDetails
29+
from google.cloud.securitycenter_v1.types.container import Container
2930
from google.cloud.securitycenter_v1.types.exfiltration import (
3031
ExfilResource,
3132
Exfiltration,
@@ -36,6 +37,8 @@
3637
from google.cloud.securitycenter_v1.types.folder import Folder
3738
from google.cloud.securitycenter_v1.types.iam_binding import IamBinding
3839
from google.cloud.securitycenter_v1.types.indicator import Indicator
40+
from google.cloud.securitycenter_v1.types.kubernetes import Kubernetes
41+
from google.cloud.securitycenter_v1.types.label import Label
3942
from google.cloud.securitycenter_v1.types.mitre_attack import MitreAttack
4043
from google.cloud.securitycenter_v1.types.mute_config import MuteConfig
4144
from google.cloud.securitycenter_v1.types.notification_config import NotificationConfig
@@ -115,6 +118,7 @@
115118
"Connection",
116119
"Contact",
117120
"ContactDetails",
121+
"Container",
118122
"ExfilResource",
119123
"Exfiltration",
120124
"ExternalSystem",
@@ -123,6 +127,8 @@
123127
"Folder",
124128
"IamBinding",
125129
"Indicator",
130+
"Kubernetes",
131+
"Label",
126132
"MitreAttack",
127133
"MuteConfig",
128134
"NotificationConfig",

packages/google-cloud-securitycenter/google/cloud/securitycenter_v1/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,16 @@
2121
from .types.compliance import Compliance
2222
from .types.connection import Connection
2323
from .types.contact_details import Contact, ContactDetails
24+
from .types.container import Container
2425
from .types.exfiltration import ExfilResource, Exfiltration
2526
from .types.external_system import ExternalSystem
2627
from .types.file import File
2728
from .types.finding import Finding
2829
from .types.folder import Folder
2930
from .types.iam_binding import IamBinding
3031
from .types.indicator import Indicator
32+
from .types.kubernetes import Kubernetes
33+
from .types.label import Label
3134
from .types.mitre_attack import MitreAttack
3235
from .types.mute_config import MuteConfig
3336
from .types.notification_config import NotificationConfig
@@ -96,6 +99,7 @@
9699
"Connection",
97100
"Contact",
98101
"ContactDetails",
102+
"Container",
99103
"CreateBigQueryExportRequest",
100104
"CreateFindingRequest",
101105
"CreateMuteConfigRequest",
@@ -126,6 +130,8 @@
126130
"GroupResult",
127131
"IamBinding",
128132
"Indicator",
133+
"Kubernetes",
134+
"Label",
129135
"ListAssetsRequest",
130136
"ListAssetsResponse",
131137
"ListBigQueryExportsRequest",

packages/google-cloud-securitycenter/google/cloud/securitycenter_v1/services/security_center/async_client.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,15 @@
4545
bigquery_export,
4646
compliance,
4747
connection,
48+
container,
4849
exfiltration,
4950
)
50-
from google.cloud.securitycenter_v1.types import iam_binding, indicator, mitre_attack
51+
from google.cloud.securitycenter_v1.types import (
52+
iam_binding,
53+
indicator,
54+
kubernetes,
55+
mitre_attack,
56+
)
5157
from google.cloud.securitycenter_v1.types import process, run_asset_discovery_response
5258
from google.cloud.securitycenter_v1.types import external_system as gcs_external_system
5359
from google.cloud.securitycenter_v1.types import (

packages/google-cloud-securitycenter/google/cloud/securitycenter_v1/services/security_center/client.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,15 @@
4848
bigquery_export,
4949
compliance,
5050
connection,
51+
container,
5152
exfiltration,
5253
)
53-
from google.cloud.securitycenter_v1.types import iam_binding, indicator, mitre_attack
54+
from google.cloud.securitycenter_v1.types import (
55+
iam_binding,
56+
indicator,
57+
kubernetes,
58+
mitre_attack,
59+
)
5460
from google.cloud.securitycenter_v1.types import process, run_asset_discovery_response
5561
from google.cloud.securitycenter_v1.types import external_system as gcs_external_system
5662
from google.cloud.securitycenter_v1.types import (

packages/google-cloud-securitycenter/google/cloud/securitycenter_v1/types/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,16 @@
1919
from .compliance import Compliance
2020
from .connection import Connection
2121
from .contact_details import Contact, ContactDetails
22+
from .container import Container
2223
from .exfiltration import ExfilResource, Exfiltration
2324
from .external_system import ExternalSystem
2425
from .file import File
2526
from .finding import Finding
2627
from .folder import Folder
2728
from .iam_binding import IamBinding
2829
from .indicator import Indicator
30+
from .kubernetes import Kubernetes
31+
from .label import Label
2932
from .mitre_attack import MitreAttack
3033
from .mute_config import MuteConfig
3134
from .notification_config import NotificationConfig
@@ -92,6 +95,7 @@
9295
"Connection",
9396
"Contact",
9497
"ContactDetails",
98+
"Container",
9599
"ExfilResource",
96100
"Exfiltration",
97101
"ExternalSystem",
@@ -100,6 +104,8 @@
100104
"Folder",
101105
"IamBinding",
102106
"Indicator",
107+
"Kubernetes",
108+
"Label",
103109
"MitreAttack",
104110
"MuteConfig",
105111
"NotificationConfig",
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# -*- coding: utf-8 -*-
2+
# Copyright 2022 Google LLC
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License");
5+
# you may not use this file except in compliance with the License.
6+
# You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
#
16+
import proto # type: ignore
17+
18+
from google.cloud.securitycenter_v1.types import label
19+
20+
__protobuf__ = proto.module(
21+
package="google.cloud.securitycenter.v1",
22+
manifest={
23+
"Container",
24+
},
25+
)
26+
27+
28+
class Container(proto.Message):
29+
r"""Container associated with the finding.
30+
31+
Attributes:
32+
name (str):
33+
Container name.
34+
uri (str):
35+
Container image URI provided when configuring
36+
a pod/container. May identify a container image
37+
version using mutable tags.
38+
image_id (str):
39+
Optional container image id, when provided by
40+
the container runtime. Uniquely identifies the
41+
container image launched using a container image
42+
digest.
43+
labels (Sequence[google.cloud.securitycenter_v1.types.Label]):
44+
Container labels, as provided by the
45+
container runtime.
46+
"""
47+
48+
name = proto.Field(
49+
proto.STRING,
50+
number=1,
51+
)
52+
uri = proto.Field(
53+
proto.STRING,
54+
number=2,
55+
)
56+
image_id = proto.Field(
57+
proto.STRING,
58+
number=3,
59+
)
60+
labels = proto.RepeatedField(
61+
proto.MESSAGE,
62+
number=4,
63+
message=label.Label,
64+
)
65+
66+
67+
__all__ = tuple(sorted(__protobuf__.manifest))

packages/google-cloud-securitycenter/google/cloud/securitycenter_v1/types/finding.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,20 @@
1717
from google.protobuf import timestamp_pb2 # type: ignore
1818
import proto # type: ignore
1919

20-
from google.cloud.securitycenter_v1.types import compliance, connection, contact_details
20+
from google.cloud.securitycenter_v1.types import (
21+
compliance,
22+
connection,
23+
contact_details,
24+
container,
25+
)
2126
from google.cloud.securitycenter_v1.types import exfiltration as gcs_exfiltration
2227
from google.cloud.securitycenter_v1.types import mitre_attack as gcs_mitre_attack
2328
from google.cloud.securitycenter_v1.types import security_marks as gcs_security_marks
2429
from google.cloud.securitycenter_v1.types import vulnerability as gcs_vulnerability
2530
from google.cloud.securitycenter_v1.types import access as gcs_access
2631
from google.cloud.securitycenter_v1.types import external_system, iam_binding
2732
from google.cloud.securitycenter_v1.types import indicator as gcs_indicator
33+
from google.cloud.securitycenter_v1.types import kubernetes as gcs_kubernetes
2834
from google.cloud.securitycenter_v1.types import process
2935

3036
__protobuf__ = proto.module(
@@ -188,6 +194,13 @@ class Finding(proto.Message):
188194
Finding.
189195
next_steps (str):
190196
Next steps associate to the finding.
197+
containers (Sequence[google.cloud.securitycenter_v1.types.Container]):
198+
Containers associated with the finding.
199+
containers provides information for both
200+
Kubernetes and non-Kubernetes containers.
201+
kubernetes (google.cloud.securitycenter_v1.types.Kubernetes):
202+
Kubernetes resources associated with the
203+
finding.
191204
"""
192205

193206
class State(proto.Enum):
@@ -359,6 +372,16 @@ class FindingClass(proto.Enum):
359372
proto.STRING,
360373
number=40,
361374
)
375+
containers = proto.RepeatedField(
376+
proto.MESSAGE,
377+
number=42,
378+
message=container.Container,
379+
)
380+
kubernetes = proto.Field(
381+
proto.MESSAGE,
382+
number=43,
383+
message=gcs_kubernetes.Kubernetes,
384+
)
362385

363386

364387
__all__ = tuple(sorted(__protobuf__.manifest))

0 commit comments

Comments
 (0)