@google-cloud/containeranalysis 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@
4
4
 
5
5
  [1]: https://www.npmjs.com/package/@google-cloud/containeranalysis?activeTab=versions
6
6
 
7
+ ## [3.4.0](https://github.com/googleapis/nodejs-containeranalysis/compare/v3.3.0...v3.4.0) (2022-04-05)
8
+
9
+
10
+ ### Features
11
+
12
+ * AuditConfig for IAM v1 ([#388](https://github.com/googleapis/nodejs-containeranalysis/issues/388)) ([f4d14d7](https://github.com/googleapis/nodejs-containeranalysis/commit/f4d14d7734054b8bd7037b189e7af1876e119f51))
13
+
7
14
  ## [3.3.0](https://www.github.com/googleapis/nodejs-containeranalysis/compare/v3.2.0...v3.3.0) (2021-11-11)
8
15
 
9
16
 
package/README.md CHANGED
@@ -4,9 +4,8 @@
4
4
 
5
5
  # [Google Container Analysis: Node.js Client](https://github.com/googleapis/nodejs-containeranalysis)
6
6
 
7
- [![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
7
+ [![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
8
8
  [![npm version](https://img.shields.io/npm/v/@google-cloud/containeranalysis.svg)](https://www.npmjs.org/package/@google-cloud/containeranalysis)
9
- [![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-containeranalysis/main.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-containeranalysis)
10
9
 
11
10
 
12
11
 
@@ -136,37 +135,38 @@ also contains samples.
136
135
  Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/).
137
136
  Libraries are compatible with all current _active_ and _maintenance_ versions of
138
137
  Node.js.
138
+ If you are using an end-of-life version of Node.js, we recommend that you update
139
+ as soon as possible to an actively supported LTS version.
139
140
 
140
- Client libraries targeting some end-of-life versions of Node.js are available, and
141
- can be installed via npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
142
- The dist-tags follow the naming convention `legacy-(version)`.
143
-
144
- _Legacy Node.js versions are supported as a best effort:_
145
-
146
- * Legacy versions will not be tested in continuous integration.
147
- * Some security patches may not be able to be backported.
148
- * Dependencies will not be kept up-to-date, and features will not be backported.
141
+ Google's client libraries support legacy versions of Node.js runtimes on a
142
+ best-efforts basis with the following warnings:
149
143
 
150
- #### Legacy tags available
144
+ * Legacy versions are not tested in continuous integration.
145
+ * Some security patches and features cannot be backported.
146
+ * Dependencies cannot be kept up-to-date.
151
147
 
152
- * `legacy-8`: install client libraries from this dist-tag for versions
153
- compatible with Node.js 8.
148
+ Client libraries targeting some end-of-life versions of Node.js are available, and
149
+ can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
150
+ The dist-tags follow the naming convention `legacy-(version)`.
151
+ For example, `npm install @google-cloud/containeranalysis@legacy-8` installs client libraries
152
+ for versions compatible with Node.js 8.
154
153
 
155
154
  ## Versioning
156
155
 
157
156
  This library follows [Semantic Versioning](http://semver.org/).
158
157
 
159
158
 
160
- This library is considered to be **General Availability (GA)**. This means it
161
- is stable; the code surface will not change in backwards-incompatible ways
159
+
160
+ This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
162
161
  unless absolutely necessary (e.g. because of critical security issues) or with
163
- an extensive deprecation period. Issues and requests against **GA** libraries
162
+ an extensive deprecation period. Issues and requests against **stable** libraries
164
163
  are addressed with the highest priority.
165
164
 
166
165
 
167
166
 
168
167
 
169
168
 
169
+
170
170
  More Information: [Google Cloud Platform Launch Stages][launch_stages]
171
171
 
172
172
  [launch_stages]: https://cloud.google.com/terms/launch-stages
@@ -1,4 +1,4 @@
1
- // Copyright 2019 Google LLC
1
+ // Copyright 2021 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -23,7 +23,9 @@ import "google/api/resource.proto";
23
23
  import "google/iam/v1/iam_policy.proto";
24
24
  import "google/iam/v1/policy.proto";
25
25
  import "google/protobuf/timestamp.proto";
26
- import "grafeas/v1/vulnerability.proto";
26
+ import "grafeas/v1/common.proto";
27
+ import "grafeas/v1/grafeas.proto";
28
+ import "grafeas/v1/severity.proto";
27
29
 
28
30
  option csharp_namespace = "Google.Cloud.DevTools.ContainerAnalysis.V1";
29
31
  option go_package = "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1;containeranalysis";
@@ -48,8 +50,7 @@ option php_namespace = "Google\\Cloud\\ContainerAnalysis\\V1";
48
50
  // image with the vulnerability referring to that note.
49
51
  service ContainerAnalysis {
50
52
  option (google.api.default_host) = "containeranalysis.googleapis.com";
51
- option (google.api.oauth_scopes) =
52
- "https://www.googleapis.com/auth/cloud-platform";
53
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
53
54
 
54
55
  // Sets the access control policy on the specified note or occurrence.
55
56
  // Requires `containeranalysis.notes.setIamPolicy` or
@@ -59,8 +60,7 @@ service ContainerAnalysis {
59
60
  // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
60
61
  // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
61
62
  // occurrences.
62
- rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest)
63
- returns (google.iam.v1.Policy) {
63
+ rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
64
64
  option (google.api.http) = {
65
65
  post: "/v1/{resource=projects/*/notes/*}:setIamPolicy"
66
66
  body: "*"
@@ -80,8 +80,7 @@ service ContainerAnalysis {
80
80
  // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
81
81
  // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
82
82
  // occurrences.
83
- rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest)
84
- returns (google.iam.v1.Policy) {
83
+ rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
85
84
  option (google.api.http) = {
86
85
  post: "/v1/{resource=projects/*/notes/*}:getIamPolicy"
87
86
  body: "*"
@@ -100,8 +99,7 @@ service ContainerAnalysis {
100
99
  // The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
101
100
  // notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
102
101
  // occurrences.
103
- rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
104
- returns (google.iam.v1.TestIamPermissionsResponse) {
102
+ rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
105
103
  option (google.api.http) = {
106
104
  post: "/v1/{resource=projects/*/notes/*}:testIamPermissions"
107
105
  body: "*"
@@ -114,9 +112,7 @@ service ContainerAnalysis {
114
112
  }
115
113
 
116
114
  // Gets a summary of the number and severity of occurrences.
117
- rpc GetVulnerabilityOccurrencesSummary(
118
- GetVulnerabilityOccurrencesSummaryRequest)
119
- returns (VulnerabilityOccurrencesSummary) {
115
+ rpc GetVulnerabilityOccurrencesSummary(GetVulnerabilityOccurrencesSummaryRequest) returns (VulnerabilityOccurrencesSummary) {
120
116
  option (google.api.http) = {
121
117
  get: "/v1/{parent=projects/*}/occurrences:vulnerabilitySummary"
122
118
  };
@@ -126,12 +122,13 @@ service ContainerAnalysis {
126
122
 
127
123
  // Request to get a vulnerability summary for some set of occurrences.
128
124
  message GetVulnerabilityOccurrencesSummaryRequest {
129
- // The name of the project to get a vulnerability summary for in the form of
125
+ // Required. The name of the project to get a vulnerability summary for in the form of
130
126
  // `projects/[PROJECT_ID]`.
131
127
  string parent = 1 [
132
- (google.api.resource_reference).type =
133
- "cloudresourcemanager.googleapis.com/Project",
134
- (google.api.field_behavior) = REQUIRED
128
+ (google.api.field_behavior) = REQUIRED,
129
+ (google.api.resource_reference) = {
130
+ type: "cloudresourcemanager.googleapis.com/Project"
131
+ }
135
132
  ];
136
133
 
137
134
  // The filter expression.
@@ -16,7 +16,7 @@ syntax = "proto3";
16
16
 
17
17
  package grafeas.v1;
18
18
 
19
- import "grafeas/v1/vulnerability.proto";
19
+ import "grafeas/v1/severity.proto";
20
20
 
21
21
  option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
22
22
  option java_multiple_files = true;
@@ -19,6 +19,7 @@ package grafeas.v1;
19
19
  option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
20
20
  option java_multiple_files = true;
21
21
  option java_package = "io.grafeas.v1";
22
+ option java_outer_classname = "CvssProto";
22
23
  option objc_class_prefix = "GRA";
23
24
 
24
25
  // Common Vulnerability Scoring System version 3.
@@ -83,3 +84,78 @@ message CVSSv3 {
83
84
  IMPACT_NONE = 3;
84
85
  }
85
86
  }
87
+
88
+ // Common Vulnerability Scoring System.
89
+ // For details, see https://www.first.org/cvss/specification-document
90
+ // This is a message we will try to use for storing multiple versions of
91
+ // CVSS. The intention is that as new versions of CVSS scores get added, we
92
+ // will be able to modify this message rather than adding new protos for each
93
+ // new version of the score.
94
+ message CVSS {
95
+ // The base score is a function of the base metric scores.
96
+ float base_score = 1;
97
+
98
+ float exploitability_score = 2;
99
+
100
+ float impact_score = 3;
101
+
102
+ // Base Metrics
103
+ // Represents the intrinsic characteristics of a vulnerability that are
104
+ // constant over time and across user environments.
105
+ AttackVector attack_vector = 4;
106
+ AttackComplexity attack_complexity = 5;
107
+ Authentication authentication = 6;
108
+ PrivilegesRequired privileges_required = 7;
109
+ UserInteraction user_interaction = 8;
110
+ Scope scope = 9;
111
+ Impact confidentiality_impact = 10;
112
+ Impact integrity_impact = 11;
113
+ Impact availability_impact = 12;
114
+
115
+ enum AttackVector {
116
+ ATTACK_VECTOR_UNSPECIFIED = 0;
117
+ ATTACK_VECTOR_NETWORK = 1;
118
+ ATTACK_VECTOR_ADJACENT = 2;
119
+ ATTACK_VECTOR_LOCAL = 3;
120
+ ATTACK_VECTOR_PHYSICAL = 4;
121
+ }
122
+
123
+ enum AttackComplexity {
124
+ ATTACK_COMPLEXITY_UNSPECIFIED = 0;
125
+ ATTACK_COMPLEXITY_LOW = 1;
126
+ ATTACK_COMPLEXITY_HIGH = 2;
127
+ }
128
+
129
+ enum Authentication {
130
+ AUTHENTICATION_UNSPECIFIED = 0;
131
+ AUTHENTICATION_MULTIPLE = 1;
132
+ AUTHENTICATION_SINGLE = 2;
133
+ AUTHENTICATION_NONE = 3;
134
+ }
135
+
136
+ enum PrivilegesRequired {
137
+ PRIVILEGES_REQUIRED_UNSPECIFIED = 0;
138
+ PRIVILEGES_REQUIRED_NONE = 1;
139
+ PRIVILEGES_REQUIRED_LOW = 2;
140
+ PRIVILEGES_REQUIRED_HIGH = 3;
141
+ }
142
+
143
+ enum UserInteraction {
144
+ USER_INTERACTION_UNSPECIFIED = 0;
145
+ USER_INTERACTION_NONE = 1;
146
+ USER_INTERACTION_REQUIRED = 2;
147
+ }
148
+
149
+ enum Scope {
150
+ SCOPE_UNSPECIFIED = 0;
151
+ SCOPE_UNCHANGED = 1;
152
+ SCOPE_CHANGED = 2;
153
+ }
154
+
155
+ enum Impact {
156
+ IMPACT_UNSPECIFIED = 0;
157
+ IMPACT_HIGH = 1;
158
+ IMPACT_LOW = 2;
159
+ IMPACT_NONE = 3;
160
+ }
161
+ }
@@ -16,6 +16,7 @@ syntax = "proto3";
16
16
 
17
17
  package grafeas.v1;
18
18
 
19
+ import "google/api/field_behavior.proto";
19
20
  import "google/protobuf/timestamp.proto";
20
21
  import "google/rpc/status.proto";
21
22
  import "grafeas/v1/common.proto";
@@ -80,4 +81,8 @@ message DiscoveryOccurrence {
80
81
 
81
82
  // The last time this resource was scanned.
82
83
  google.protobuf.Timestamp last_scan_time = 5;
84
+
85
+ // The time occurrences related to this discovery occurrence were archived.
86
+ google.protobuf.Timestamp archive_time = 6
87
+ [(google.api.field_behavior) = OUTPUT_ONLY];
83
88
  }
@@ -23,6 +23,7 @@ option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
23
23
  option java_multiple_files = true;
24
24
  option java_package = "io.grafeas.v1";
25
25
  option objc_class_prefix = "GRA";
26
+ option java_outer_classname = "InTotoProvenanceProto";
26
27
 
27
28
  // Spec defined at
28
29
  // https://github.com/in-toto/attestation/blob/main/spec/predicates/provenance.md
@@ -23,6 +23,7 @@ option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
23
23
  option java_multiple_files = true;
24
24
  option java_package = "io.grafeas.v1";
25
25
  option objc_class_prefix = "GRA";
26
+ option java_outer_classname = "InTotoStatementProto";
26
27
 
27
28
  // Spec defined at
28
29
  // https://github.com/in-toto/attestation/tree/main/spec#statement The
@@ -0,0 +1,38 @@
1
+ // Copyright 2021 The Grafeas Authors. All rights reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package grafeas.v1;
18
+
19
+ option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
20
+ option java_multiple_files = true;
21
+ option java_package = "io.grafeas.v1";
22
+ option objc_class_prefix = "GRA";
23
+
24
+ // Note provider assigned severity/impact ranking.
25
+ enum Severity {
26
+ // Unknown.
27
+ SEVERITY_UNSPECIFIED = 0;
28
+ // Minimal severity.
29
+ MINIMAL = 1;
30
+ // Low severity.
31
+ LOW = 2;
32
+ // Medium severity.
33
+ MEDIUM = 3;
34
+ // High severity.
35
+ HIGH = 4;
36
+ // Critical severity.
37
+ CRITICAL = 5;
38
+ }
@@ -21,28 +21,13 @@ import "google/protobuf/timestamp.proto";
21
21
  import "grafeas/v1/common.proto";
22
22
  import "grafeas/v1/cvss.proto";
23
23
  import "grafeas/v1/package.proto";
24
+ import "grafeas/v1/severity.proto";
24
25
 
25
26
  option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
26
27
  option java_multiple_files = true;
27
28
  option java_package = "io.grafeas.v1";
28
29
  option objc_class_prefix = "GRA";
29
30
 
30
- // Note provider assigned severity/impact ranking.
31
- enum Severity {
32
- // Unknown.
33
- SEVERITY_UNSPECIFIED = 0;
34
- // Minimal severity.
35
- MINIMAL = 1;
36
- // Low severity.
37
- LOW = 2;
38
- // Medium severity.
39
- MEDIUM = 3;
40
- // High severity.
41
- HIGH = 4;
42
- // Critical severity.
43
- CRITICAL = 5;
44
- }
45
-
46
31
  // A security vulnerability that can be found in resources.
47
32
  message VulnerabilityNote {
48
33
  // The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10
@@ -50,7 +35,7 @@ message VulnerabilityNote {
50
35
  float cvss_score = 1;
51
36
 
52
37
  // The note provider assigned severity of this vulnerability.
53
- Severity severity = 2;
38
+ grafeas.v1.Severity severity = 2;
54
39
 
55
40
  // Details of all known distros and packages affected by this vulnerability.
56
41
  repeated Detail details = 3;
@@ -172,24 +157,15 @@ message VulnerabilityOccurrence {
172
157
  string type = 1;
173
158
 
174
159
  // Output only. The note provider assigned severity of this vulnerability.
175
- Severity severity = 2;
160
+ grafeas.v1.Severity severity = 2;
176
161
 
177
162
  // Output only. The CVSS score of this vulnerability. CVSS score is on a
178
163
  // scale of 0 - 10 where 0 indicates low severity and 10 indicates high
179
164
  // severity.
180
165
  float cvss_score = 3;
181
166
 
182
- // The CVSS v3 score for this vulnerability.
183
- message CVSSV3 {
184
- // The base score for for this vulnerability according to cvss v3.
185
- float base_score = 1;
186
- // The severity rating assigned to this vulnerability by vulnerability
187
- // provider.
188
- Severity severity = 2;
189
- }
190
-
191
167
  // The cvss v3 score for the vulnerability.
192
- CVSSV3 cvssv3 = 10;
168
+ CVSS cvssv3 = 10;
193
169
 
194
170
  // Required. The set of affected locations and their fixes (if available)
195
171
  // within the associated resource.
@@ -231,7 +207,8 @@ message VulnerabilityOccurrence {
231
207
  // The distro or language system assigned severity for this vulnerability
232
208
  // when that is available and note provider assigned severity when it is not
233
209
  // available.
234
- Severity effective_severity = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
210
+ grafeas.v1.Severity effective_severity = 9
211
+ [(google.api.field_behavior) = OUTPUT_ONLY];
235
212
  }
236
213
 
237
214
  // Output only. A one sentence description of this vulnerability.
@@ -253,7 +230,7 @@ message VulnerabilityOccurrence {
253
230
  // PackageIssue level. In the case where multiple PackageIssues have differing
254
231
  // effective severities, this field should be the highest severity for any of
255
232
  // the PackageIssues.
256
- Severity effective_severity = 8;
233
+ grafeas.v1.Severity effective_severity = 8;
257
234
 
258
235
  // Output only. Whether at least one of the affected packages has a fix
259
236
  // available.