Class: Google::Apis::AccesscontextmanagerV1::GcpUserAccessBinding

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

Overview

Restricts access to Cloud Console and Google Cloud APIs for a set of users using Context-Aware Access.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GcpUserAccessBinding

Returns a new instance of GcpUserAccessBinding.



1143
1144
1145
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1143

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

Instance Attribute Details

#access_levelsArray<String>

Optional. Access level that a user must have to be granted access. Only one access level is supported, not multiple. This repeated field must have exactly one element. Example: "accessPolicies/9522/accessLevels/device_trusted" Corresponds to the JSON property accessLevels

Returns:

  • (Array<String>)


1086
1087
1088
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1086

def access_levels
  @access_levels
end

#dry_run_access_levelsArray<String>

Optional. Dry run access level that will be evaluated but will not be enforced. The access denial based on dry run policy will be logged. Only one access level is supported, not multiple. This list must have exactly one element. Example: "accessPolicies/9522/accessLevels/device_trusted" Corresponds to the JSON property dryRunAccessLevels

Returns:

  • (Array<String>)


1094
1095
1096
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1094

def dry_run_access_levels
  @dry_run_access_levels
end

#group_keyString

Optional. Immutable. Google Group id whose users are subject to this binding's restrictions. See "id" in the Google Workspace Directory API's Group Resource. If a group's email address/alias is changed, this resource will continue to point at the changed group. This field does not accept group email addresses or aliases. Example: "01d520gv4vjcrht" Corresponds to the JSON property groupKey

Returns:

  • (String)


1104
1105
1106
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1104

def group_key
  @group_key
end

#nameString

Immutable. Assigned by the server during creation. The last segment has an arbitrary length and has only URI unreserved characters (as defined by RFC 3986 Section 2.3). Should not be specified by the client during creation. Example: "organizations/256/ gcpUserAccessBindings/b3-BhcX_Ud5N" Corresponds to the JSON property name

Returns:

  • (String)


1113
1114
1115
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1113

def name
  @name
end

#principalGoogle::Apis::AccesscontextmanagerV1::Principal

The comprehensive identity container supporting identities including groups, service accounts, and federated identities. Only one of them can be set to create an access binding. Corresponds to the JSON property principal



1120
1121
1122
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1120

def principal
  @principal
end

#restricted_client_applicationsArray<Google::Apis::AccesscontextmanagerV1::Application>

Optional. Deprecated: Use scoped_access_settings instead. A list of applications that are subject to this binding's restrictions. If the list is empty, the binding restrictions will universally apply to all applications. Corresponds to the JSON property restrictedClientApplications



1127
1128
1129
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1127

def restricted_client_applications
  @restricted_client_applications
end

#scoped_access_settingsArray<Google::Apis::AccesscontextmanagerV1::ScopedAccessSettings>

Optional. A list of scoped access settings that set this binding's restrictions on a subset of applications. This field cannot be set if restricted_client_applications is set. Corresponds to the JSON property scopedAccessSettings



1134
1135
1136
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1134

def scoped_access_settings
  @scoped_access_settings
end

#session_settingsGoogle::Apis::AccesscontextmanagerV1::SessionSettings

Stores settings related to Google Cloud Session Length including session duration, the type of challenge (i.e. method) they should face when their session expires, and other related settings. Corresponds to the JSON property sessionSettings



1141
1142
1143
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1141

def session_settings
  @session_settings
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1148

def update!(**args)
  @access_levels = args[:access_levels] if args.key?(:access_levels)
  @dry_run_access_levels = args[:dry_run_access_levels] if args.key?(:dry_run_access_levels)
  @group_key = args[:group_key] if args.key?(:group_key)
  @name = args[:name] if args.key?(:name)
  @principal = args[:principal] if args.key?(:principal)
  @restricted_client_applications = args[:restricted_client_applications] if args.key?(:restricted_client_applications)
  @scoped_access_settings = args[:scoped_access_settings] if args.key?(:scoped_access_settings)
  @session_settings = args[:session_settings] if args.key?(:session_settings)
end