Class: Google::Iam::V1::Policy
- Inherits:
-
Object
- Object
- Google::Iam::V1::Policy
- Defined in:
- lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb,
lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/policy.rb
Overview
Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources.
A +Policy+ consists of a list of +bindings+. A +Binding+ binds a list of +members+ to a +role+, where the members can be user accounts, Google groups, Google domains, and service accounts. A +role+ is a named list of permissions defined by IAM.
Example
{
"bindings": [
{
"role": "roles/owner",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-other-app@appspot.gserviceaccount.com",
]
},
{
"role": "roles/viewer",
"members": ["user:sean@example.com"]
}
]
}
For a description of IAM and its features, see the developer's guide[https://cloud.google.com/iam].
Instance Attribute Summary collapse
-
#bindings ⇒ Array<Google::Iam::V1::Binding>
Associates a list of +members+ to a +role+.
-
#etag ⇒ String
+etag+ is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other.
-
#version ⇒ Integer
Version of the +Policy+.
Instance Attribute Details
#bindings ⇒ Array<Google::Iam::V1::Binding>
Returns Associates a list of +members+ to a +role+. Multiple +bindings+ must not be specified for the same +role+. +bindings+ with no members will result in an error.
69 |
# File 'lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb', line 69 class Policy; end |
#etag ⇒ String
Returns +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.
If no +etag+ is provided in the call to +setIamPolicy+, then the existing policy is overwritten blindly.
69 |
# File 'lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb', line 69 class Policy; end |
#version ⇒ Integer
Returns Version of the +Policy+. The default version is 0.
69 |
# File 'lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb', line 69 class Policy; end |