| <html><body> | |
| <style> | |
| body, h1, h2, h3, div, span, p, pre, a { | |
| margin: 0; | |
| padding: 0; | |
| border: 0; | |
| font-weight: inherit; | |
| font-style: inherit; | |
| font-size: 100%; | |
| font-family: inherit; | |
| vertical-align: baseline; | |
| } | |
| body { | |
| font-size: 13px; | |
| padding: 1em; | |
| } | |
| h1 { | |
| font-size: 26px; | |
| margin-bottom: 1em; | |
| } | |
| h2 { | |
| font-size: 24px; | |
| margin-bottom: 1em; | |
| } | |
| h3 { | |
| font-size: 20px; | |
| margin-bottom: 1em; | |
| margin-top: 1em; | |
| } | |
| pre, code { | |
| line-height: 1.5; | |
| font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; | |
| } | |
| pre { | |
| margin-top: 0.5em; | |
| } | |
| h1, h2, h3, p { | |
| font-family: Arial, sans serif; | |
| } | |
| h1, h2, h3 { | |
| border-bottom: solid #CCC 1px; | |
| } | |
| .toc_element { | |
| margin-top: 0.5em; | |
| } | |
| .firstline { | |
| margin-left: 2 em; | |
| } | |
| .method { | |
| margin-top: 1em; | |
| border: solid 1px #CCC; | |
| padding: 1em; | |
| background: #EEE; | |
| } | |
| .details { | |
| font-weight: bold; | |
| font-size: 14px; | |
| } | |
| </style> | |
| <h1><a href="containeranalysis_v1beta1.html">Container Analysis API</a> . <a href="containeranalysis_v1beta1.projects.html">projects</a> . <a href="containeranalysis_v1beta1.projects.notes.html">notes</a></h1> | |
| <h2>Instance Methods</h2> | |
| <p class="toc_element"> | |
| <code><a href="containeranalysis_v1beta1.projects.notes.occurrences.html">occurrences()</a></code> | |
| </p> | |
| <p class="firstline">Returns the occurrences Resource.</p> | |
| <p class="toc_element"> | |
| <code><a href="#batchCreate">batchCreate(parent, body=None, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Creates new notes in batch.</p> | |
| <p class="toc_element"> | |
| <code><a href="#create">create(parent, body=None, noteId=None, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Creates a new note.</p> | |
| <p class="toc_element"> | |
| <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Deletes the specified note.</p> | |
| <p class="toc_element"> | |
| <code><a href="#get">get(name, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Gets the specified note.</p> | |
| <p class="toc_element"> | |
| <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Gets the access control policy for a note or an occurrence resource.</p> | |
| <p class="toc_element"> | |
| <code><a href="#list">list(parent, pageToken=None, pageSize=None, filter=None, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Lists notes for the specified project.</p> | |
| <p class="toc_element"> | |
| <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> | |
| <p class="firstline">Retrieves the next page of results.</p> | |
| <p class="toc_element"> | |
| <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Updates the specified note.</p> | |
| <p class="toc_element"> | |
| <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Sets the access control policy on the specified note or occurrence.</p> | |
| <p class="toc_element"> | |
| <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Returns the permissions that a caller has on the specified note or</p> | |
| <h3>Method Details</h3> | |
| <div class="method"> | |
| <code class="details" id="batchCreate">batchCreate(parent, body=None, x__xgafv=None)</code> | |
| <pre>Creates new notes in batch. | |
| Args: | |
| parent: string, Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which | |
| the notes are to be created. (required) | |
| body: object, The request body. | |
| The object takes the form of: | |
| { # Request to create notes in batch. | |
| "notes": { # Required. The notes to create. Max allowed length is 1000. | |
| "a_key": { # A type of analysis that can be done for a resource. | |
| "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role. | |
| # example, an organization might have one `Authority` for "QA" and one for | |
| # "build". This note is intended to act strictly as a grouping mechanism for | |
| # the attached occurrences (Attestations). This grouping mechanism also | |
| # provides a security boundary, since IAM ACLs gate the ability for a principle | |
| # to attach an occurrence to a given note. It also provides a single point of | |
| # lookup to find all attached attestation occurrences, even if they don't all | |
| # live in the same project. | |
| "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority. | |
| # authority. Because the name of a note acts as its resource reference, it is | |
| # important to disambiguate the canonical name of the Note (which might be a | |
| # UUID for security purposes) from "readable" names more suitable for debug | |
| # output. Note that these hints should not be used to look up authorities in | |
| # security sensitive contexts, such as when looking up attestations to | |
| # verify. | |
| "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for | |
| # example "qa". | |
| }, | |
| }, | |
| "name": "A String", # Output only. The name of the note in the form of | |
| # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | |
| "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. | |
| "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3. | |
| # For details, see https://www.first.org/cvss/specification-document | |
| "baseScore": 3.14, # The base score is a function of the base metric scores. | |
| "scope": "A String", | |
| "integrityImpact": "A String", | |
| "exploitabilityScore": 3.14, | |
| "impactScore": 3.14, | |
| "attackComplexity": "A String", | |
| "availabilityImpact": "A String", | |
| "privilegesRequired": "A String", | |
| "userInteraction": "A String", | |
| "attackVector": "A String", # Base Metrics | |
| # Represents the intrinsic characteristics of a vulnerability that are | |
| # constant over time and across user environments. | |
| "confidentialityImpact": "A String", | |
| }, | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "windowsDetails": [ # Windows details get their own format because the information format and | |
| # model don't match a normal detail. Specifically Windows updates are done as | |
| # patches, thus Windows vulnerabilities really are a missing package, rather | |
| # than a package being at an incorrect version. | |
| { | |
| "name": "A String", # Required. The name of the vulnerability. | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # The description of the vulnerability. | |
| "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this | |
| # vulnerability. Note that there may be multiple hotfixes (and thus | |
| # multiple KBs) that mitigate a given vulnerability. Currently any listed | |
| # kb's presence is considered a fix. | |
| { | |
| "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456). | |
| "url": "A String", # A link to the KB in the Windows update catalog - | |
| # https://www.catalog.update.microsoft.com/ | |
| }, | |
| ], | |
| }, | |
| ], | |
| "details": [ # All information about the package to specifically identify this | |
| # vulnerability. One entry per (version range and cpe_uri) the package | |
| # vulnerability has manifested in. | |
| { # Identifies all appearances of this vulnerability in the package for a | |
| # specific distro/location. For example: glibc in | |
| # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | |
| "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to | |
| # obsolete details. | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js | |
| # packages etc). | |
| "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version. | |
| "package": "A String", # Required. The package being described. | |
| "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/) | |
| # format. Examples include distro or storage location for vulnerable jar. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # A vendor-specific description of this note. | |
| "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability. | |
| "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "maxAffectedVersion": { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "package": "A String", # Required. The name of the package where the vulnerability was found. | |
| }, | |
| ], | |
| "severity": "A String", # Note provider assigned impact of the vulnerability. | |
| "cvssScore": 3.14, # The CVSS score for this vulnerability. | |
| }, | |
| "relatedNoteNames": [ # Other notes related to this note. | |
| "A String", | |
| ], | |
| "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build. | |
| # provenance message in the build details occurrence. | |
| "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note | |
| # containing build details. | |
| "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in | |
| # `key_id`. | |
| "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is | |
| # base-64 encoded. | |
| "publicKey": "A String", # Public key of the builder which can be used to verify that the related | |
| # findings are valid and unchanged. If `key_type` is empty, this defaults | |
| # to PEM encoded public keys. | |
| # | |
| # This field may be empty if `key_id` references an external key. | |
| # | |
| # For Cloud Build based signatures, this is a PEM encoded public | |
| # key. To verify the Cloud Build signature, place the contents of | |
| # this field into a file (public.pem). The signature field is base64-decoded | |
| # into its binary representation in signature.bin, and the provenance bytes | |
| # from `BuildDetails` are base64-decoded into a binary representation in | |
| # signed.bin. OpenSSL can then verify the signature: | |
| # `openssl sha256 -verify public.pem -signature signature.bin signed.bin` | |
| "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key | |
| # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the | |
| # CN for a cert), or a reference to an external key (such as a reference to a | |
| # key in Cloud Key Management Service). | |
| }, | |
| "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build. | |
| }, | |
| "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers. | |
| # channels. E.g., glibc (aka libc6) is distributed by many, at various | |
| # versions. | |
| "name": "A String", # Required. Immutable. The name of the package. | |
| "distribution": [ # The various channels by which a package is distributed. | |
| { # This represents a particular channel of distribution for a given package. | |
| # E.g., Debian's jessie-backports dpkg mirror. | |
| "maintainer": "A String", # A freeform string denoting the maintainer of this package. | |
| "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "description": "A String", # The distribution channel-specific description of this package. | |
| "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) | |
| # denoting the package manager version distributing a package. | |
| "url": "A String", # The distribution channel-specific homepage for this package. | |
| "architecture": "A String", # The CPU architecture for which packages in this distribution channel were | |
| # built. | |
| }, | |
| ], | |
| }, | |
| "createTime": "A String", # Output only. The time this note was created. This field can be used as a | |
| # filter in list requests. | |
| "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource. | |
| # exists in a provider's project. A `Discovery` occurrence is created in a | |
| # consumer's project at the start of analysis. | |
| "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this | |
| # discovery. | |
| }, | |
| "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as | |
| # a filter in list requests. | |
| "intoto": { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link. | |
| # chain step in an in-toto layout. This information goes into a Grafeas note. | |
| "expectedProducts": [ | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "stepName": "A String", # This field identifies the name of the step in the supply chain. | |
| "signingKeys": [ # This field contains the public keys that can be used to verify the | |
| # signatures on the step metadata. | |
| { # This defines the format used to record keys used in the software supply | |
| # chain. An in-toto link is attested using one or more keys defined in the | |
| # in-toto layout. An example of this is: | |
| # { | |
| # "key_id": "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | |
| # "key_type": "rsa", | |
| # "public_key_value": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...", | |
| # "key_scheme": "rsassa-pss-sha256" | |
| # } | |
| # The format for in-toto's key definition can be found in section 4.2 of the | |
| # in-toto specification. | |
| "keyId": "A String", # key_id is an identifier for the signing key. | |
| "publicKeyValue": "A String", # This field contains the actual public key. | |
| "keyType": "A String", # This field identifies the specific signing method. Eg: "rsa", "ed25519", | |
| # and "ecdsa". | |
| "keyScheme": "A String", # This field contains the corresponding signature scheme. | |
| # Eg: "rsassa-pss-sha256". | |
| }, | |
| ], | |
| "threshold": "A String", # This field contains a value that indicates the minimum number of keys that | |
| # need to be used to sign the step's in-toto link. | |
| "expectedMaterials": [ # The following fields contain in-toto artifact rules identifying the | |
| # artifacts that enter this supply chain step, and exit the supply chain | |
| # step, i.e. materials and products of the step. | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "expectedCommand": [ # This field contains the expected command used to perform the step. | |
| "A String", | |
| ], | |
| }, | |
| "relatedUrl": [ # URLs associated with this note. | |
| { # Metadata for any related URL information. | |
| "url": "A String", # Specific URL associated with the resource. | |
| "label": "A String", # Label to describe usage of the URL. | |
| }, | |
| ], | |
| "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire. | |
| "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image. | |
| # relationship. Linked occurrences are derived from this or an | |
| # equivalent image via: | |
| # FROM <Basis.resource_url> | |
| # Or an equivalent reference, e.g. a tag of the resource_url. | |
| "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image. | |
| "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image. | |
| "A String", | |
| ], | |
| "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1 | |
| # representation. | |
| "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via: | |
| # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) | |
| # Only the name of the final blob is kept. | |
| }, | |
| "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the | |
| # basis of associated occurrence images. | |
| }, | |
| "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in | |
| # list requests. | |
| "longDescription": "A String", # A detailed description of this note. | |
| "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed. | |
| "resourceUri": [ # Required. Resource URI for the artifact being deployed. | |
| "A String", | |
| ], | |
| }, | |
| "shortDescription": "A String", # A one sentence description of this note. | |
| }, | |
| }, | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # Response for creating notes in batch. | |
| "notes": [ # The notes that were created. | |
| { # A type of analysis that can be done for a resource. | |
| "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role. | |
| # example, an organization might have one `Authority` for "QA" and one for | |
| # "build". This note is intended to act strictly as a grouping mechanism for | |
| # the attached occurrences (Attestations). This grouping mechanism also | |
| # provides a security boundary, since IAM ACLs gate the ability for a principle | |
| # to attach an occurrence to a given note. It also provides a single point of | |
| # lookup to find all attached attestation occurrences, even if they don't all | |
| # live in the same project. | |
| "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority. | |
| # authority. Because the name of a note acts as its resource reference, it is | |
| # important to disambiguate the canonical name of the Note (which might be a | |
| # UUID for security purposes) from "readable" names more suitable for debug | |
| # output. Note that these hints should not be used to look up authorities in | |
| # security sensitive contexts, such as when looking up attestations to | |
| # verify. | |
| "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for | |
| # example "qa". | |
| }, | |
| }, | |
| "name": "A String", # Output only. The name of the note in the form of | |
| # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | |
| "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. | |
| "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3. | |
| # For details, see https://www.first.org/cvss/specification-document | |
| "baseScore": 3.14, # The base score is a function of the base metric scores. | |
| "scope": "A String", | |
| "integrityImpact": "A String", | |
| "exploitabilityScore": 3.14, | |
| "impactScore": 3.14, | |
| "attackComplexity": "A String", | |
| "availabilityImpact": "A String", | |
| "privilegesRequired": "A String", | |
| "userInteraction": "A String", | |
| "attackVector": "A String", # Base Metrics | |
| # Represents the intrinsic characteristics of a vulnerability that are | |
| # constant over time and across user environments. | |
| "confidentialityImpact": "A String", | |
| }, | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "windowsDetails": [ # Windows details get their own format because the information format and | |
| # model don't match a normal detail. Specifically Windows updates are done as | |
| # patches, thus Windows vulnerabilities really are a missing package, rather | |
| # than a package being at an incorrect version. | |
| { | |
| "name": "A String", # Required. The name of the vulnerability. | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # The description of the vulnerability. | |
| "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this | |
| # vulnerability. Note that there may be multiple hotfixes (and thus | |
| # multiple KBs) that mitigate a given vulnerability. Currently any listed | |
| # kb's presence is considered a fix. | |
| { | |
| "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456). | |
| "url": "A String", # A link to the KB in the Windows update catalog - | |
| # https://www.catalog.update.microsoft.com/ | |
| }, | |
| ], | |
| }, | |
| ], | |
| "details": [ # All information about the package to specifically identify this | |
| # vulnerability. One entry per (version range and cpe_uri) the package | |
| # vulnerability has manifested in. | |
| { # Identifies all appearances of this vulnerability in the package for a | |
| # specific distro/location. For example: glibc in | |
| # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | |
| "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to | |
| # obsolete details. | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js | |
| # packages etc). | |
| "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version. | |
| "package": "A String", # Required. The package being described. | |
| "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/) | |
| # format. Examples include distro or storage location for vulnerable jar. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # A vendor-specific description of this note. | |
| "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability. | |
| "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "maxAffectedVersion": { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "package": "A String", # Required. The name of the package where the vulnerability was found. | |
| }, | |
| ], | |
| "severity": "A String", # Note provider assigned impact of the vulnerability. | |
| "cvssScore": 3.14, # The CVSS score for this vulnerability. | |
| }, | |
| "relatedNoteNames": [ # Other notes related to this note. | |
| "A String", | |
| ], | |
| "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build. | |
| # provenance message in the build details occurrence. | |
| "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note | |
| # containing build details. | |
| "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in | |
| # `key_id`. | |
| "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is | |
| # base-64 encoded. | |
| "publicKey": "A String", # Public key of the builder which can be used to verify that the related | |
| # findings are valid and unchanged. If `key_type` is empty, this defaults | |
| # to PEM encoded public keys. | |
| # | |
| # This field may be empty if `key_id` references an external key. | |
| # | |
| # For Cloud Build based signatures, this is a PEM encoded public | |
| # key. To verify the Cloud Build signature, place the contents of | |
| # this field into a file (public.pem). The signature field is base64-decoded | |
| # into its binary representation in signature.bin, and the provenance bytes | |
| # from `BuildDetails` are base64-decoded into a binary representation in | |
| # signed.bin. OpenSSL can then verify the signature: | |
| # `openssl sha256 -verify public.pem -signature signature.bin signed.bin` | |
| "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key | |
| # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the | |
| # CN for a cert), or a reference to an external key (such as a reference to a | |
| # key in Cloud Key Management Service). | |
| }, | |
| "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build. | |
| }, | |
| "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers. | |
| # channels. E.g., glibc (aka libc6) is distributed by many, at various | |
| # versions. | |
| "name": "A String", # Required. Immutable. The name of the package. | |
| "distribution": [ # The various channels by which a package is distributed. | |
| { # This represents a particular channel of distribution for a given package. | |
| # E.g., Debian's jessie-backports dpkg mirror. | |
| "maintainer": "A String", # A freeform string denoting the maintainer of this package. | |
| "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "description": "A String", # The distribution channel-specific description of this package. | |
| "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) | |
| # denoting the package manager version distributing a package. | |
| "url": "A String", # The distribution channel-specific homepage for this package. | |
| "architecture": "A String", # The CPU architecture for which packages in this distribution channel were | |
| # built. | |
| }, | |
| ], | |
| }, | |
| "createTime": "A String", # Output only. The time this note was created. This field can be used as a | |
| # filter in list requests. | |
| "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource. | |
| # exists in a provider's project. A `Discovery` occurrence is created in a | |
| # consumer's project at the start of analysis. | |
| "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this | |
| # discovery. | |
| }, | |
| "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as | |
| # a filter in list requests. | |
| "intoto": { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link. | |
| # chain step in an in-toto layout. This information goes into a Grafeas note. | |
| "expectedProducts": [ | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "stepName": "A String", # This field identifies the name of the step in the supply chain. | |
| "signingKeys": [ # This field contains the public keys that can be used to verify the | |
| # signatures on the step metadata. | |
| { # This defines the format used to record keys used in the software supply | |
| # chain. An in-toto link is attested using one or more keys defined in the | |
| # in-toto layout. An example of this is: | |
| # { | |
| # "key_id": "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | |
| # "key_type": "rsa", | |
| # "public_key_value": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...", | |
| # "key_scheme": "rsassa-pss-sha256" | |
| # } | |
| # The format for in-toto's key definition can be found in section 4.2 of the | |
| # in-toto specification. | |
| "keyId": "A String", # key_id is an identifier for the signing key. | |
| "publicKeyValue": "A String", # This field contains the actual public key. | |
| "keyType": "A String", # This field identifies the specific signing method. Eg: "rsa", "ed25519", | |
| # and "ecdsa". | |
| "keyScheme": "A String", # This field contains the corresponding signature scheme. | |
| # Eg: "rsassa-pss-sha256". | |
| }, | |
| ], | |
| "threshold": "A String", # This field contains a value that indicates the minimum number of keys that | |
| # need to be used to sign the step's in-toto link. | |
| "expectedMaterials": [ # The following fields contain in-toto artifact rules identifying the | |
| # artifacts that enter this supply chain step, and exit the supply chain | |
| # step, i.e. materials and products of the step. | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "expectedCommand": [ # This field contains the expected command used to perform the step. | |
| "A String", | |
| ], | |
| }, | |
| "relatedUrl": [ # URLs associated with this note. | |
| { # Metadata for any related URL information. | |
| "url": "A String", # Specific URL associated with the resource. | |
| "label": "A String", # Label to describe usage of the URL. | |
| }, | |
| ], | |
| "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire. | |
| "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image. | |
| # relationship. Linked occurrences are derived from this or an | |
| # equivalent image via: | |
| # FROM <Basis.resource_url> | |
| # Or an equivalent reference, e.g. a tag of the resource_url. | |
| "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image. | |
| "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image. | |
| "A String", | |
| ], | |
| "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1 | |
| # representation. | |
| "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via: | |
| # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) | |
| # Only the name of the final blob is kept. | |
| }, | |
| "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the | |
| # basis of associated occurrence images. | |
| }, | |
| "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in | |
| # list requests. | |
| "longDescription": "A String", # A detailed description of this note. | |
| "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed. | |
| "resourceUri": [ # Required. Resource URI for the artifact being deployed. | |
| "A String", | |
| ], | |
| }, | |
| "shortDescription": "A String", # A one sentence description of this note. | |
| }, | |
| ], | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="create">create(parent, body=None, noteId=None, x__xgafv=None)</code> | |
| <pre>Creates a new note. | |
| Args: | |
| parent: string, Required. The name of the project in the form of `projects/[PROJECT_ID]`, under which | |
| the note is to be created. (required) | |
| body: object, The request body. | |
| The object takes the form of: | |
| { # A type of analysis that can be done for a resource. | |
| "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role. | |
| # example, an organization might have one `Authority` for "QA" and one for | |
| # "build". This note is intended to act strictly as a grouping mechanism for | |
| # the attached occurrences (Attestations). This grouping mechanism also | |
| # provides a security boundary, since IAM ACLs gate the ability for a principle | |
| # to attach an occurrence to a given note. It also provides a single point of | |
| # lookup to find all attached attestation occurrences, even if they don't all | |
| # live in the same project. | |
| "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority. | |
| # authority. Because the name of a note acts as its resource reference, it is | |
| # important to disambiguate the canonical name of the Note (which might be a | |
| # UUID for security purposes) from "readable" names more suitable for debug | |
| # output. Note that these hints should not be used to look up authorities in | |
| # security sensitive contexts, such as when looking up attestations to | |
| # verify. | |
| "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for | |
| # example "qa". | |
| }, | |
| }, | |
| "name": "A String", # Output only. The name of the note in the form of | |
| # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | |
| "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. | |
| "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3. | |
| # For details, see https://www.first.org/cvss/specification-document | |
| "baseScore": 3.14, # The base score is a function of the base metric scores. | |
| "scope": "A String", | |
| "integrityImpact": "A String", | |
| "exploitabilityScore": 3.14, | |
| "impactScore": 3.14, | |
| "attackComplexity": "A String", | |
| "availabilityImpact": "A String", | |
| "privilegesRequired": "A String", | |
| "userInteraction": "A String", | |
| "attackVector": "A String", # Base Metrics | |
| # Represents the intrinsic characteristics of a vulnerability that are | |
| # constant over time and across user environments. | |
| "confidentialityImpact": "A String", | |
| }, | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "windowsDetails": [ # Windows details get their own format because the information format and | |
| # model don't match a normal detail. Specifically Windows updates are done as | |
| # patches, thus Windows vulnerabilities really are a missing package, rather | |
| # than a package being at an incorrect version. | |
| { | |
| "name": "A String", # Required. The name of the vulnerability. | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # The description of the vulnerability. | |
| "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this | |
| # vulnerability. Note that there may be multiple hotfixes (and thus | |
| # multiple KBs) that mitigate a given vulnerability. Currently any listed | |
| # kb's presence is considered a fix. | |
| { | |
| "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456). | |
| "url": "A String", # A link to the KB in the Windows update catalog - | |
| # https://www.catalog.update.microsoft.com/ | |
| }, | |
| ], | |
| }, | |
| ], | |
| "details": [ # All information about the package to specifically identify this | |
| # vulnerability. One entry per (version range and cpe_uri) the package | |
| # vulnerability has manifested in. | |
| { # Identifies all appearances of this vulnerability in the package for a | |
| # specific distro/location. For example: glibc in | |
| # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | |
| "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to | |
| # obsolete details. | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js | |
| # packages etc). | |
| "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version. | |
| "package": "A String", # Required. The package being described. | |
| "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/) | |
| # format. Examples include distro or storage location for vulnerable jar. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # A vendor-specific description of this note. | |
| "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability. | |
| "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "maxAffectedVersion": { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "package": "A String", # Required. The name of the package where the vulnerability was found. | |
| }, | |
| ], | |
| "severity": "A String", # Note provider assigned impact of the vulnerability. | |
| "cvssScore": 3.14, # The CVSS score for this vulnerability. | |
| }, | |
| "relatedNoteNames": [ # Other notes related to this note. | |
| "A String", | |
| ], | |
| "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build. | |
| # provenance message in the build details occurrence. | |
| "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note | |
| # containing build details. | |
| "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in | |
| # `key_id`. | |
| "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is | |
| # base-64 encoded. | |
| "publicKey": "A String", # Public key of the builder which can be used to verify that the related | |
| # findings are valid and unchanged. If `key_type` is empty, this defaults | |
| # to PEM encoded public keys. | |
| # | |
| # This field may be empty if `key_id` references an external key. | |
| # | |
| # For Cloud Build based signatures, this is a PEM encoded public | |
| # key. To verify the Cloud Build signature, place the contents of | |
| # this field into a file (public.pem). The signature field is base64-decoded | |
| # into its binary representation in signature.bin, and the provenance bytes | |
| # from `BuildDetails` are base64-decoded into a binary representation in | |
| # signed.bin. OpenSSL can then verify the signature: | |
| # `openssl sha256 -verify public.pem -signature signature.bin signed.bin` | |
| "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key | |
| # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the | |
| # CN for a cert), or a reference to an external key (such as a reference to a | |
| # key in Cloud Key Management Service). | |
| }, | |
| "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build. | |
| }, | |
| "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers. | |
| # channels. E.g., glibc (aka libc6) is distributed by many, at various | |
| # versions. | |
| "name": "A String", # Required. Immutable. The name of the package. | |
| "distribution": [ # The various channels by which a package is distributed. | |
| { # This represents a particular channel of distribution for a given package. | |
| # E.g., Debian's jessie-backports dpkg mirror. | |
| "maintainer": "A String", # A freeform string denoting the maintainer of this package. | |
| "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "description": "A String", # The distribution channel-specific description of this package. | |
| "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) | |
| # denoting the package manager version distributing a package. | |
| "url": "A String", # The distribution channel-specific homepage for this package. | |
| "architecture": "A String", # The CPU architecture for which packages in this distribution channel were | |
| # built. | |
| }, | |
| ], | |
| }, | |
| "createTime": "A String", # Output only. The time this note was created. This field can be used as a | |
| # filter in list requests. | |
| "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource. | |
| # exists in a provider's project. A `Discovery` occurrence is created in a | |
| # consumer's project at the start of analysis. | |
| "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this | |
| # discovery. | |
| }, | |
| "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as | |
| # a filter in list requests. | |
| "intoto": { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link. | |
| # chain step in an in-toto layout. This information goes into a Grafeas note. | |
| "expectedProducts": [ | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "stepName": "A String", # This field identifies the name of the step in the supply chain. | |
| "signingKeys": [ # This field contains the public keys that can be used to verify the | |
| # signatures on the step metadata. | |
| { # This defines the format used to record keys used in the software supply | |
| # chain. An in-toto link is attested using one or more keys defined in the | |
| # in-toto layout. An example of this is: | |
| # { | |
| # "key_id": "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | |
| # "key_type": "rsa", | |
| # "public_key_value": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...", | |
| # "key_scheme": "rsassa-pss-sha256" | |
| # } | |
| # The format for in-toto's key definition can be found in section 4.2 of the | |
| # in-toto specification. | |
| "keyId": "A String", # key_id is an identifier for the signing key. | |
| "publicKeyValue": "A String", # This field contains the actual public key. | |
| "keyType": "A String", # This field identifies the specific signing method. Eg: "rsa", "ed25519", | |
| # and "ecdsa". | |
| "keyScheme": "A String", # This field contains the corresponding signature scheme. | |
| # Eg: "rsassa-pss-sha256". | |
| }, | |
| ], | |
| "threshold": "A String", # This field contains a value that indicates the minimum number of keys that | |
| # need to be used to sign the step's in-toto link. | |
| "expectedMaterials": [ # The following fields contain in-toto artifact rules identifying the | |
| # artifacts that enter this supply chain step, and exit the supply chain | |
| # step, i.e. materials and products of the step. | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "expectedCommand": [ # This field contains the expected command used to perform the step. | |
| "A String", | |
| ], | |
| }, | |
| "relatedUrl": [ # URLs associated with this note. | |
| { # Metadata for any related URL information. | |
| "url": "A String", # Specific URL associated with the resource. | |
| "label": "A String", # Label to describe usage of the URL. | |
| }, | |
| ], | |
| "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire. | |
| "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image. | |
| # relationship. Linked occurrences are derived from this or an | |
| # equivalent image via: | |
| # FROM <Basis.resource_url> | |
| # Or an equivalent reference, e.g. a tag of the resource_url. | |
| "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image. | |
| "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image. | |
| "A String", | |
| ], | |
| "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1 | |
| # representation. | |
| "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via: | |
| # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) | |
| # Only the name of the final blob is kept. | |
| }, | |
| "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the | |
| # basis of associated occurrence images. | |
| }, | |
| "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in | |
| # list requests. | |
| "longDescription": "A String", # A detailed description of this note. | |
| "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed. | |
| "resourceUri": [ # Required. Resource URI for the artifact being deployed. | |
| "A String", | |
| ], | |
| }, | |
| "shortDescription": "A String", # A one sentence description of this note. | |
| } | |
| noteId: string, Required. The ID to use for this note. | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # A type of analysis that can be done for a resource. | |
| "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role. | |
| # example, an organization might have one `Authority` for "QA" and one for | |
| # "build". This note is intended to act strictly as a grouping mechanism for | |
| # the attached occurrences (Attestations). This grouping mechanism also | |
| # provides a security boundary, since IAM ACLs gate the ability for a principle | |
| # to attach an occurrence to a given note. It also provides a single point of | |
| # lookup to find all attached attestation occurrences, even if they don't all | |
| # live in the same project. | |
| "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority. | |
| # authority. Because the name of a note acts as its resource reference, it is | |
| # important to disambiguate the canonical name of the Note (which might be a | |
| # UUID for security purposes) from "readable" names more suitable for debug | |
| # output. Note that these hints should not be used to look up authorities in | |
| # security sensitive contexts, such as when looking up attestations to | |
| # verify. | |
| "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for | |
| # example "qa". | |
| }, | |
| }, | |
| "name": "A String", # Output only. The name of the note in the form of | |
| # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | |
| "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. | |
| "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3. | |
| # For details, see https://www.first.org/cvss/specification-document | |
| "baseScore": 3.14, # The base score is a function of the base metric scores. | |
| "scope": "A String", | |
| "integrityImpact": "A String", | |
| "exploitabilityScore": 3.14, | |
| "impactScore": 3.14, | |
| "attackComplexity": "A String", | |
| "availabilityImpact": "A String", | |
| "privilegesRequired": "A String", | |
| "userInteraction": "A String", | |
| "attackVector": "A String", # Base Metrics | |
| # Represents the intrinsic characteristics of a vulnerability that are | |
| # constant over time and across user environments. | |
| "confidentialityImpact": "A String", | |
| }, | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "windowsDetails": [ # Windows details get their own format because the information format and | |
| # model don't match a normal detail. Specifically Windows updates are done as | |
| # patches, thus Windows vulnerabilities really are a missing package, rather | |
| # than a package being at an incorrect version. | |
| { | |
| "name": "A String", # Required. The name of the vulnerability. | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # The description of the vulnerability. | |
| "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this | |
| # vulnerability. Note that there may be multiple hotfixes (and thus | |
| # multiple KBs) that mitigate a given vulnerability. Currently any listed | |
| # kb's presence is considered a fix. | |
| { | |
| "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456). | |
| "url": "A String", # A link to the KB in the Windows update catalog - | |
| # https://www.catalog.update.microsoft.com/ | |
| }, | |
| ], | |
| }, | |
| ], | |
| "details": [ # All information about the package to specifically identify this | |
| # vulnerability. One entry per (version range and cpe_uri) the package | |
| # vulnerability has manifested in. | |
| { # Identifies all appearances of this vulnerability in the package for a | |
| # specific distro/location. For example: glibc in | |
| # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | |
| "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to | |
| # obsolete details. | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js | |
| # packages etc). | |
| "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version. | |
| "package": "A String", # Required. The package being described. | |
| "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/) | |
| # format. Examples include distro or storage location for vulnerable jar. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # A vendor-specific description of this note. | |
| "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability. | |
| "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "maxAffectedVersion": { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "package": "A String", # Required. The name of the package where the vulnerability was found. | |
| }, | |
| ], | |
| "severity": "A String", # Note provider assigned impact of the vulnerability. | |
| "cvssScore": 3.14, # The CVSS score for this vulnerability. | |
| }, | |
| "relatedNoteNames": [ # Other notes related to this note. | |
| "A String", | |
| ], | |
| "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build. | |
| # provenance message in the build details occurrence. | |
| "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note | |
| # containing build details. | |
| "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in | |
| # `key_id`. | |
| "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is | |
| # base-64 encoded. | |
| "publicKey": "A String", # Public key of the builder which can be used to verify that the related | |
| # findings are valid and unchanged. If `key_type` is empty, this defaults | |
| # to PEM encoded public keys. | |
| # | |
| # This field may be empty if `key_id` references an external key. | |
| # | |
| # For Cloud Build based signatures, this is a PEM encoded public | |
| # key. To verify the Cloud Build signature, place the contents of | |
| # this field into a file (public.pem). The signature field is base64-decoded | |
| # into its binary representation in signature.bin, and the provenance bytes | |
| # from `BuildDetails` are base64-decoded into a binary representation in | |
| # signed.bin. OpenSSL can then verify the signature: | |
| # `openssl sha256 -verify public.pem -signature signature.bin signed.bin` | |
| "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key | |
| # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the | |
| # CN for a cert), or a reference to an external key (such as a reference to a | |
| # key in Cloud Key Management Service). | |
| }, | |
| "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build. | |
| }, | |
| "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers. | |
| # channels. E.g., glibc (aka libc6) is distributed by many, at various | |
| # versions. | |
| "name": "A String", # Required. Immutable. The name of the package. | |
| "distribution": [ # The various channels by which a package is distributed. | |
| { # This represents a particular channel of distribution for a given package. | |
| # E.g., Debian's jessie-backports dpkg mirror. | |
| "maintainer": "A String", # A freeform string denoting the maintainer of this package. | |
| "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "description": "A String", # The distribution channel-specific description of this package. | |
| "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) | |
| # denoting the package manager version distributing a package. | |
| "url": "A String", # The distribution channel-specific homepage for this package. | |
| "architecture": "A String", # The CPU architecture for which packages in this distribution channel were | |
| # built. | |
| }, | |
| ], | |
| }, | |
| "createTime": "A String", # Output only. The time this note was created. This field can be used as a | |
| # filter in list requests. | |
| "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource. | |
| # exists in a provider's project. A `Discovery` occurrence is created in a | |
| # consumer's project at the start of analysis. | |
| "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this | |
| # discovery. | |
| }, | |
| "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as | |
| # a filter in list requests. | |
| "intoto": { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link. | |
| # chain step in an in-toto layout. This information goes into a Grafeas note. | |
| "expectedProducts": [ | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "stepName": "A String", # This field identifies the name of the step in the supply chain. | |
| "signingKeys": [ # This field contains the public keys that can be used to verify the | |
| # signatures on the step metadata. | |
| { # This defines the format used to record keys used in the software supply | |
| # chain. An in-toto link is attested using one or more keys defined in the | |
| # in-toto layout. An example of this is: | |
| # { | |
| # "key_id": "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | |
| # "key_type": "rsa", | |
| # "public_key_value": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...", | |
| # "key_scheme": "rsassa-pss-sha256" | |
| # } | |
| # The format for in-toto's key definition can be found in section 4.2 of the | |
| # in-toto specification. | |
| "keyId": "A String", # key_id is an identifier for the signing key. | |
| "publicKeyValue": "A String", # This field contains the actual public key. | |
| "keyType": "A String", # This field identifies the specific signing method. Eg: "rsa", "ed25519", | |
| # and "ecdsa". | |
| "keyScheme": "A String", # This field contains the corresponding signature scheme. | |
| # Eg: "rsassa-pss-sha256". | |
| }, | |
| ], | |
| "threshold": "A String", # This field contains a value that indicates the minimum number of keys that | |
| # need to be used to sign the step's in-toto link. | |
| "expectedMaterials": [ # The following fields contain in-toto artifact rules identifying the | |
| # artifacts that enter this supply chain step, and exit the supply chain | |
| # step, i.e. materials and products of the step. | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "expectedCommand": [ # This field contains the expected command used to perform the step. | |
| "A String", | |
| ], | |
| }, | |
| "relatedUrl": [ # URLs associated with this note. | |
| { # Metadata for any related URL information. | |
| "url": "A String", # Specific URL associated with the resource. | |
| "label": "A String", # Label to describe usage of the URL. | |
| }, | |
| ], | |
| "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire. | |
| "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image. | |
| # relationship. Linked occurrences are derived from this or an | |
| # equivalent image via: | |
| # FROM <Basis.resource_url> | |
| # Or an equivalent reference, e.g. a tag of the resource_url. | |
| "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image. | |
| "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image. | |
| "A String", | |
| ], | |
| "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1 | |
| # representation. | |
| "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via: | |
| # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) | |
| # Only the name of the final blob is kept. | |
| }, | |
| "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the | |
| # basis of associated occurrence images. | |
| }, | |
| "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in | |
| # list requests. | |
| "longDescription": "A String", # A detailed description of this note. | |
| "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed. | |
| "resourceUri": [ # Required. Resource URI for the artifact being deployed. | |
| "A String", | |
| ], | |
| }, | |
| "shortDescription": "A String", # A one sentence description of this note. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="delete">delete(name, x__xgafv=None)</code> | |
| <pre>Deletes the specified note. | |
| Args: | |
| name: string, Required. The name of the note in the form of | |
| `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. (required) | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # A generic empty message that you can re-use to avoid defining duplicated | |
| # empty messages in your APIs. A typical example is to use it as the request | |
| # or the response type of an API method. For instance: | |
| # | |
| # service Foo { | |
| # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); | |
| # } | |
| # | |
| # The JSON representation for `Empty` is empty JSON object `{}`. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="get">get(name, x__xgafv=None)</code> | |
| <pre>Gets the specified note. | |
| Args: | |
| name: string, Required. The name of the note in the form of | |
| `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. (required) | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # A type of analysis that can be done for a resource. | |
| "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role. | |
| # example, an organization might have one `Authority` for "QA" and one for | |
| # "build". This note is intended to act strictly as a grouping mechanism for | |
| # the attached occurrences (Attestations). This grouping mechanism also | |
| # provides a security boundary, since IAM ACLs gate the ability for a principle | |
| # to attach an occurrence to a given note. It also provides a single point of | |
| # lookup to find all attached attestation occurrences, even if they don't all | |
| # live in the same project. | |
| "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority. | |
| # authority. Because the name of a note acts as its resource reference, it is | |
| # important to disambiguate the canonical name of the Note (which might be a | |
| # UUID for security purposes) from "readable" names more suitable for debug | |
| # output. Note that these hints should not be used to look up authorities in | |
| # security sensitive contexts, such as when looking up attestations to | |
| # verify. | |
| "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for | |
| # example "qa". | |
| }, | |
| }, | |
| "name": "A String", # Output only. The name of the note in the form of | |
| # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | |
| "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. | |
| "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3. | |
| # For details, see https://www.first.org/cvss/specification-document | |
| "baseScore": 3.14, # The base score is a function of the base metric scores. | |
| "scope": "A String", | |
| "integrityImpact": "A String", | |
| "exploitabilityScore": 3.14, | |
| "impactScore": 3.14, | |
| "attackComplexity": "A String", | |
| "availabilityImpact": "A String", | |
| "privilegesRequired": "A String", | |
| "userInteraction": "A String", | |
| "attackVector": "A String", # Base Metrics | |
| # Represents the intrinsic characteristics of a vulnerability that are | |
| # constant over time and across user environments. | |
| "confidentialityImpact": "A String", | |
| }, | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "windowsDetails": [ # Windows details get their own format because the information format and | |
| # model don't match a normal detail. Specifically Windows updates are done as | |
| # patches, thus Windows vulnerabilities really are a missing package, rather | |
| # than a package being at an incorrect version. | |
| { | |
| "name": "A String", # Required. The name of the vulnerability. | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # The description of the vulnerability. | |
| "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this | |
| # vulnerability. Note that there may be multiple hotfixes (and thus | |
| # multiple KBs) that mitigate a given vulnerability. Currently any listed | |
| # kb's presence is considered a fix. | |
| { | |
| "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456). | |
| "url": "A String", # A link to the KB in the Windows update catalog - | |
| # https://www.catalog.update.microsoft.com/ | |
| }, | |
| ], | |
| }, | |
| ], | |
| "details": [ # All information about the package to specifically identify this | |
| # vulnerability. One entry per (version range and cpe_uri) the package | |
| # vulnerability has manifested in. | |
| { # Identifies all appearances of this vulnerability in the package for a | |
| # specific distro/location. For example: glibc in | |
| # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | |
| "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to | |
| # obsolete details. | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js | |
| # packages etc). | |
| "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version. | |
| "package": "A String", # Required. The package being described. | |
| "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/) | |
| # format. Examples include distro or storage location for vulnerable jar. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # A vendor-specific description of this note. | |
| "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability. | |
| "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "maxAffectedVersion": { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "package": "A String", # Required. The name of the package where the vulnerability was found. | |
| }, | |
| ], | |
| "severity": "A String", # Note provider assigned impact of the vulnerability. | |
| "cvssScore": 3.14, # The CVSS score for this vulnerability. | |
| }, | |
| "relatedNoteNames": [ # Other notes related to this note. | |
| "A String", | |
| ], | |
| "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build. | |
| # provenance message in the build details occurrence. | |
| "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note | |
| # containing build details. | |
| "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in | |
| # `key_id`. | |
| "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is | |
| # base-64 encoded. | |
| "publicKey": "A String", # Public key of the builder which can be used to verify that the related | |
| # findings are valid and unchanged. If `key_type` is empty, this defaults | |
| # to PEM encoded public keys. | |
| # | |
| # This field may be empty if `key_id` references an external key. | |
| # | |
| # For Cloud Build based signatures, this is a PEM encoded public | |
| # key. To verify the Cloud Build signature, place the contents of | |
| # this field into a file (public.pem). The signature field is base64-decoded | |
| # into its binary representation in signature.bin, and the provenance bytes | |
| # from `BuildDetails` are base64-decoded into a binary representation in | |
| # signed.bin. OpenSSL can then verify the signature: | |
| # `openssl sha256 -verify public.pem -signature signature.bin signed.bin` | |
| "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key | |
| # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the | |
| # CN for a cert), or a reference to an external key (such as a reference to a | |
| # key in Cloud Key Management Service). | |
| }, | |
| "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build. | |
| }, | |
| "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers. | |
| # channels. E.g., glibc (aka libc6) is distributed by many, at various | |
| # versions. | |
| "name": "A String", # Required. Immutable. The name of the package. | |
| "distribution": [ # The various channels by which a package is distributed. | |
| { # This represents a particular channel of distribution for a given package. | |
| # E.g., Debian's jessie-backports dpkg mirror. | |
| "maintainer": "A String", # A freeform string denoting the maintainer of this package. | |
| "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "description": "A String", # The distribution channel-specific description of this package. | |
| "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) | |
| # denoting the package manager version distributing a package. | |
| "url": "A String", # The distribution channel-specific homepage for this package. | |
| "architecture": "A String", # The CPU architecture for which packages in this distribution channel were | |
| # built. | |
| }, | |
| ], | |
| }, | |
| "createTime": "A String", # Output only. The time this note was created. This field can be used as a | |
| # filter in list requests. | |
| "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource. | |
| # exists in a provider's project. A `Discovery` occurrence is created in a | |
| # consumer's project at the start of analysis. | |
| "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this | |
| # discovery. | |
| }, | |
| "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as | |
| # a filter in list requests. | |
| "intoto": { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link. | |
| # chain step in an in-toto layout. This information goes into a Grafeas note. | |
| "expectedProducts": [ | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "stepName": "A String", # This field identifies the name of the step in the supply chain. | |
| "signingKeys": [ # This field contains the public keys that can be used to verify the | |
| # signatures on the step metadata. | |
| { # This defines the format used to record keys used in the software supply | |
| # chain. An in-toto link is attested using one or more keys defined in the | |
| # in-toto layout. An example of this is: | |
| # { | |
| # "key_id": "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | |
| # "key_type": "rsa", | |
| # "public_key_value": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...", | |
| # "key_scheme": "rsassa-pss-sha256" | |
| # } | |
| # The format for in-toto's key definition can be found in section 4.2 of the | |
| # in-toto specification. | |
| "keyId": "A String", # key_id is an identifier for the signing key. | |
| "publicKeyValue": "A String", # This field contains the actual public key. | |
| "keyType": "A String", # This field identifies the specific signing method. Eg: "rsa", "ed25519", | |
| # and "ecdsa". | |
| "keyScheme": "A String", # This field contains the corresponding signature scheme. | |
| # Eg: "rsassa-pss-sha256". | |
| }, | |
| ], | |
| "threshold": "A String", # This field contains a value that indicates the minimum number of keys that | |
| # need to be used to sign the step's in-toto link. | |
| "expectedMaterials": [ # The following fields contain in-toto artifact rules identifying the | |
| # artifacts that enter this supply chain step, and exit the supply chain | |
| # step, i.e. materials and products of the step. | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "expectedCommand": [ # This field contains the expected command used to perform the step. | |
| "A String", | |
| ], | |
| }, | |
| "relatedUrl": [ # URLs associated with this note. | |
| { # Metadata for any related URL information. | |
| "url": "A String", # Specific URL associated with the resource. | |
| "label": "A String", # Label to describe usage of the URL. | |
| }, | |
| ], | |
| "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire. | |
| "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image. | |
| # relationship. Linked occurrences are derived from this or an | |
| # equivalent image via: | |
| # FROM <Basis.resource_url> | |
| # Or an equivalent reference, e.g. a tag of the resource_url. | |
| "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image. | |
| "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image. | |
| "A String", | |
| ], | |
| "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1 | |
| # representation. | |
| "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via: | |
| # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) | |
| # Only the name of the final blob is kept. | |
| }, | |
| "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the | |
| # basis of associated occurrence images. | |
| }, | |
| "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in | |
| # list requests. | |
| "longDescription": "A String", # A detailed description of this note. | |
| "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed. | |
| "resourceUri": [ # Required. Resource URI for the artifact being deployed. | |
| "A String", | |
| ], | |
| }, | |
| "shortDescription": "A String", # A one sentence description of this note. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code> | |
| <pre>Gets the access control policy for a note or an occurrence resource. | |
| Requires `containeranalysis.notes.setIamPolicy` or | |
| `containeranalysis.occurrences.setIamPolicy` permission if the resource is | |
| a note or occurrence, respectively. | |
| The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for | |
| notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for | |
| occurrences. | |
| Args: | |
| resource: string, REQUIRED: The resource for which the policy is being requested. | |
| See the operation documentation for the appropriate value for this field. (required) | |
| body: object, The request body. | |
| The object takes the form of: | |
| { # Request message for `GetIamPolicy` method. | |
| "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to | |
| # `GetIamPolicy`. | |
| "requestedPolicyVersion": 42, # Optional. The policy format version to be returned. | |
| # | |
| # Valid values are 0, 1, and 3. Requests specifying an invalid value will be | |
| # rejected. | |
| # | |
| # Requests for policies with any conditional bindings must specify version 3. | |
| # Policies without any conditional bindings may specify any valid value or | |
| # leave the field unset. | |
| # | |
| # To learn which resources support conditions in their IAM policies, see the | |
| # [IAM | |
| # documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| }, | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # An Identity and Access Management (IAM) policy, which specifies access | |
| # controls for Google Cloud resources. | |
| # | |
| # | |
| # A `Policy` is a collection of `bindings`. A `binding` binds one or more | |
| # `members` to a single `role`. Members can be user accounts, service accounts, | |
| # Google groups, and domains (such as G Suite). A `role` is a named list of | |
| # permissions; each `role` can be an IAM predefined role or a user-created | |
| # custom role. | |
| # | |
| # For some types of Google Cloud resources, a `binding` can also specify a | |
| # `condition`, which is a logical expression that allows access to a resource | |
| # only if the expression evaluates to `true`. A condition can add constraints | |
| # based on attributes of the request, the resource, or both. To learn which | |
| # resources support conditions in their IAM policies, see the | |
| # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| # | |
| # **JSON example:** | |
| # | |
| # { | |
| # "bindings": [ | |
| # { | |
| # "role": "roles/resourcemanager.organizationAdmin", | |
| # "members": [ | |
| # "user:mike@example.com", | |
| # "group:admins@example.com", | |
| # "domain:google.com", | |
| # "serviceAccount:my-project-id@appspot.gserviceaccount.com" | |
| # ] | |
| # }, | |
| # { | |
| # "role": "roles/resourcemanager.organizationViewer", | |
| # "members": [ | |
| # "user:eve@example.com" | |
| # ], | |
| # "condition": { | |
| # "title": "expirable access", | |
| # "description": "Does not grant access after Sep 2020", | |
| # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", | |
| # } | |
| # } | |
| # ], | |
| # "etag": "BwWWja0YfJA=", | |
| # "version": 3 | |
| # } | |
| # | |
| # **YAML example:** | |
| # | |
| # bindings: | |
| # - members: | |
| # - user:mike@example.com | |
| # - group:admins@example.com | |
| # - domain:google.com | |
| # - serviceAccount:my-project-id@appspot.gserviceaccount.com | |
| # role: roles/resourcemanager.organizationAdmin | |
| # - members: | |
| # - user:eve@example.com | |
| # role: roles/resourcemanager.organizationViewer | |
| # condition: | |
| # title: expirable access | |
| # description: Does not grant access after Sep 2020 | |
| # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') | |
| # - etag: BwWWja0YfJA= | |
| # - version: 3 | |
| # | |
| # For a description of IAM and its features, see the | |
| # [IAM documentation](https://cloud.google.com/iam/docs/). | |
| "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help | |
| # prevent simultaneous updates of a policy from overwriting each other. | |
| # It is strongly suggested that systems make use of the `etag` in the | |
| # read-modify-write cycle to perform policy updates in order to avoid race | |
| # conditions: An `etag` is returned in the response to `getIamPolicy`, and | |
| # systems are expected to put that etag in the request to `setIamPolicy` to | |
| # ensure that their change will be applied to the same version of the policy. | |
| # | |
| # **Important:** If you use IAM Conditions, you must include the `etag` field | |
| # whenever you call `setIamPolicy`. If you omit this field, then IAM allows | |
| # you to overwrite a version `3` policy with a version `1` policy, and all of | |
| # the conditions in the version `3` policy are lost. | |
| "version": 42, # Specifies the format of the policy. | |
| # | |
| # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value | |
| # are rejected. | |
| # | |
| # Any operation that affects conditional role bindings must specify version | |
| # `3`. This requirement applies to the following operations: | |
| # | |
| # * Getting a policy that includes a conditional role binding | |
| # * Adding a conditional role binding to a policy | |
| # * Changing a conditional role binding in a policy | |
| # * Removing any role binding, with or without a condition, from a policy | |
| # that includes conditions | |
| # | |
| # **Important:** If you use IAM Conditions, you must include the `etag` field | |
| # whenever you call `setIamPolicy`. If you omit this field, then IAM allows | |
| # you to overwrite a version `3` policy with a version `1` policy, and all of | |
| # the conditions in the version `3` policy are lost. | |
| # | |
| # If a policy does not include any conditions, operations on that policy may | |
| # specify any valid version or leave the field unset. | |
| # | |
| # To learn which resources support conditions in their IAM policies, see the | |
| # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a | |
| # `condition` that determines how and when the `bindings` are applied. Each | |
| # of the `bindings` must contain at least one member. | |
| { # Associates `members` with a `role`. | |
| "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding. | |
| # | |
| # If the condition evaluates to `true`, then this binding applies to the | |
| # current request. | |
| # | |
| # If the condition evaluates to `false`, then this binding does not apply to | |
| # the current request. However, a different role binding might grant the same | |
| # role to one or more of the members in this binding. | |
| # | |
| # To learn which resources support conditions in their IAM policies, see the | |
| # [IAM | |
| # documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| # syntax. CEL is a C-like expression language. The syntax and semantics of CEL | |
| # are documented at https://github.com/google/cel-spec. | |
| # | |
| # Example (Comparison): | |
| # | |
| # title: "Summary size limit" | |
| # description: "Determines if a summary is less than 100 chars" | |
| # expression: "document.summary.size() < 100" | |
| # | |
| # Example (Equality): | |
| # | |
| # title: "Requestor is owner" | |
| # description: "Determines if requestor is the document owner" | |
| # expression: "document.owner == request.auth.claims.email" | |
| # | |
| # Example (Logic): | |
| # | |
| # title: "Public documents" | |
| # description: "Determine whether the document should be publicly visible" | |
| # expression: "document.type != 'private' && document.type != 'internal'" | |
| # | |
| # Example (Data Manipulation): | |
| # | |
| # title: "Notification string" | |
| # description: "Create a notification string with a timestamp." | |
| # expression: "'New message received at ' + string(document.create_time)" | |
| # | |
| # The exact variables and functions that may be referenced within an expression | |
| # are determined by the service that evaluates it. See the service | |
| # documentation for additional information. | |
| "description": "A String", # Optional. Description of the expression. This is a longer text which | |
| # describes the expression, e.g. when hovered over it in a UI. | |
| "expression": "A String", # Textual representation of an expression in Common Expression Language | |
| # syntax. | |
| "title": "A String", # Optional. Title for the expression, i.e. a short string describing | |
| # its purpose. This can be used e.g. in UIs which allow to enter the | |
| # expression. | |
| "location": "A String", # Optional. String indicating the location of the expression for error | |
| # reporting, e.g. a file name and a position in the file. | |
| }, | |
| "members": [ # Specifies the identities requesting access for a Cloud Platform resource. | |
| # `members` can have the following values: | |
| # | |
| # * `allUsers`: A special identifier that represents anyone who is | |
| # on the internet; with or without a Google account. | |
| # | |
| # * `allAuthenticatedUsers`: A special identifier that represents anyone | |
| # who is authenticated with a Google account or a service account. | |
| # | |
| # * `user:{emailid}`: An email address that represents a specific Google | |
| # account. For example, `alice@example.com` . | |
| # | |
| # | |
| # * `serviceAccount:{emailid}`: An email address that represents a service | |
| # account. For example, `my-other-app@appspot.gserviceaccount.com`. | |
| # | |
| # * `group:{emailid}`: An email address that represents a Google group. | |
| # For example, `admins@example.com`. | |
| # | |
| # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique | |
| # identifier) representing a user that has been recently deleted. For | |
| # example, `alice@example.com?uid=123456789012345678901`. If the user is | |
| # recovered, this value reverts to `user:{emailid}` and the recovered user | |
| # retains the role in the binding. | |
| # | |
| # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus | |
| # unique identifier) representing a service account that has been recently | |
| # deleted. For example, | |
| # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. | |
| # If the service account is undeleted, this value reverts to | |
| # `serviceAccount:{emailid}` and the undeleted service account retains the | |
| # role in the binding. | |
| # | |
| # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique | |
| # identifier) representing a Google group that has been recently | |
| # deleted. For example, `admins@example.com?uid=123456789012345678901`. If | |
| # the group is recovered, this value reverts to `group:{emailid}` and the | |
| # recovered group retains the role in the binding. | |
| # | |
| # | |
| # * `domain:{domain}`: The G Suite domain (primary) that represents all the | |
| # users of that domain. For example, `google.com` or `example.com`. | |
| # | |
| "A String", | |
| ], | |
| "role": "A String", # Role that is assigned to `members`. | |
| # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | |
| }, | |
| ], | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="list">list(parent, pageToken=None, pageSize=None, filter=None, x__xgafv=None)</code> | |
| <pre>Lists notes for the specified project. | |
| Args: | |
| parent: string, Required. The name of the project to list notes for in the form of | |
| `projects/[PROJECT_ID]`. (required) | |
| pageToken: string, Token to provide to skip to a particular spot in the list. | |
| pageSize: integer, Number of notes to return in the list. Must be positive. Max allowed page | |
| size is 1000. If not specified, page size defaults to 20. | |
| filter: string, The filter expression. | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # Response for listing notes. | |
| "notes": [ # The notes requested. | |
| { # A type of analysis that can be done for a resource. | |
| "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role. | |
| # example, an organization might have one `Authority` for "QA" and one for | |
| # "build". This note is intended to act strictly as a grouping mechanism for | |
| # the attached occurrences (Attestations). This grouping mechanism also | |
| # provides a security boundary, since IAM ACLs gate the ability for a principle | |
| # to attach an occurrence to a given note. It also provides a single point of | |
| # lookup to find all attached attestation occurrences, even if they don't all | |
| # live in the same project. | |
| "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority. | |
| # authority. Because the name of a note acts as its resource reference, it is | |
| # important to disambiguate the canonical name of the Note (which might be a | |
| # UUID for security purposes) from "readable" names more suitable for debug | |
| # output. Note that these hints should not be used to look up authorities in | |
| # security sensitive contexts, such as when looking up attestations to | |
| # verify. | |
| "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for | |
| # example "qa". | |
| }, | |
| }, | |
| "name": "A String", # Output only. The name of the note in the form of | |
| # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | |
| "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. | |
| "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3. | |
| # For details, see https://www.first.org/cvss/specification-document | |
| "baseScore": 3.14, # The base score is a function of the base metric scores. | |
| "scope": "A String", | |
| "integrityImpact": "A String", | |
| "exploitabilityScore": 3.14, | |
| "impactScore": 3.14, | |
| "attackComplexity": "A String", | |
| "availabilityImpact": "A String", | |
| "privilegesRequired": "A String", | |
| "userInteraction": "A String", | |
| "attackVector": "A String", # Base Metrics | |
| # Represents the intrinsic characteristics of a vulnerability that are | |
| # constant over time and across user environments. | |
| "confidentialityImpact": "A String", | |
| }, | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "windowsDetails": [ # Windows details get their own format because the information format and | |
| # model don't match a normal detail. Specifically Windows updates are done as | |
| # patches, thus Windows vulnerabilities really are a missing package, rather | |
| # than a package being at an incorrect version. | |
| { | |
| "name": "A String", # Required. The name of the vulnerability. | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # The description of the vulnerability. | |
| "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this | |
| # vulnerability. Note that there may be multiple hotfixes (and thus | |
| # multiple KBs) that mitigate a given vulnerability. Currently any listed | |
| # kb's presence is considered a fix. | |
| { | |
| "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456). | |
| "url": "A String", # A link to the KB in the Windows update catalog - | |
| # https://www.catalog.update.microsoft.com/ | |
| }, | |
| ], | |
| }, | |
| ], | |
| "details": [ # All information about the package to specifically identify this | |
| # vulnerability. One entry per (version range and cpe_uri) the package | |
| # vulnerability has manifested in. | |
| { # Identifies all appearances of this vulnerability in the package for a | |
| # specific distro/location. For example: glibc in | |
| # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | |
| "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to | |
| # obsolete details. | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js | |
| # packages etc). | |
| "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version. | |
| "package": "A String", # Required. The package being described. | |
| "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/) | |
| # format. Examples include distro or storage location for vulnerable jar. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # A vendor-specific description of this note. | |
| "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability. | |
| "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "maxAffectedVersion": { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "package": "A String", # Required. The name of the package where the vulnerability was found. | |
| }, | |
| ], | |
| "severity": "A String", # Note provider assigned impact of the vulnerability. | |
| "cvssScore": 3.14, # The CVSS score for this vulnerability. | |
| }, | |
| "relatedNoteNames": [ # Other notes related to this note. | |
| "A String", | |
| ], | |
| "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build. | |
| # provenance message in the build details occurrence. | |
| "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note | |
| # containing build details. | |
| "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in | |
| # `key_id`. | |
| "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is | |
| # base-64 encoded. | |
| "publicKey": "A String", # Public key of the builder which can be used to verify that the related | |
| # findings are valid and unchanged. If `key_type` is empty, this defaults | |
| # to PEM encoded public keys. | |
| # | |
| # This field may be empty if `key_id` references an external key. | |
| # | |
| # For Cloud Build based signatures, this is a PEM encoded public | |
| # key. To verify the Cloud Build signature, place the contents of | |
| # this field into a file (public.pem). The signature field is base64-decoded | |
| # into its binary representation in signature.bin, and the provenance bytes | |
| # from `BuildDetails` are base64-decoded into a binary representation in | |
| # signed.bin. OpenSSL can then verify the signature: | |
| # `openssl sha256 -verify public.pem -signature signature.bin signed.bin` | |
| "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key | |
| # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the | |
| # CN for a cert), or a reference to an external key (such as a reference to a | |
| # key in Cloud Key Management Service). | |
| }, | |
| "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build. | |
| }, | |
| "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers. | |
| # channels. E.g., glibc (aka libc6) is distributed by many, at various | |
| # versions. | |
| "name": "A String", # Required. Immutable. The name of the package. | |
| "distribution": [ # The various channels by which a package is distributed. | |
| { # This represents a particular channel of distribution for a given package. | |
| # E.g., Debian's jessie-backports dpkg mirror. | |
| "maintainer": "A String", # A freeform string denoting the maintainer of this package. | |
| "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "description": "A String", # The distribution channel-specific description of this package. | |
| "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) | |
| # denoting the package manager version distributing a package. | |
| "url": "A String", # The distribution channel-specific homepage for this package. | |
| "architecture": "A String", # The CPU architecture for which packages in this distribution channel were | |
| # built. | |
| }, | |
| ], | |
| }, | |
| "createTime": "A String", # Output only. The time this note was created. This field can be used as a | |
| # filter in list requests. | |
| "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource. | |
| # exists in a provider's project. A `Discovery` occurrence is created in a | |
| # consumer's project at the start of analysis. | |
| "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this | |
| # discovery. | |
| }, | |
| "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as | |
| # a filter in list requests. | |
| "intoto": { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link. | |
| # chain step in an in-toto layout. This information goes into a Grafeas note. | |
| "expectedProducts": [ | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "stepName": "A String", # This field identifies the name of the step in the supply chain. | |
| "signingKeys": [ # This field contains the public keys that can be used to verify the | |
| # signatures on the step metadata. | |
| { # This defines the format used to record keys used in the software supply | |
| # chain. An in-toto link is attested using one or more keys defined in the | |
| # in-toto layout. An example of this is: | |
| # { | |
| # "key_id": "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | |
| # "key_type": "rsa", | |
| # "public_key_value": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...", | |
| # "key_scheme": "rsassa-pss-sha256" | |
| # } | |
| # The format for in-toto's key definition can be found in section 4.2 of the | |
| # in-toto specification. | |
| "keyId": "A String", # key_id is an identifier for the signing key. | |
| "publicKeyValue": "A String", # This field contains the actual public key. | |
| "keyType": "A String", # This field identifies the specific signing method. Eg: "rsa", "ed25519", | |
| # and "ecdsa". | |
| "keyScheme": "A String", # This field contains the corresponding signature scheme. | |
| # Eg: "rsassa-pss-sha256". | |
| }, | |
| ], | |
| "threshold": "A String", # This field contains a value that indicates the minimum number of keys that | |
| # need to be used to sign the step's in-toto link. | |
| "expectedMaterials": [ # The following fields contain in-toto artifact rules identifying the | |
| # artifacts that enter this supply chain step, and exit the supply chain | |
| # step, i.e. materials and products of the step. | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "expectedCommand": [ # This field contains the expected command used to perform the step. | |
| "A String", | |
| ], | |
| }, | |
| "relatedUrl": [ # URLs associated with this note. | |
| { # Metadata for any related URL information. | |
| "url": "A String", # Specific URL associated with the resource. | |
| "label": "A String", # Label to describe usage of the URL. | |
| }, | |
| ], | |
| "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire. | |
| "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image. | |
| # relationship. Linked occurrences are derived from this or an | |
| # equivalent image via: | |
| # FROM <Basis.resource_url> | |
| # Or an equivalent reference, e.g. a tag of the resource_url. | |
| "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image. | |
| "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image. | |
| "A String", | |
| ], | |
| "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1 | |
| # representation. | |
| "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via: | |
| # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) | |
| # Only the name of the final blob is kept. | |
| }, | |
| "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the | |
| # basis of associated occurrence images. | |
| }, | |
| "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in | |
| # list requests. | |
| "longDescription": "A String", # A detailed description of this note. | |
| "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed. | |
| "resourceUri": [ # Required. Resource URI for the artifact being deployed. | |
| "A String", | |
| ], | |
| }, | |
| "shortDescription": "A String", # A one sentence description of this note. | |
| }, | |
| ], | |
| "nextPageToken": "A String", # The next pagination token in the list response. It should be used as | |
| # `page_token` for the following request. An empty value means no more | |
| # results. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="list_next">list_next(previous_request, previous_response)</code> | |
| <pre>Retrieves the next page of results. | |
| Args: | |
| previous_request: The request for the previous page. (required) | |
| previous_response: The response from the request for the previous page. (required) | |
| Returns: | |
| A request object that you can call 'execute()' on to request the next | |
| page. Returns None if there are no more items in the collection. | |
| </pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code> | |
| <pre>Updates the specified note. | |
| Args: | |
| name: string, Required. The name of the note in the form of | |
| `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. (required) | |
| body: object, The request body. | |
| The object takes the form of: | |
| { # A type of analysis that can be done for a resource. | |
| "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role. | |
| # example, an organization might have one `Authority` for "QA" and one for | |
| # "build". This note is intended to act strictly as a grouping mechanism for | |
| # the attached occurrences (Attestations). This grouping mechanism also | |
| # provides a security boundary, since IAM ACLs gate the ability for a principle | |
| # to attach an occurrence to a given note. It also provides a single point of | |
| # lookup to find all attached attestation occurrences, even if they don't all | |
| # live in the same project. | |
| "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority. | |
| # authority. Because the name of a note acts as its resource reference, it is | |
| # important to disambiguate the canonical name of the Note (which might be a | |
| # UUID for security purposes) from "readable" names more suitable for debug | |
| # output. Note that these hints should not be used to look up authorities in | |
| # security sensitive contexts, such as when looking up attestations to | |
| # verify. | |
| "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for | |
| # example "qa". | |
| }, | |
| }, | |
| "name": "A String", # Output only. The name of the note in the form of | |
| # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | |
| "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. | |
| "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3. | |
| # For details, see https://www.first.org/cvss/specification-document | |
| "baseScore": 3.14, # The base score is a function of the base metric scores. | |
| "scope": "A String", | |
| "integrityImpact": "A String", | |
| "exploitabilityScore": 3.14, | |
| "impactScore": 3.14, | |
| "attackComplexity": "A String", | |
| "availabilityImpact": "A String", | |
| "privilegesRequired": "A String", | |
| "userInteraction": "A String", | |
| "attackVector": "A String", # Base Metrics | |
| # Represents the intrinsic characteristics of a vulnerability that are | |
| # constant over time and across user environments. | |
| "confidentialityImpact": "A String", | |
| }, | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "windowsDetails": [ # Windows details get their own format because the information format and | |
| # model don't match a normal detail. Specifically Windows updates are done as | |
| # patches, thus Windows vulnerabilities really are a missing package, rather | |
| # than a package being at an incorrect version. | |
| { | |
| "name": "A String", # Required. The name of the vulnerability. | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # The description of the vulnerability. | |
| "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this | |
| # vulnerability. Note that there may be multiple hotfixes (and thus | |
| # multiple KBs) that mitigate a given vulnerability. Currently any listed | |
| # kb's presence is considered a fix. | |
| { | |
| "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456). | |
| "url": "A String", # A link to the KB in the Windows update catalog - | |
| # https://www.catalog.update.microsoft.com/ | |
| }, | |
| ], | |
| }, | |
| ], | |
| "details": [ # All information about the package to specifically identify this | |
| # vulnerability. One entry per (version range and cpe_uri) the package | |
| # vulnerability has manifested in. | |
| { # Identifies all appearances of this vulnerability in the package for a | |
| # specific distro/location. For example: glibc in | |
| # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | |
| "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to | |
| # obsolete details. | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js | |
| # packages etc). | |
| "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version. | |
| "package": "A String", # Required. The package being described. | |
| "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/) | |
| # format. Examples include distro or storage location for vulnerable jar. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # A vendor-specific description of this note. | |
| "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability. | |
| "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "maxAffectedVersion": { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "package": "A String", # Required. The name of the package where the vulnerability was found. | |
| }, | |
| ], | |
| "severity": "A String", # Note provider assigned impact of the vulnerability. | |
| "cvssScore": 3.14, # The CVSS score for this vulnerability. | |
| }, | |
| "relatedNoteNames": [ # Other notes related to this note. | |
| "A String", | |
| ], | |
| "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build. | |
| # provenance message in the build details occurrence. | |
| "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note | |
| # containing build details. | |
| "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in | |
| # `key_id`. | |
| "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is | |
| # base-64 encoded. | |
| "publicKey": "A String", # Public key of the builder which can be used to verify that the related | |
| # findings are valid and unchanged. If `key_type` is empty, this defaults | |
| # to PEM encoded public keys. | |
| # | |
| # This field may be empty if `key_id` references an external key. | |
| # | |
| # For Cloud Build based signatures, this is a PEM encoded public | |
| # key. To verify the Cloud Build signature, place the contents of | |
| # this field into a file (public.pem). The signature field is base64-decoded | |
| # into its binary representation in signature.bin, and the provenance bytes | |
| # from `BuildDetails` are base64-decoded into a binary representation in | |
| # signed.bin. OpenSSL can then verify the signature: | |
| # `openssl sha256 -verify public.pem -signature signature.bin signed.bin` | |
| "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key | |
| # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the | |
| # CN for a cert), or a reference to an external key (such as a reference to a | |
| # key in Cloud Key Management Service). | |
| }, | |
| "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build. | |
| }, | |
| "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers. | |
| # channels. E.g., glibc (aka libc6) is distributed by many, at various | |
| # versions. | |
| "name": "A String", # Required. Immutable. The name of the package. | |
| "distribution": [ # The various channels by which a package is distributed. | |
| { # This represents a particular channel of distribution for a given package. | |
| # E.g., Debian's jessie-backports dpkg mirror. | |
| "maintainer": "A String", # A freeform string denoting the maintainer of this package. | |
| "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "description": "A String", # The distribution channel-specific description of this package. | |
| "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) | |
| # denoting the package manager version distributing a package. | |
| "url": "A String", # The distribution channel-specific homepage for this package. | |
| "architecture": "A String", # The CPU architecture for which packages in this distribution channel were | |
| # built. | |
| }, | |
| ], | |
| }, | |
| "createTime": "A String", # Output only. The time this note was created. This field can be used as a | |
| # filter in list requests. | |
| "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource. | |
| # exists in a provider's project. A `Discovery` occurrence is created in a | |
| # consumer's project at the start of analysis. | |
| "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this | |
| # discovery. | |
| }, | |
| "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as | |
| # a filter in list requests. | |
| "intoto": { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link. | |
| # chain step in an in-toto layout. This information goes into a Grafeas note. | |
| "expectedProducts": [ | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "stepName": "A String", # This field identifies the name of the step in the supply chain. | |
| "signingKeys": [ # This field contains the public keys that can be used to verify the | |
| # signatures on the step metadata. | |
| { # This defines the format used to record keys used in the software supply | |
| # chain. An in-toto link is attested using one or more keys defined in the | |
| # in-toto layout. An example of this is: | |
| # { | |
| # "key_id": "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | |
| # "key_type": "rsa", | |
| # "public_key_value": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...", | |
| # "key_scheme": "rsassa-pss-sha256" | |
| # } | |
| # The format for in-toto's key definition can be found in section 4.2 of the | |
| # in-toto specification. | |
| "keyId": "A String", # key_id is an identifier for the signing key. | |
| "publicKeyValue": "A String", # This field contains the actual public key. | |
| "keyType": "A String", # This field identifies the specific signing method. Eg: "rsa", "ed25519", | |
| # and "ecdsa". | |
| "keyScheme": "A String", # This field contains the corresponding signature scheme. | |
| # Eg: "rsassa-pss-sha256". | |
| }, | |
| ], | |
| "threshold": "A String", # This field contains a value that indicates the minimum number of keys that | |
| # need to be used to sign the step's in-toto link. | |
| "expectedMaterials": [ # The following fields contain in-toto artifact rules identifying the | |
| # artifacts that enter this supply chain step, and exit the supply chain | |
| # step, i.e. materials and products of the step. | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "expectedCommand": [ # This field contains the expected command used to perform the step. | |
| "A String", | |
| ], | |
| }, | |
| "relatedUrl": [ # URLs associated with this note. | |
| { # Metadata for any related URL information. | |
| "url": "A String", # Specific URL associated with the resource. | |
| "label": "A String", # Label to describe usage of the URL. | |
| }, | |
| ], | |
| "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire. | |
| "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image. | |
| # relationship. Linked occurrences are derived from this or an | |
| # equivalent image via: | |
| # FROM <Basis.resource_url> | |
| # Or an equivalent reference, e.g. a tag of the resource_url. | |
| "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image. | |
| "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image. | |
| "A String", | |
| ], | |
| "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1 | |
| # representation. | |
| "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via: | |
| # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) | |
| # Only the name of the final blob is kept. | |
| }, | |
| "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the | |
| # basis of associated occurrence images. | |
| }, | |
| "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in | |
| # list requests. | |
| "longDescription": "A String", # A detailed description of this note. | |
| "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed. | |
| "resourceUri": [ # Required. Resource URI for the artifact being deployed. | |
| "A String", | |
| ], | |
| }, | |
| "shortDescription": "A String", # A one sentence description of this note. | |
| } | |
| updateMask: string, The fields to update. | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # A type of analysis that can be done for a resource. | |
| "attestationAuthority": { # Note kind that represents a logical attestation "role" or "authority". For # A note describing an attestation role. | |
| # example, an organization might have one `Authority` for "QA" and one for | |
| # "build". This note is intended to act strictly as a grouping mechanism for | |
| # the attached occurrences (Attestations). This grouping mechanism also | |
| # provides a security boundary, since IAM ACLs gate the ability for a principle | |
| # to attach an occurrence to a given note. It also provides a single point of | |
| # lookup to find all attached attestation occurrences, even if they don't all | |
| # live in the same project. | |
| "hint": { # This submessage provides human-readable hints about the purpose of the # Hint hints at the purpose of the attestation authority. | |
| # authority. Because the name of a note acts as its resource reference, it is | |
| # important to disambiguate the canonical name of the Note (which might be a | |
| # UUID for security purposes) from "readable" names more suitable for debug | |
| # output. Note that these hints should not be used to look up authorities in | |
| # security sensitive contexts, such as when looking up attestations to | |
| # verify. | |
| "humanReadableName": "A String", # Required. The human readable name of this attestation authority, for | |
| # example "qa". | |
| }, | |
| }, | |
| "name": "A String", # Output only. The name of the note in the form of | |
| # `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. | |
| "vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. | |
| "cvssV3": { # Common Vulnerability Scoring System version 3. # The full description of the CVSSv3. | |
| # For details, see https://www.first.org/cvss/specification-document | |
| "baseScore": 3.14, # The base score is a function of the base metric scores. | |
| "scope": "A String", | |
| "integrityImpact": "A String", | |
| "exploitabilityScore": 3.14, | |
| "impactScore": 3.14, | |
| "attackComplexity": "A String", | |
| "availabilityImpact": "A String", | |
| "privilegesRequired": "A String", | |
| "userInteraction": "A String", | |
| "attackVector": "A String", # Base Metrics | |
| # Represents the intrinsic characteristics of a vulnerability that are | |
| # constant over time and across user environments. | |
| "confidentialityImpact": "A String", | |
| }, | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "windowsDetails": [ # Windows details get their own format because the information format and | |
| # model don't match a normal detail. Specifically Windows updates are done as | |
| # patches, thus Windows vulnerabilities really are a missing package, rather | |
| # than a package being at an incorrect version. | |
| { | |
| "name": "A String", # Required. The name of the vulnerability. | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # The description of the vulnerability. | |
| "fixingKbs": [ # Required. The names of the KBs which have hotfixes to mitigate this | |
| # vulnerability. Note that there may be multiple hotfixes (and thus | |
| # multiple KBs) that mitigate a given vulnerability. Currently any listed | |
| # kb's presence is considered a fix. | |
| { | |
| "name": "A String", # The KB name (generally of the form KB[0-9]+ i.e. KB123456). | |
| "url": "A String", # A link to the KB in the Windows update catalog - | |
| # https://www.catalog.update.microsoft.com/ | |
| }, | |
| ], | |
| }, | |
| ], | |
| "details": [ # All information about the package to specifically identify this | |
| # vulnerability. One entry per (version range and cpe_uri) the package | |
| # vulnerability has manifested in. | |
| { # Identifies all appearances of this vulnerability in the package for a | |
| # specific distro/location. For example: glibc in | |
| # cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2 | |
| "isObsolete": True or False, # Whether this detail is obsolete. Occurrences are expected not to point to | |
| # obsolete details. | |
| "sourceUpdateTime": "A String", # The time this information was last changed at the source. This is an | |
| # upstream timestamp from the underlying information source - e.g. Ubuntu | |
| # security tracker. | |
| "packageType": "A String", # The type of package; whether native or non native(ruby gems, node.js | |
| # packages etc). | |
| "fixedLocation": { # The location of the vulnerability. # The fix for this specific package version. | |
| "package": "A String", # Required. The package being described. | |
| "version": { # Version contains structured information about the version of a package. # Required. The version of the package being described. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/) | |
| # format. Examples include distro or storage location for vulnerable jar. | |
| }, | |
| "cpeUri": "A String", # Required. The CPE URI in | |
| # [cpe format](https://cpe.mitre.org/specification/) in which the | |
| # vulnerability manifests. Examples include distro or storage location for | |
| # vulnerable jar. | |
| "description": "A String", # A vendor-specific description of this note. | |
| "severityName": "A String", # The severity (eg: distro assigned severity) for this vulnerability. | |
| "minAffectedVersion": { # Version contains structured information about the version of a package. # The min version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "maxAffectedVersion": { # Version contains structured information about the version of a package. # The max version of the package in which the vulnerability exists. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "package": "A String", # Required. The name of the package where the vulnerability was found. | |
| }, | |
| ], | |
| "severity": "A String", # Note provider assigned impact of the vulnerability. | |
| "cvssScore": 3.14, # The CVSS score for this vulnerability. | |
| }, | |
| "relatedNoteNames": [ # Other notes related to this note. | |
| "A String", | |
| ], | |
| "build": { # Note holding the version of the provider's builder and the signature of the # A note describing build provenance for a verifiable build. | |
| # provenance message in the build details occurrence. | |
| "signature": { # Message encapsulating the signature of the verified build. # Signature of the build in occurrences pointing to this build note | |
| # containing build details. | |
| "keyType": "A String", # The type of the key, either stored in `public_key` or referenced in | |
| # `key_id`. | |
| "signature": "A String", # Required. Signature of the related `BuildProvenance`. In JSON, this is | |
| # base-64 encoded. | |
| "publicKey": "A String", # Public key of the builder which can be used to verify that the related | |
| # findings are valid and unchanged. If `key_type` is empty, this defaults | |
| # to PEM encoded public keys. | |
| # | |
| # This field may be empty if `key_id` references an external key. | |
| # | |
| # For Cloud Build based signatures, this is a PEM encoded public | |
| # key. To verify the Cloud Build signature, place the contents of | |
| # this field into a file (public.pem). The signature field is base64-decoded | |
| # into its binary representation in signature.bin, and the provenance bytes | |
| # from `BuildDetails` are base64-decoded into a binary representation in | |
| # signed.bin. OpenSSL can then verify the signature: | |
| # `openssl sha256 -verify public.pem -signature signature.bin signed.bin` | |
| "keyId": "A String", # An ID for the key used to sign. This could be either an ID for the key | |
| # stored in `public_key` (such as the ID or fingerprint for a PGP key, or the | |
| # CN for a cert), or a reference to an external key (such as a reference to a | |
| # key in Cloud Key Management Service). | |
| }, | |
| "builderVersion": "A String", # Required. Immutable. Version of the builder which produced this build. | |
| }, | |
| "package": { # This represents a particular package that is distributed over various # A note describing a package hosted by various package managers. | |
| # channels. E.g., glibc (aka libc6) is distributed by many, at various | |
| # versions. | |
| "name": "A String", # Required. Immutable. The name of the package. | |
| "distribution": [ # The various channels by which a package is distributed. | |
| { # This represents a particular channel of distribution for a given package. | |
| # E.g., Debian's jessie-backports dpkg mirror. | |
| "maintainer": "A String", # A freeform string denoting the maintainer of this package. | |
| "latestVersion": { # Version contains structured information about the version of a package. # The latest available version of this package in this distribution channel. | |
| "revision": "A String", # The iteration of the package build from the above version. | |
| "name": "A String", # Required only when version kind is NORMAL. The main part of the version | |
| # name. | |
| "kind": "A String", # Required. Distinguishes between sentinel MIN/MAX versions and normal | |
| # versions. | |
| "epoch": 42, # Used to correct mistakes in the version numbering scheme. | |
| }, | |
| "description": "A String", # The distribution channel-specific description of this package. | |
| "cpeUri": "A String", # Required. The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) | |
| # denoting the package manager version distributing a package. | |
| "url": "A String", # The distribution channel-specific homepage for this package. | |
| "architecture": "A String", # The CPU architecture for which packages in this distribution channel were | |
| # built. | |
| }, | |
| ], | |
| }, | |
| "createTime": "A String", # Output only. The time this note was created. This field can be used as a | |
| # filter in list requests. | |
| "discovery": { # A note that indicates a type of analysis a provider would perform. This note # A note describing the initial analysis of a resource. | |
| # exists in a provider's project. A `Discovery` occurrence is created in a | |
| # consumer's project at the start of analysis. | |
| "analysisKind": "A String", # Required. Immutable. The kind of analysis that is handled by this | |
| # discovery. | |
| }, | |
| "updateTime": "A String", # Output only. The time this note was last updated. This field can be used as | |
| # a filter in list requests. | |
| "intoto": { # This contains the fields corresponding to the definition of a software supply # A note describing an in-toto link. | |
| # chain step in an in-toto layout. This information goes into a Grafeas note. | |
| "expectedProducts": [ | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "stepName": "A String", # This field identifies the name of the step in the supply chain. | |
| "signingKeys": [ # This field contains the public keys that can be used to verify the | |
| # signatures on the step metadata. | |
| { # This defines the format used to record keys used in the software supply | |
| # chain. An in-toto link is attested using one or more keys defined in the | |
| # in-toto layout. An example of this is: | |
| # { | |
| # "key_id": "776a00e29f3559e0141b3b096f696abc6cfb0c657ab40f441132b345b0...", | |
| # "key_type": "rsa", | |
| # "public_key_value": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0B...", | |
| # "key_scheme": "rsassa-pss-sha256" | |
| # } | |
| # The format for in-toto's key definition can be found in section 4.2 of the | |
| # in-toto specification. | |
| "keyId": "A String", # key_id is an identifier for the signing key. | |
| "publicKeyValue": "A String", # This field contains the actual public key. | |
| "keyType": "A String", # This field identifies the specific signing method. Eg: "rsa", "ed25519", | |
| # and "ecdsa". | |
| "keyScheme": "A String", # This field contains the corresponding signature scheme. | |
| # Eg: "rsassa-pss-sha256". | |
| }, | |
| ], | |
| "threshold": "A String", # This field contains a value that indicates the minimum number of keys that | |
| # need to be used to sign the step's in-toto link. | |
| "expectedMaterials": [ # The following fields contain in-toto artifact rules identifying the | |
| # artifacts that enter this supply chain step, and exit the supply chain | |
| # step, i.e. materials and products of the step. | |
| { # Defines an object to declare an in-toto artifact rule | |
| "artifactRule": [ | |
| "A String", | |
| ], | |
| }, | |
| ], | |
| "expectedCommand": [ # This field contains the expected command used to perform the step. | |
| "A String", | |
| ], | |
| }, | |
| "relatedUrl": [ # URLs associated with this note. | |
| { # Metadata for any related URL information. | |
| "url": "A String", # Specific URL associated with the resource. | |
| "label": "A String", # Label to describe usage of the URL. | |
| }, | |
| ], | |
| "expirationTime": "A String", # Time of expiration for this note. Empty if note does not expire. | |
| "baseImage": { # Basis describes the base image portion (Note) of the DockerImage # A note describing a base image. | |
| # relationship. Linked occurrences are derived from this or an | |
| # equivalent image via: | |
| # FROM <Basis.resource_url> | |
| # Or an equivalent reference, e.g. a tag of the resource_url. | |
| "fingerprint": { # A set of properties that uniquely identify a given Docker image. # Required. Immutable. The fingerprint of the base image. | |
| "v2Blob": [ # Required. The ordered list of v2 blobs that represent a given image. | |
| "A String", | |
| ], | |
| "v1Name": "A String", # Required. The layer ID of the final layer in the Docker image's v1 | |
| # representation. | |
| "v2Name": "A String", # Output only. The name of the image's v2 blobs computed via: | |
| # [bottom] := v2_blobbottom := sha256(v2_blob[N] + " " + v2_name[N+1]) | |
| # Only the name of the final blob is kept. | |
| }, | |
| "resourceUrl": "A String", # Required. Immutable. The resource_url for the resource representing the | |
| # basis of associated occurrence images. | |
| }, | |
| "kind": "A String", # Output only. The type of analysis. This field can be used as a filter in | |
| # list requests. | |
| "longDescription": "A String", # A detailed description of this note. | |
| "deployable": { # An artifact that can be deployed in some runtime. # A note describing something that can be deployed. | |
| "resourceUri": [ # Required. Resource URI for the artifact being deployed. | |
| "A String", | |
| ], | |
| }, | |
| "shortDescription": "A String", # A one sentence description of this note. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code> | |
| <pre>Sets the access control policy on the specified note or occurrence. | |
| Requires `containeranalysis.notes.setIamPolicy` or | |
| `containeranalysis.occurrences.setIamPolicy` permission if the resource is | |
| a note or an occurrence, respectively. | |
| The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for | |
| notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for | |
| occurrences. | |
| Args: | |
| resource: string, REQUIRED: The resource for which the policy is being specified. | |
| See the operation documentation for the appropriate value for this field. (required) | |
| body: object, The request body. | |
| The object takes the form of: | |
| { # Request message for `SetIamPolicy` method. | |
| "policy": { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of | |
| # the policy is limited to a few 10s of KB. An empty policy is a | |
| # valid policy but certain Cloud Platform services (such as Projects) | |
| # might reject them. | |
| # controls for Google Cloud resources. | |
| # | |
| # | |
| # A `Policy` is a collection of `bindings`. A `binding` binds one or more | |
| # `members` to a single `role`. Members can be user accounts, service accounts, | |
| # Google groups, and domains (such as G Suite). A `role` is a named list of | |
| # permissions; each `role` can be an IAM predefined role or a user-created | |
| # custom role. | |
| # | |
| # For some types of Google Cloud resources, a `binding` can also specify a | |
| # `condition`, which is a logical expression that allows access to a resource | |
| # only if the expression evaluates to `true`. A condition can add constraints | |
| # based on attributes of the request, the resource, or both. To learn which | |
| # resources support conditions in their IAM policies, see the | |
| # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| # | |
| # **JSON example:** | |
| # | |
| # { | |
| # "bindings": [ | |
| # { | |
| # "role": "roles/resourcemanager.organizationAdmin", | |
| # "members": [ | |
| # "user:mike@example.com", | |
| # "group:admins@example.com", | |
| # "domain:google.com", | |
| # "serviceAccount:my-project-id@appspot.gserviceaccount.com" | |
| # ] | |
| # }, | |
| # { | |
| # "role": "roles/resourcemanager.organizationViewer", | |
| # "members": [ | |
| # "user:eve@example.com" | |
| # ], | |
| # "condition": { | |
| # "title": "expirable access", | |
| # "description": "Does not grant access after Sep 2020", | |
| # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", | |
| # } | |
| # } | |
| # ], | |
| # "etag": "BwWWja0YfJA=", | |
| # "version": 3 | |
| # } | |
| # | |
| # **YAML example:** | |
| # | |
| # bindings: | |
| # - members: | |
| # - user:mike@example.com | |
| # - group:admins@example.com | |
| # - domain:google.com | |
| # - serviceAccount:my-project-id@appspot.gserviceaccount.com | |
| # role: roles/resourcemanager.organizationAdmin | |
| # - members: | |
| # - user:eve@example.com | |
| # role: roles/resourcemanager.organizationViewer | |
| # condition: | |
| # title: expirable access | |
| # description: Does not grant access after Sep 2020 | |
| # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') | |
| # - etag: BwWWja0YfJA= | |
| # - version: 3 | |
| # | |
| # For a description of IAM and its features, see the | |
| # [IAM documentation](https://cloud.google.com/iam/docs/). | |
| "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help | |
| # prevent simultaneous updates of a policy from overwriting each other. | |
| # It is strongly suggested that systems make use of the `etag` in the | |
| # read-modify-write cycle to perform policy updates in order to avoid race | |
| # conditions: An `etag` is returned in the response to `getIamPolicy`, and | |
| # systems are expected to put that etag in the request to `setIamPolicy` to | |
| # ensure that their change will be applied to the same version of the policy. | |
| # | |
| # **Important:** If you use IAM Conditions, you must include the `etag` field | |
| # whenever you call `setIamPolicy`. If you omit this field, then IAM allows | |
| # you to overwrite a version `3` policy with a version `1` policy, and all of | |
| # the conditions in the version `3` policy are lost. | |
| "version": 42, # Specifies the format of the policy. | |
| # | |
| # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value | |
| # are rejected. | |
| # | |
| # Any operation that affects conditional role bindings must specify version | |
| # `3`. This requirement applies to the following operations: | |
| # | |
| # * Getting a policy that includes a conditional role binding | |
| # * Adding a conditional role binding to a policy | |
| # * Changing a conditional role binding in a policy | |
| # * Removing any role binding, with or without a condition, from a policy | |
| # that includes conditions | |
| # | |
| # **Important:** If you use IAM Conditions, you must include the `etag` field | |
| # whenever you call `setIamPolicy`. If you omit this field, then IAM allows | |
| # you to overwrite a version `3` policy with a version `1` policy, and all of | |
| # the conditions in the version `3` policy are lost. | |
| # | |
| # If a policy does not include any conditions, operations on that policy may | |
| # specify any valid version or leave the field unset. | |
| # | |
| # To learn which resources support conditions in their IAM policies, see the | |
| # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a | |
| # `condition` that determines how and when the `bindings` are applied. Each | |
| # of the `bindings` must contain at least one member. | |
| { # Associates `members` with a `role`. | |
| "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding. | |
| # | |
| # If the condition evaluates to `true`, then this binding applies to the | |
| # current request. | |
| # | |
| # If the condition evaluates to `false`, then this binding does not apply to | |
| # the current request. However, a different role binding might grant the same | |
| # role to one or more of the members in this binding. | |
| # | |
| # To learn which resources support conditions in their IAM policies, see the | |
| # [IAM | |
| # documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| # syntax. CEL is a C-like expression language. The syntax and semantics of CEL | |
| # are documented at https://github.com/google/cel-spec. | |
| # | |
| # Example (Comparison): | |
| # | |
| # title: "Summary size limit" | |
| # description: "Determines if a summary is less than 100 chars" | |
| # expression: "document.summary.size() < 100" | |
| # | |
| # Example (Equality): | |
| # | |
| # title: "Requestor is owner" | |
| # description: "Determines if requestor is the document owner" | |
| # expression: "document.owner == request.auth.claims.email" | |
| # | |
| # Example (Logic): | |
| # | |
| # title: "Public documents" | |
| # description: "Determine whether the document should be publicly visible" | |
| # expression: "document.type != 'private' && document.type != 'internal'" | |
| # | |
| # Example (Data Manipulation): | |
| # | |
| # title: "Notification string" | |
| # description: "Create a notification string with a timestamp." | |
| # expression: "'New message received at ' + string(document.create_time)" | |
| # | |
| # The exact variables and functions that may be referenced within an expression | |
| # are determined by the service that evaluates it. See the service | |
| # documentation for additional information. | |
| "description": "A String", # Optional. Description of the expression. This is a longer text which | |
| # describes the expression, e.g. when hovered over it in a UI. | |
| "expression": "A String", # Textual representation of an expression in Common Expression Language | |
| # syntax. | |
| "title": "A String", # Optional. Title for the expression, i.e. a short string describing | |
| # its purpose. This can be used e.g. in UIs which allow to enter the | |
| # expression. | |
| "location": "A String", # Optional. String indicating the location of the expression for error | |
| # reporting, e.g. a file name and a position in the file. | |
| }, | |
| "members": [ # Specifies the identities requesting access for a Cloud Platform resource. | |
| # `members` can have the following values: | |
| # | |
| # * `allUsers`: A special identifier that represents anyone who is | |
| # on the internet; with or without a Google account. | |
| # | |
| # * `allAuthenticatedUsers`: A special identifier that represents anyone | |
| # who is authenticated with a Google account or a service account. | |
| # | |
| # * `user:{emailid}`: An email address that represents a specific Google | |
| # account. For example, `alice@example.com` . | |
| # | |
| # | |
| # * `serviceAccount:{emailid}`: An email address that represents a service | |
| # account. For example, `my-other-app@appspot.gserviceaccount.com`. | |
| # | |
| # * `group:{emailid}`: An email address that represents a Google group. | |
| # For example, `admins@example.com`. | |
| # | |
| # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique | |
| # identifier) representing a user that has been recently deleted. For | |
| # example, `alice@example.com?uid=123456789012345678901`. If the user is | |
| # recovered, this value reverts to `user:{emailid}` and the recovered user | |
| # retains the role in the binding. | |
| # | |
| # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus | |
| # unique identifier) representing a service account that has been recently | |
| # deleted. For example, | |
| # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. | |
| # If the service account is undeleted, this value reverts to | |
| # `serviceAccount:{emailid}` and the undeleted service account retains the | |
| # role in the binding. | |
| # | |
| # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique | |
| # identifier) representing a Google group that has been recently | |
| # deleted. For example, `admins@example.com?uid=123456789012345678901`. If | |
| # the group is recovered, this value reverts to `group:{emailid}` and the | |
| # recovered group retains the role in the binding. | |
| # | |
| # | |
| # * `domain:{domain}`: The G Suite domain (primary) that represents all the | |
| # users of that domain. For example, `google.com` or `example.com`. | |
| # | |
| "A String", | |
| ], | |
| "role": "A String", # Role that is assigned to `members`. | |
| # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | |
| }, | |
| ], | |
| }, | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # An Identity and Access Management (IAM) policy, which specifies access | |
| # controls for Google Cloud resources. | |
| # | |
| # | |
| # A `Policy` is a collection of `bindings`. A `binding` binds one or more | |
| # `members` to a single `role`. Members can be user accounts, service accounts, | |
| # Google groups, and domains (such as G Suite). A `role` is a named list of | |
| # permissions; each `role` can be an IAM predefined role or a user-created | |
| # custom role. | |
| # | |
| # For some types of Google Cloud resources, a `binding` can also specify a | |
| # `condition`, which is a logical expression that allows access to a resource | |
| # only if the expression evaluates to `true`. A condition can add constraints | |
| # based on attributes of the request, the resource, or both. To learn which | |
| # resources support conditions in their IAM policies, see the | |
| # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| # | |
| # **JSON example:** | |
| # | |
| # { | |
| # "bindings": [ | |
| # { | |
| # "role": "roles/resourcemanager.organizationAdmin", | |
| # "members": [ | |
| # "user:mike@example.com", | |
| # "group:admins@example.com", | |
| # "domain:google.com", | |
| # "serviceAccount:my-project-id@appspot.gserviceaccount.com" | |
| # ] | |
| # }, | |
| # { | |
| # "role": "roles/resourcemanager.organizationViewer", | |
| # "members": [ | |
| # "user:eve@example.com" | |
| # ], | |
| # "condition": { | |
| # "title": "expirable access", | |
| # "description": "Does not grant access after Sep 2020", | |
| # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", | |
| # } | |
| # } | |
| # ], | |
| # "etag": "BwWWja0YfJA=", | |
| # "version": 3 | |
| # } | |
| # | |
| # **YAML example:** | |
| # | |
| # bindings: | |
| # - members: | |
| # - user:mike@example.com | |
| # - group:admins@example.com | |
| # - domain:google.com | |
| # - serviceAccount:my-project-id@appspot.gserviceaccount.com | |
| # role: roles/resourcemanager.organizationAdmin | |
| # - members: | |
| # - user:eve@example.com | |
| # role: roles/resourcemanager.organizationViewer | |
| # condition: | |
| # title: expirable access | |
| # description: Does not grant access after Sep 2020 | |
| # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') | |
| # - etag: BwWWja0YfJA= | |
| # - version: 3 | |
| # | |
| # For a description of IAM and its features, see the | |
| # [IAM documentation](https://cloud.google.com/iam/docs/). | |
| "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help | |
| # prevent simultaneous updates of a policy from overwriting each other. | |
| # It is strongly suggested that systems make use of the `etag` in the | |
| # read-modify-write cycle to perform policy updates in order to avoid race | |
| # conditions: An `etag` is returned in the response to `getIamPolicy`, and | |
| # systems are expected to put that etag in the request to `setIamPolicy` to | |
| # ensure that their change will be applied to the same version of the policy. | |
| # | |
| # **Important:** If you use IAM Conditions, you must include the `etag` field | |
| # whenever you call `setIamPolicy`. If you omit this field, then IAM allows | |
| # you to overwrite a version `3` policy with a version `1` policy, and all of | |
| # the conditions in the version `3` policy are lost. | |
| "version": 42, # Specifies the format of the policy. | |
| # | |
| # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value | |
| # are rejected. | |
| # | |
| # Any operation that affects conditional role bindings must specify version | |
| # `3`. This requirement applies to the following operations: | |
| # | |
| # * Getting a policy that includes a conditional role binding | |
| # * Adding a conditional role binding to a policy | |
| # * Changing a conditional role binding in a policy | |
| # * Removing any role binding, with or without a condition, from a policy | |
| # that includes conditions | |
| # | |
| # **Important:** If you use IAM Conditions, you must include the `etag` field | |
| # whenever you call `setIamPolicy`. If you omit this field, then IAM allows | |
| # you to overwrite a version `3` policy with a version `1` policy, and all of | |
| # the conditions in the version `3` policy are lost. | |
| # | |
| # If a policy does not include any conditions, operations on that policy may | |
| # specify any valid version or leave the field unset. | |
| # | |
| # To learn which resources support conditions in their IAM policies, see the | |
| # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a | |
| # `condition` that determines how and when the `bindings` are applied. Each | |
| # of the `bindings` must contain at least one member. | |
| { # Associates `members` with a `role`. | |
| "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding. | |
| # | |
| # If the condition evaluates to `true`, then this binding applies to the | |
| # current request. | |
| # | |
| # If the condition evaluates to `false`, then this binding does not apply to | |
| # the current request. However, a different role binding might grant the same | |
| # role to one or more of the members in this binding. | |
| # | |
| # To learn which resources support conditions in their IAM policies, see the | |
| # [IAM | |
| # documentation](https://cloud.google.com/iam/help/conditions/resource-policies). | |
| # syntax. CEL is a C-like expression language. The syntax and semantics of CEL | |
| # are documented at https://github.com/google/cel-spec. | |
| # | |
| # Example (Comparison): | |
| # | |
| # title: "Summary size limit" | |
| # description: "Determines if a summary is less than 100 chars" | |
| # expression: "document.summary.size() < 100" | |
| # | |
| # Example (Equality): | |
| # | |
| # title: "Requestor is owner" | |
| # description: "Determines if requestor is the document owner" | |
| # expression: "document.owner == request.auth.claims.email" | |
| # | |
| # Example (Logic): | |
| # | |
| # title: "Public documents" | |
| # description: "Determine whether the document should be publicly visible" | |
| # expression: "document.type != 'private' && document.type != 'internal'" | |
| # | |
| # Example (Data Manipulation): | |
| # | |
| # title: "Notification string" | |
| # description: "Create a notification string with a timestamp." | |
| # expression: "'New message received at ' + string(document.create_time)" | |
| # | |
| # The exact variables and functions that may be referenced within an expression | |
| # are determined by the service that evaluates it. See the service | |
| # documentation for additional information. | |
| "description": "A String", # Optional. Description of the expression. This is a longer text which | |
| # describes the expression, e.g. when hovered over it in a UI. | |
| "expression": "A String", # Textual representation of an expression in Common Expression Language | |
| # syntax. | |
| "title": "A String", # Optional. Title for the expression, i.e. a short string describing | |
| # its purpose. This can be used e.g. in UIs which allow to enter the | |
| # expression. | |
| "location": "A String", # Optional. String indicating the location of the expression for error | |
| # reporting, e.g. a file name and a position in the file. | |
| }, | |
| "members": [ # Specifies the identities requesting access for a Cloud Platform resource. | |
| # `members` can have the following values: | |
| # | |
| # * `allUsers`: A special identifier that represents anyone who is | |
| # on the internet; with or without a Google account. | |
| # | |
| # * `allAuthenticatedUsers`: A special identifier that represents anyone | |
| # who is authenticated with a Google account or a service account. | |
| # | |
| # * `user:{emailid}`: An email address that represents a specific Google | |
| # account. For example, `alice@example.com` . | |
| # | |
| # | |
| # * `serviceAccount:{emailid}`: An email address that represents a service | |
| # account. For example, `my-other-app@appspot.gserviceaccount.com`. | |
| # | |
| # * `group:{emailid}`: An email address that represents a Google group. | |
| # For example, `admins@example.com`. | |
| # | |
| # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique | |
| # identifier) representing a user that has been recently deleted. For | |
| # example, `alice@example.com?uid=123456789012345678901`. If the user is | |
| # recovered, this value reverts to `user:{emailid}` and the recovered user | |
| # retains the role in the binding. | |
| # | |
| # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus | |
| # unique identifier) representing a service account that has been recently | |
| # deleted. For example, | |
| # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. | |
| # If the service account is undeleted, this value reverts to | |
| # `serviceAccount:{emailid}` and the undeleted service account retains the | |
| # role in the binding. | |
| # | |
| # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique | |
| # identifier) representing a Google group that has been recently | |
| # deleted. For example, `admins@example.com?uid=123456789012345678901`. If | |
| # the group is recovered, this value reverts to `group:{emailid}` and the | |
| # recovered group retains the role in the binding. | |
| # | |
| # | |
| # * `domain:{domain}`: The G Suite domain (primary) that represents all the | |
| # users of that domain. For example, `google.com` or `example.com`. | |
| # | |
| "A String", | |
| ], | |
| "role": "A String", # Role that is assigned to `members`. | |
| # For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | |
| }, | |
| ], | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code> | |
| <pre>Returns the permissions that a caller has on the specified note or | |
| occurrence. Requires list permission on the project (for example, | |
| `containeranalysis.notes.list`). | |
| The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for | |
| notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for | |
| occurrences. | |
| Args: | |
| resource: string, REQUIRED: The resource for which the policy detail is being requested. | |
| See the operation documentation for the appropriate value for this field. (required) | |
| body: object, The request body. | |
| The object takes the form of: | |
| { # Request message for `TestIamPermissions` method. | |
| "permissions": [ # The set of permissions to check for the `resource`. Permissions with | |
| # wildcards (such as '*' or 'storage.*') are not allowed. For more | |
| # information see | |
| # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). | |
| "A String", | |
| ], | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # Response message for `TestIamPermissions` method. | |
| "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is | |
| # allowed. | |
| "A String", | |
| ], | |
| }</pre> | |
| </div> | |
| </body></html> |