Class: Google::Apis::CloudsearchV1::SimpleSecretHolderProto

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudsearch_v1/classes.rb,
lib/google/apis/cloudsearch_v1/representations.rb,
lib/google/apis/cloudsearch_v1/representations.rb

Overview

Represents a principal which possesses a particular, presumably secret, string. Useful for things like "auth keys," used for anonymous sharing. Since representing this principal with the actual secret included reveals the secret, it's best if the requisite condition is enforced in some other way, for example via Keystore wrapping attributes (Keystore will unwrap only if the specified secret, aka "attribute", is presented). All that's stored here is an identifying label.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ SimpleSecretHolderProto

Returns a new instance of SimpleSecretHolderProto.



19013
19014
19015
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19013

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#labelGoogle::Apis::CloudsearchV1::SimpleSecretLabelProto

SimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a "label", which identifies a particular secret without ( hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one "auth key". Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another. Corresponds to the JSON property label



19011
19012
19013
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19011

def label
  @label
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



19018
19019
19020
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 19018

def update!(**args)
  @label = args[:label] if args.key?(:label)
end