Class: Google::Apis::CloudsearchV1::SimpleSecretHolderProto
- Inherits:
-
Object
- Object
- Google::Apis::CloudsearchV1::SimpleSecretHolderProto
- 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
-
#label ⇒ Google::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.
Instance Method Summary collapse
-
#initialize(**args) ⇒ SimpleSecretHolderProto
constructor
A new instance of SimpleSecretHolderProto.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ SimpleSecretHolderProto
Returns a new instance of SimpleSecretHolderProto.
18851 18852 18853 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 18851 def initialize(**args) update!(**args) end |
Instance Attribute Details
#label ⇒ Google::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
18849 18850 18851 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 18849 def label @label end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
18856 18857 18858 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 18856 def update!(**args) @label = args[:label] if args.key?(:label) end |