aws-sdk-lakeformation 1.26.0 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5baf612c864eedf2679448691dbd96b221097a8133badce1375c76dc0f48297
4
- data.tar.gz: 160f22b141638242a1ec24a16ab1847c7f891814d562171ce74d2aeb5ce79e9e
3
+ metadata.gz: f408a75a960c931b6a2b4c88eae1dd513ad341c7bc8aea2ec42cf7ea8a1dbf90
4
+ data.tar.gz: d90872ab11a0a748f4ca8991e19bcb749f655d4b333f378f9fc04984abe824e1
5
5
  SHA512:
6
- metadata.gz: a68dd4966f4aa25e5425431b5c08de671d2416b97598d4fffa268be176b84e518bc76be181642d2ad42b20d767b9ba8b9ca63e98a61f636bd8069c8b7437e4d8
7
- data.tar.gz: a3ffcafde2bce08b60fb311d71b07fb1125da7cdddf6396b95e23b98d86d2f87976c2e09ed66ac4ae9acb25e277eddd1ca5cd86aba99dd33787fffa31d61b8aa
6
+ metadata.gz: 76de4c2bc9732757c8992d8a85b44cb73d040dfc549007b62aa46557c497f138a3e14de6d437a2364b60672437b2a7100cef2b2e7c97303db992fcdc80b25c63
7
+ data.tar.gz: 68f9c009e40d4cda9a6c5dc43ab3767c49fc662fcb66fc95ae7ee06a429d4000f5ee551491732c8de3b97c31a33cd5b8f75ba143ee76a2686a077853632b20c5
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.27.0 (2022-08-17)
5
+ ------------------
6
+
7
+ * Feature - This release adds a new API support "AssumeDecoratedRoleWithSAML" and also release updates the corresponding documentation.
8
+
4
9
  1.26.0 (2022-03-22)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.26.0
1
+ 1.27.0
@@ -450,6 +450,73 @@ module Aws::LakeFormation
450
450
  req.send_request(options)
451
451
  end
452
452
 
453
+ # Allows a caller to assume an IAM role decorated as the SAML user
454
+ # specified in the SAML assertion included in the request. This
455
+ # decoration allows Lake Formation to enforce access policies against
456
+ # the SAML users and groups. This API operation requires SAML federation
457
+ # setup in the caller’s account as it can only be called with valid SAML
458
+ # assertions. Lake Formation does not scope down the permission of the
459
+ # assumed role. All permissions attached to the role via the SAML
460
+ # federation setup will be included in the role session.
461
+ #
462
+ # This decorated role is expected to access data in Amazon S3 by getting
463
+ # temporary access from Lake Formation which is authorized via the
464
+ # virtual API `GetDataAccess`. Therefore, all SAML roles that can be
465
+ # assumed via `AssumeDecoratedRoleWithSAML` must at a minimum include
466
+ # `lakeformation:GetDataAccess` in their role policies. A typical IAM
467
+ # policy attached to such a role would look as follows:
468
+ #
469
+ # @option params [required, String] :saml_assertion
470
+ # A SAML assertion consisting of an assertion statement for the user who
471
+ # needs temporary credentials. This must match the SAML assertion that
472
+ # was issued to IAM. This must be Base64 encoded.
473
+ #
474
+ # @option params [required, String] :role_arn
475
+ # The role that represents an IAM principal whose scope down policy
476
+ # allows it to call credential vending APIs such as
477
+ # `GetTemporaryTableCredentials`. The caller must also have iam:PassRole
478
+ # permission on this role.
479
+ #
480
+ # @option params [required, String] :principal_arn
481
+ # The Amazon Resource Name (ARN) of the SAML provider in IAM that
482
+ # describes the IdP.
483
+ #
484
+ # @option params [Integer] :duration_seconds
485
+ # The time period, between 900 and 43,200 seconds, for the timeout of
486
+ # the temporary credentials.
487
+ #
488
+ # @return [Types::AssumeDecoratedRoleWithSAMLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
489
+ #
490
+ # * {Types::AssumeDecoratedRoleWithSAMLResponse#access_key_id #access_key_id} => String
491
+ # * {Types::AssumeDecoratedRoleWithSAMLResponse#secret_access_key #secret_access_key} => String
492
+ # * {Types::AssumeDecoratedRoleWithSAMLResponse#session_token #session_token} => String
493
+ # * {Types::AssumeDecoratedRoleWithSAMLResponse#expiration #expiration} => Time
494
+ #
495
+ # @example Request syntax with placeholder values
496
+ #
497
+ # resp = client.assume_decorated_role_with_saml({
498
+ # saml_assertion: "SAMLAssertionString", # required
499
+ # role_arn: "IAMRoleArn", # required
500
+ # principal_arn: "IAMSAMLProviderArn", # required
501
+ # duration_seconds: 1,
502
+ # })
503
+ #
504
+ # @example Response structure
505
+ #
506
+ # resp.access_key_id #=> String
507
+ # resp.secret_access_key #=> String
508
+ # resp.session_token #=> String
509
+ # resp.expiration #=> Time
510
+ #
511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AssumeDecoratedRoleWithSAML AWS API Documentation
512
+ #
513
+ # @overload assume_decorated_role_with_saml(params = {})
514
+ # @param [Hash] params ({})
515
+ def assume_decorated_role_with_saml(params = {}, options = {})
516
+ req = build_request(:assume_decorated_role_with_saml, params)
517
+ req.send_request(options)
518
+ end
519
+
453
520
  # Batch operation to grant permissions to the principal.
454
521
  #
455
522
  # @option params [String] :catalog_id
@@ -868,13 +935,12 @@ module Aws::LakeFormation
868
935
  req.send_request(options)
869
936
  end
870
937
 
871
- # Deletes the specified LF-tag key name. If the attribute key does not
872
- # exist or the LF-tag does not exist, then the operation will not do
873
- # anything. If the attribute key exists, then the operation checks if
874
- # any resources are tagged with this attribute key, if yes, the API
875
- # throws a 400 Exception with the message "Delete not allowed" as the
876
- # LF-tag key is still attached with resources. You can consider
877
- # untagging resources with this LF-tag key.
938
+ # Deletes the specified LF-tag given a key name. If the input parameter
939
+ # tag key was not found, then the operation will throw an exception.
940
+ # When you delete an LF-tag, the `LFTagPolicy` attached to the LF-tag
941
+ # becomes invalid. If the deleted LF-tag was still assigned to any
942
+ # resource, the tag policy attach to the deleted LF-tag will no longer
943
+ # be applied to the resource.
878
944
  #
879
945
  # @option params [String] :catalog_id
880
946
  # The identifier for the Data Catalog. By default, the account ID. The
@@ -3018,7 +3084,7 @@ module Aws::LakeFormation
3018
3084
  params: params,
3019
3085
  config: config)
3020
3086
  context[:gem_name] = 'aws-sdk-lakeformation'
3021
- context[:gem_version] = '1.26.0'
3087
+ context[:gem_version] = '1.27.0'
3022
3088
  Seahorse::Client::Request.new(handlers, context)
3023
3089
  end
3024
3090
 
@@ -20,6 +20,8 @@ module Aws::LakeFormation
20
20
  AddObjectInput = Shapes::StructureShape.new(name: 'AddObjectInput')
21
21
  AllRowsWildcard = Shapes::StructureShape.new(name: 'AllRowsWildcard')
22
22
  AlreadyExistsException = Shapes::StructureShape.new(name: 'AlreadyExistsException')
23
+ AssumeDecoratedRoleWithSAMLRequest = Shapes::StructureShape.new(name: 'AssumeDecoratedRoleWithSAMLRequest')
24
+ AssumeDecoratedRoleWithSAMLResponse = Shapes::StructureShape.new(name: 'AssumeDecoratedRoleWithSAMLResponse')
23
25
  AuditContext = Shapes::StructureShape.new(name: 'AuditContext')
24
26
  AuditContextString = Shapes::StringShape.new(name: 'AuditContextString')
25
27
  AuthorizedSessionTagValueList = Shapes::ListShape.new(name: 'AuthorizedSessionTagValueList')
@@ -120,6 +122,7 @@ module Aws::LakeFormation
120
122
  GrantPermissionsRequest = Shapes::StructureShape.new(name: 'GrantPermissionsRequest')
121
123
  GrantPermissionsResponse = Shapes::StructureShape.new(name: 'GrantPermissionsResponse')
122
124
  IAMRoleArn = Shapes::StringShape.new(name: 'IAMRoleArn')
125
+ IAMSAMLProviderArn = Shapes::StringShape.new(name: 'IAMSAMLProviderArn')
123
126
  Identifier = Shapes::StringShape.new(name: 'Identifier')
124
127
  Integer = Shapes::IntegerShape.new(name: 'Integer')
125
128
  InternalServiceException = Shapes::StructureShape.new(name: 'InternalServiceException')
@@ -198,6 +201,7 @@ module Aws::LakeFormation
198
201
  RevokePermissionsRequest = Shapes::StructureShape.new(name: 'RevokePermissionsRequest')
199
202
  RevokePermissionsResponse = Shapes::StructureShape.new(name: 'RevokePermissionsResponse')
200
203
  RowFilter = Shapes::StructureShape.new(name: 'RowFilter')
204
+ SAMLAssertionString = Shapes::StringShape.new(name: 'SAMLAssertionString')
201
205
  SearchDatabasesByLFTagsRequest = Shapes::StructureShape.new(name: 'SearchDatabasesByLFTagsRequest')
202
206
  SearchDatabasesByLFTagsResponse = Shapes::StructureShape.new(name: 'SearchDatabasesByLFTagsResponse')
203
207
  SearchTablesByLFTagsRequest = Shapes::StructureShape.new(name: 'SearchTablesByLFTagsRequest')
@@ -287,6 +291,18 @@ module Aws::LakeFormation
287
291
  AlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: MessageString, location_name: "Message"))
288
292
  AlreadyExistsException.struct_class = Types::AlreadyExistsException
289
293
 
294
+ AssumeDecoratedRoleWithSAMLRequest.add_member(:saml_assertion, Shapes::ShapeRef.new(shape: SAMLAssertionString, required: true, location_name: "SAMLAssertion"))
295
+ AssumeDecoratedRoleWithSAMLRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "RoleArn"))
296
+ AssumeDecoratedRoleWithSAMLRequest.add_member(:principal_arn, Shapes::ShapeRef.new(shape: IAMSAMLProviderArn, required: true, location_name: "PrincipalArn"))
297
+ AssumeDecoratedRoleWithSAMLRequest.add_member(:duration_seconds, Shapes::ShapeRef.new(shape: CredentialTimeoutDurationSecondInteger, location_name: "DurationSeconds"))
298
+ AssumeDecoratedRoleWithSAMLRequest.struct_class = Types::AssumeDecoratedRoleWithSAMLRequest
299
+
300
+ AssumeDecoratedRoleWithSAMLResponse.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdString, location_name: "AccessKeyId"))
301
+ AssumeDecoratedRoleWithSAMLResponse.add_member(:secret_access_key, Shapes::ShapeRef.new(shape: SecretAccessKeyString, location_name: "SecretAccessKey"))
302
+ AssumeDecoratedRoleWithSAMLResponse.add_member(:session_token, Shapes::ShapeRef.new(shape: SessionTokenString, location_name: "SessionToken"))
303
+ AssumeDecoratedRoleWithSAMLResponse.add_member(:expiration, Shapes::ShapeRef.new(shape: ExpirationTimestamp, location_name: "Expiration"))
304
+ AssumeDecoratedRoleWithSAMLResponse.struct_class = Types::AssumeDecoratedRoleWithSAMLResponse
305
+
290
306
  AuditContext.add_member(:additional_audit_context, Shapes::ShapeRef.new(shape: AuditContextString, location_name: "AdditionalAuditContext"))
291
307
  AuditContext.struct_class = Types::AuditContext
292
308
 
@@ -1007,6 +1023,19 @@ module Aws::LakeFormation
1007
1023
  o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1008
1024
  end)
1009
1025
 
1026
+ api.add_operation(:assume_decorated_role_with_saml, Seahorse::Model::Operation.new.tap do |o|
1027
+ o.name = "AssumeDecoratedRoleWithSAML"
1028
+ o.http_method = "POST"
1029
+ o.http_request_uri = "/AssumeDecoratedRoleWithSAML"
1030
+ o.input = Shapes::ShapeRef.new(shape: AssumeDecoratedRoleWithSAMLRequest)
1031
+ o.output = Shapes::ShapeRef.new(shape: AssumeDecoratedRoleWithSAMLResponse)
1032
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1033
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1034
+ o.errors << Shapes::ShapeRef.new(shape: OperationTimeoutException)
1035
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1036
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1037
+ end)
1038
+
1010
1039
  api.add_operation(:batch_grant_permissions, Seahorse::Model::Operation.new.tap do |o|
1011
1040
  o.name = "BatchGrantPermissions"
1012
1041
  o.http_method = "POST"
@@ -192,6 +192,79 @@ module Aws::LakeFormation
192
192
  include Aws::Structure
193
193
  end
194
194
 
195
+ # @note When making an API call, you may pass AssumeDecoratedRoleWithSAMLRequest
196
+ # data as a hash:
197
+ #
198
+ # {
199
+ # saml_assertion: "SAMLAssertionString", # required
200
+ # role_arn: "IAMRoleArn", # required
201
+ # principal_arn: "IAMSAMLProviderArn", # required
202
+ # duration_seconds: 1,
203
+ # }
204
+ #
205
+ # @!attribute [rw] saml_assertion
206
+ # A SAML assertion consisting of an assertion statement for the user
207
+ # who needs temporary credentials. This must match the SAML assertion
208
+ # that was issued to IAM. This must be Base64 encoded.
209
+ # @return [String]
210
+ #
211
+ # @!attribute [rw] role_arn
212
+ # The role that represents an IAM principal whose scope down policy
213
+ # allows it to call credential vending APIs such as
214
+ # `GetTemporaryTableCredentials`. The caller must also have
215
+ # iam:PassRole permission on this role.
216
+ # @return [String]
217
+ #
218
+ # @!attribute [rw] principal_arn
219
+ # The Amazon Resource Name (ARN) of the SAML provider in IAM that
220
+ # describes the IdP.
221
+ # @return [String]
222
+ #
223
+ # @!attribute [rw] duration_seconds
224
+ # The time period, between 900 and 43,200 seconds, for the timeout of
225
+ # the temporary credentials.
226
+ # @return [Integer]
227
+ #
228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AssumeDecoratedRoleWithSAMLRequest AWS API Documentation
229
+ #
230
+ class AssumeDecoratedRoleWithSAMLRequest < Struct.new(
231
+ :saml_assertion,
232
+ :role_arn,
233
+ :principal_arn,
234
+ :duration_seconds)
235
+ SENSITIVE = []
236
+ include Aws::Structure
237
+ end
238
+
239
+ # @!attribute [rw] access_key_id
240
+ # The access key ID for the temporary credentials. (The access key
241
+ # consists of an access key ID and a secret key).
242
+ # @return [String]
243
+ #
244
+ # @!attribute [rw] secret_access_key
245
+ # The secret key for the temporary credentials. (The access key
246
+ # consists of an access key ID and a secret key).
247
+ # @return [String]
248
+ #
249
+ # @!attribute [rw] session_token
250
+ # The session token for the temporary credentials.
251
+ # @return [String]
252
+ #
253
+ # @!attribute [rw] expiration
254
+ # The date and time when the temporary credentials expire.
255
+ # @return [Time]
256
+ #
257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/AssumeDecoratedRoleWithSAMLResponse AWS API Documentation
258
+ #
259
+ class AssumeDecoratedRoleWithSAMLResponse < Struct.new(
260
+ :access_key_id,
261
+ :secret_access_key,
262
+ :session_token,
263
+ :expiration)
264
+ SENSITIVE = []
265
+ include Aws::Structure
266
+ end
267
+
195
268
  # A structure used to include auditing information on the privileged
196
269
  # API.
197
270
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-lakeformation/customizations'
48
48
  # @!group service
49
49
  module Aws::LakeFormation
50
50
 
51
- GEM_VERSION = '1.26.0'
51
+ GEM_VERSION = '1.27.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-lakeformation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.26.0
4
+ version: 1.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-22 00:00:00.000000000 Z
11
+ date: 2022-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core