aws-sdk-core 3.210.0 → 3.217.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +75 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +1 -2
  5. data/lib/aws-sdk-core/arn.rb +1 -3
  6. data/lib/aws-sdk-core/cbor/decoder.rb +0 -2
  7. data/lib/aws-sdk-core/cbor/encoder.rb +2 -2
  8. data/lib/aws-sdk-core/cbor.rb +3 -56
  9. data/lib/aws-sdk-core/client_stubs.rb +7 -7
  10. data/lib/aws-sdk-core/json/error_handler.rb +2 -1
  11. data/lib/aws-sdk-core/json/handler.rb +1 -0
  12. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  13. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -170
  14. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -8
  15. data/lib/aws-sdk-core/plugins/sign.rb +1 -1
  16. data/lib/aws-sdk-core/plugins/user_agent.rb +10 -1
  17. data/lib/aws-sdk-core/rest/request/headers.rb +2 -2
  18. data/lib/aws-sdk-core/rpc_v2/builder.rb +1 -1
  19. data/lib/aws-sdk-core/{cbor → rpc_v2}/cbor_engine.rb +4 -5
  20. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +3 -1
  21. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +3 -2
  22. data/lib/aws-sdk-core/rpc_v2/handler.rb +2 -1
  23. data/lib/aws-sdk-core/rpc_v2/parser.rb +1 -1
  24. data/lib/aws-sdk-core/rpc_v2.rb +65 -2
  25. data/lib/aws-sdk-core/shared_config.rb +2 -0
  26. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  27. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  28. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  29. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  30. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  31. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  32. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +13 -15
  33. data/lib/aws-sdk-core/stubbing.rb +2 -2
  34. data/lib/aws-sdk-sso/client.rb +24 -1
  35. data/lib/aws-sdk-sso.rb +1 -1
  36. data/lib/aws-sdk-ssooidc/client.rb +48 -19
  37. data/lib/aws-sdk-ssooidc/types.rb +20 -15
  38. data/lib/aws-sdk-ssooidc.rb +1 -1
  39. data/lib/aws-sdk-sts/client.rb +231 -52
  40. data/lib/aws-sdk-sts/client_api.rb +23 -0
  41. data/lib/aws-sdk-sts/types.rb +170 -28
  42. data/lib/aws-sdk-sts.rb +1 -1
  43. data/lib/seahorse/client/response.rb +2 -0
  44. metadata +3 -3
@@ -64,34 +64,32 @@ module Aws::SSOOIDC
64
64
  # @return [String]
65
65
  #
66
66
  # @!attribute [rw] grant_type
67
- # Supports the following OAuth grant types: Device Code and Refresh
68
- # Token. Specify either of the following values, depending on the
69
- # grant type that you want:
67
+ # Supports the following OAuth grant types: Authorization Code, Device
68
+ # Code, and Refresh Token. Specify one of the following values,
69
+ # depending on the grant type that you want:
70
+ #
71
+ # * Authorization Code - `authorization_code`
70
72
  #
71
73
  # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
72
74
  #
73
75
  # * Refresh Token - `refresh_token`
74
- #
75
- # For information about how to obtain the device code, see the
76
- # StartDeviceAuthorization topic.
77
76
  # @return [String]
78
77
  #
79
78
  # @!attribute [rw] device_code
80
79
  # Used only when calling this API for the Device Code grant type. This
81
- # short-term code is used to identify this authorization request. This
82
- # comes from the result of the StartDeviceAuthorization API.
80
+ # short-lived code is used to identify this authorization request.
81
+ # This comes from the result of the StartDeviceAuthorization API.
83
82
  # @return [String]
84
83
  #
85
84
  # @!attribute [rw] code
86
85
  # Used only when calling this API for the Authorization Code grant
87
- # type. The short-term code is used to identify this authorization
88
- # request. This grant type is currently unsupported for the
89
- # CreateToken API.
86
+ # type. The short-lived code is used to identify this authorization
87
+ # request.
90
88
  # @return [String]
91
89
  #
92
90
  # @!attribute [rw] refresh_token
93
91
  # Used only when calling this API for the Refresh Token grant type.
94
- # This token is used to refresh short-term tokens, such as the access
92
+ # This token is used to refresh short-lived tokens, such as the access
95
93
  # token, that might expire.
96
94
  #
97
95
  # For more information about the features and limitations of the
@@ -217,7 +215,7 @@ module Aws::SSOOIDC
217
215
  #
218
216
  # @!attribute [rw] code
219
217
  # Used only when calling this API for the Authorization Code grant
220
- # type. This short-term code is used to identify this authorization
218
+ # type. This short-lived code is used to identify this authorization
221
219
  # request. The code is obtained through a redirect from IAM Identity
222
220
  # Center to a redirect URI persisted in the Authorization Code
223
221
  # GrantOptions for the application.
@@ -225,7 +223,7 @@ module Aws::SSOOIDC
225
223
  #
226
224
  # @!attribute [rw] refresh_token
227
225
  # Used only when calling this API for the Refresh Token grant type.
228
- # This token is used to refresh short-term tokens, such as the access
226
+ # This token is used to refresh short-lived tokens, such as the access
229
227
  # token, that might expire.
230
228
  #
231
229
  # For more information about the features and limitations of the
@@ -606,7 +604,14 @@ module Aws::SSOOIDC
606
604
  # @!attribute [rw] grant_types
607
605
  # The list of OAuth 2.0 grant types that are defined by the client.
608
606
  # This list is used to restrict the token granting flows available to
609
- # the client.
607
+ # the client. Supports the following OAuth 2.0 grant types:
608
+ # Authorization Code, Device Code, and Refresh Token.
609
+ #
610
+ # * Authorization Code - `authorization_code`
611
+ #
612
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
613
+ #
614
+ # * Refresh Token - `refresh_token`
610
615
  # @return [Array<String>]
611
616
  #
612
617
  # @!attribute [rw] issuer_url
@@ -56,7 +56,7 @@ module Aws::SSOOIDC
56
56
  autoload :EndpointProvider, 'aws-sdk-ssooidc/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-ssooidc/endpoints'
58
58
 
59
- GEM_VERSION = '3.210.0'
59
+ GEM_VERSION = '3.217.1'
60
60
 
61
61
  end
62
62
 
@@ -259,11 +259,34 @@ module Aws::STS
259
259
  # Used when loading credentials from the shared credentials file
260
260
  # at HOME/.aws/credentials. When not specified, 'default' is used.
261
261
  #
262
+ # @option options [String] :request_checksum_calculation ("when_supported")
263
+ # Determines when a checksum will be calculated for request payloads. Values are:
264
+ #
265
+ # * `when_supported` - (default) When set, a checksum will be
266
+ # calculated for all request payloads of operations modeled with the
267
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
268
+ # `requestAlgorithmMember` is modeled.
269
+ # * `when_required` - When set, a checksum will only be calculated for
270
+ # request payloads of operations modeled with the `httpChecksum` trait where
271
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
272
+ # is modeled and supplied.
273
+ #
262
274
  # @option options [Integer] :request_min_compression_size_bytes (10240)
263
275
  # The minimum size in bytes that triggers compression for request
264
276
  # bodies. The value must be non-negative integer value between 0
265
277
  # and 10485780 bytes inclusive.
266
278
  #
279
+ # @option options [String] :response_checksum_validation ("when_supported")
280
+ # Determines when checksum validation will be performed on response payloads. Values are:
281
+ #
282
+ # * `when_supported` - (default) When set, checksum validation is performed on all
283
+ # response payloads of operations modeled with the `httpChecksum` trait where
284
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
285
+ # are supported.
286
+ # * `when_required` - When set, checksum validation is not performed on
287
+ # response payloads of operations unless the checksum algorithm is supported and
288
+ # the `requestValidationModeMember` member is set to `ENABLED`.
289
+ #
267
290
  # @option options [Proc] :retry_backoff
268
291
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
269
292
  # This option is only used in the `legacy` retry mode.
@@ -460,8 +483,8 @@ module Aws::STS
460
483
  # token. Typically, you use `AssumeRole` within your account or for
461
484
  # cross-account access. For a comparison of `AssumeRole` with other API
462
485
  # operations that produce temporary credentials, see [Requesting
463
- # Temporary Security Credentials][1] and [Comparing the Amazon Web
464
- # Services STS API operations][2] in the *IAM User Guide*.
486
+ # Temporary Security Credentials][1] and [Compare STS credentials][2] in
487
+ # the *IAM User Guide*.
465
488
  #
466
489
  # **Permissions**
467
490
  #
@@ -470,9 +493,9 @@ module Aws::STS
470
493
  # following exception: You cannot call the Amazon Web Services STS
471
494
  # `GetFederationToken` or `GetSessionToken` API operations.
472
495
  #
473
- # (Optional) You can pass inline or managed [session policies][3] to
474
- # this operation. You can pass a single JSON policy document to use as
475
- # an inline session policy. You can also specify up to 10 managed policy
496
+ # (Optional) You can pass inline or managed session policies to this
497
+ # operation. You can pass a single JSON policy document to use as an
498
+ # inline session policy. You can also specify up to 10 managed policy
476
499
  # Amazon Resource Names (ARNs) to use as managed session policies. The
477
500
  # plaintext that you use for both inline and managed session policies
478
501
  # can't exceed 2,048 characters. Passing policies to this operation
@@ -545,7 +568,7 @@ module Aws::STS
545
568
  # denied. The condition in a trust policy that tests for MFA
546
569
  # authentication might look like the following example.
547
570
  #
548
- # `"Condition": \{"Bool": \{"aws:MultiFactorAuthPresent": true\}\}`
571
+ # `"Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}`
549
572
  #
550
573
  # For more information, see [Configuring MFA-Protected API Access][8] in
551
574
  # the *IAM User Guide* guide.
@@ -558,7 +581,7 @@ module Aws::STS
558
581
  #
559
582
  #
560
583
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
561
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
584
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html
562
585
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
563
586
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
564
587
  # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
@@ -581,11 +604,22 @@ module Aws::STS
581
604
  # credentials will expose the role session name to the external account
582
605
  # in their CloudTrail logs.
583
606
  #
607
+ # For security purposes, administrators can view this field in
608
+ # [CloudTrail logs][1] to help identify who performed an action in
609
+ # Amazon Web Services. Your administrator might require that you specify
610
+ # your user name as the session name when you assume the role. For more
611
+ # information, see [ `sts:RoleSessionName` ][2].
612
+ #
584
613
  # The regex used to validate this parameter is a string of characters
585
614
  # consisting of upper- and lower-case alphanumeric characters with no
586
615
  # spaces. You can also include underscores or any of the following
587
616
  # characters: =,.@-
588
617
  #
618
+ #
619
+ #
620
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html#cloudtrail-integration_signin-tempcreds
621
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname
622
+ #
589
623
  # @option params [Array<Types::PolicyDescriptorType>] :policy_arns
590
624
  # The Amazon Resource Names (ARNs) of the IAM managed policies that you
591
625
  # want to use as managed session policies. The policies must exist in
@@ -651,6 +685,9 @@ module Aws::STS
651
685
  #
652
686
  # </note>
653
687
  #
688
+ # For more information about role session permissions, see [Session
689
+ # policies][1].
690
+ #
654
691
  #
655
692
  #
656
693
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
@@ -673,9 +710,8 @@ module Aws::STS
673
710
  # depending on the maximum session duration setting for your role.
674
711
  # However, if you assume a role using role chaining and provide a
675
712
  # `DurationSeconds` parameter value greater than one hour, the operation
676
- # fails. To learn how to view the maximum value for your role, see [View
677
- # the Maximum Session Duration Setting for a Role][1] in the *IAM User
678
- # Guide*.
713
+ # fails. To learn how to view the maximum value for your role, see
714
+ # [Update the maximum session duration for a role][1].
679
715
  #
680
716
  # By default, the value is set to `3600` seconds.
681
717
  #
@@ -691,7 +727,7 @@ module Aws::STS
691
727
  #
692
728
  #
693
729
  #
694
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
730
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-settings.html#id_roles_update-session-duration
695
731
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
696
732
  #
697
733
  # @option params [Array<Types::Tag>] :tags
@@ -744,9 +780,8 @@ module Aws::STS
744
780
  # passes to subsequent sessions in a role chain. For more information,
745
781
  # see [Chaining Roles with Session Tags][1] in the *IAM User Guide*.
746
782
  #
747
- # This parameter is optional. When you set session tags as transitive,
748
- # the session policy and session tags packed binary limit is not
749
- # affected.
783
+ # This parameter is optional. The transitive status of a session tag
784
+ # does not impact its packed binary size.
750
785
  #
751
786
  # If you choose not to specify a transitive tag key, then no tags are
752
787
  # passed from this session to any subsequent sessions.
@@ -804,26 +839,29 @@ module Aws::STS
804
839
  #
805
840
  # @option params [String] :source_identity
806
841
  # The source identity specified by the principal that is calling the
807
- # `AssumeRole` operation.
842
+ # `AssumeRole` operation. The source identity value persists across
843
+ # [chained role][1] sessions.
808
844
  #
809
845
  # You can require users to specify a source identity when they assume a
810
- # role. You do this by using the `sts:SourceIdentity` condition key in a
811
- # role trust policy. You can use source identity information in
846
+ # role. You do this by using the [ `sts:SourceIdentity` ][2] condition
847
+ # key in a role trust policy. You can use source identity information in
812
848
  # CloudTrail logs to determine who took actions with a role. You can use
813
849
  # the `aws:SourceIdentity` condition key to further control access to
814
850
  # Amazon Web Services resources based on the value of source identity.
815
851
  # For more information about using source identity, see [Monitor and
816
- # control actions taken with assumed roles][1] in the *IAM User Guide*.
852
+ # control actions taken with assumed roles][3] in the *IAM User Guide*.
817
853
  #
818
854
  # The regex used to validate this parameter is a string of characters
819
855
  # consisting of upper- and lower-case alphanumeric characters with no
820
856
  # spaces. You can also include underscores or any of the following
821
- # characters: =,.@-. You cannot use a value that begins with the text
857
+ # characters: +=,.@-. You cannot use a value that begins with the text
822
858
  # `aws:`. This prefix is reserved for Amazon Web Services internal use.
823
859
  #
824
860
  #
825
861
  #
826
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
862
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-role-chaining
863
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceidentity
864
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
827
865
  #
828
866
  # @option params [Array<Types::ProvidedContext>] :provided_contexts
829
867
  # A list of previously acquired trusted context assertions in the format
@@ -834,7 +872,7 @@ module Aws::STS
834
872
  # a single trusted context assertion and the ARN of the context provider
835
873
  # from which the trusted context assertion was generated.
836
874
  #
837
- # `[\{"ProviderArn":"arn:aws:iam::aws:contextProvider/IdentityCenter","ContextAssertion":"trusted-context-assertion"\}]`
875
+ # `[{"ProviderArn":"arn:aws:iam::aws:contextProvider/IdentityCenter","ContextAssertion":"trusted-context-assertion"}]`
838
876
  #
839
877
  # @return [Types::AssumeRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
840
878
  #
@@ -944,8 +982,8 @@ module Aws::STS
944
982
  # user-specific credentials or configuration. For a comparison of
945
983
  # `AssumeRoleWithSAML` with the other API operations that produce
946
984
  # temporary credentials, see [Requesting Temporary Security
947
- # Credentials][1] and [Comparing the Amazon Web Services STS API
948
- # operations][2] in the *IAM User Guide*.
985
+ # Credentials][1] and [Compare STS credentials][2] in the *IAM User
986
+ # Guide*.
949
987
  #
950
988
  # The temporary security credentials returned by this operation consist
951
989
  # of an access key ID, a secret access key, and a security token.
@@ -1075,7 +1113,7 @@ module Aws::STS
1075
1113
  #
1076
1114
  #
1077
1115
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1078
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1116
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html
1079
1117
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1080
1118
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1081
1119
  # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-role-chaining
@@ -1163,6 +1201,9 @@ module Aws::STS
1163
1201
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1164
1202
  # characters.
1165
1203
  #
1204
+ # For more information about role session permissions, see [Session
1205
+ # policies][1].
1206
+ #
1166
1207
  # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1167
1208
  # policy, managed policy ARNs, and session tags into a packed binary
1168
1209
  # format that has a separate limit. Your request can fail for this limit
@@ -1317,8 +1358,8 @@ module Aws::STS
1317
1358
  # a token from the web identity provider. For a comparison of
1318
1359
  # `AssumeRoleWithWebIdentity` with the other API operations that produce
1319
1360
  # temporary credentials, see [Requesting Temporary Security
1320
- # Credentials][4] and [Comparing the Amazon Web Services STS API
1321
- # operations][5] in the *IAM User Guide*.
1361
+ # Credentials][4] and [Compare STS credentials][5] in the *IAM User
1362
+ # Guide*.
1322
1363
  #
1323
1364
  # The temporary security credentials returned by this API consist of an
1324
1365
  # access key ID, a secret access key, and a security token. Applications
@@ -1333,9 +1374,9 @@ module Aws::STS
1333
1374
  # your session. You can provide a value from 900 seconds (15 minutes) up
1334
1375
  # to the maximum session duration setting for the role. This setting can
1335
1376
  # have a value from 1 hour to 12 hours. To learn how to view the maximum
1336
- # value for your role, see [View the Maximum Session Duration Setting
1337
- # for a Role][6] in the *IAM User Guide*. The maximum session duration
1338
- # limit applies when you use the `AssumeRole*` API operations or the
1377
+ # value for your role, see [Update the maximum session duration for a
1378
+ # role ][6] in the *IAM User Guide*. The maximum session duration limit
1379
+ # applies when you use the `AssumeRole*` API operations or the
1339
1380
  # `assume-role*` CLI commands. However the limit does not apply when you
1340
1381
  # use those operations to create a console URL. For more information,
1341
1382
  # see [Using IAM Roles][7] in the *IAM User Guide*.
@@ -1413,35 +1454,26 @@ module Aws::STS
1413
1454
  # instead use a GUID or a pairwise identifier, as [suggested in the OIDC
1414
1455
  # specification][14].
1415
1456
  #
1416
- # For more information about how to use web identity federation and the
1457
+ # For more information about how to use OIDC federation and the
1417
1458
  # `AssumeRoleWithWebIdentity` API, see the following resources:
1418
1459
  #
1419
1460
  # * [Using Web Identity Federation API Operations for Mobile Apps][15]
1420
1461
  # and [Federation Through a Web-based Identity Provider][16].
1421
1462
  #
1422
- # * [ Web Identity Federation Playground][17]. Walk through the process
1423
- # of authenticating through Login with Amazon, Facebook, or Google,
1424
- # getting temporary security credentials, and then using those
1425
- # credentials to make a request to Amazon Web Services.
1426
- #
1427
1463
  # * [Amazon Web Services SDK for iOS Developer Guide][2] and [Amazon Web
1428
1464
  # Services SDK for Android Developer Guide][3]. These toolkits contain
1429
1465
  # sample apps that show how to invoke the identity providers. The
1430
1466
  # toolkits then show how to use the information from these providers
1431
1467
  # to get and use temporary security credentials.
1432
1468
  #
1433
- # * [Web Identity Federation with Mobile Applications][18]. This article
1434
- # discusses web identity federation and shows an example of how to use
1435
- # web identity federation to get access to content in Amazon S3.
1436
- #
1437
1469
  #
1438
1470
  #
1439
1471
  # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html
1440
1472
  # [2]: http://aws.amazon.com/sdkforios/
1441
1473
  # [3]: http://aws.amazon.com/sdkforandroid/
1442
1474
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1443
- # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1444
- # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1475
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html
1476
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-settings.html#id_roles_update-session-duration
1445
1477
  # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1446
1478
  # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1447
1479
  # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
@@ -1452,13 +1484,29 @@ module Aws::STS
1452
1484
  # [14]: http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
1453
1485
  # [15]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html
1454
1486
  # [16]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1455
- # [17]: https://aws.amazon.com/blogs/aws/the-aws-web-identity-federation-playground/
1456
- # [18]: http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications
1457
1487
  #
1458
1488
  # @option params [required, String] :role_arn
1459
1489
  # The Amazon Resource Name (ARN) of the role that the caller is
1460
1490
  # assuming.
1461
1491
  #
1492
+ # <note markdown="1"> Additional considerations apply to Amazon Cognito identity pools that
1493
+ # assume [cross-account IAM roles][1]. The trust policies of these roles
1494
+ # must accept the `cognito-identity.amazonaws.com` service principal and
1495
+ # must contain the `cognito-identity.amazonaws.com:aud` condition key to
1496
+ # restrict role assumption to users from your intended identity pools. A
1497
+ # policy that trusts Amazon Cognito identity pools without this
1498
+ # condition creates a risk that a user from an unintended identity pool
1499
+ # can assume the role. For more information, see [ Trust policies for
1500
+ # IAM roles in Basic (Classic) authentication ][2] in the *Amazon
1501
+ # Cognito Developer Guide*.
1502
+ #
1503
+ # </note>
1504
+ #
1505
+ #
1506
+ #
1507
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html
1508
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#trust-policies
1509
+ #
1462
1510
  # @option params [required, String] :role_session_name
1463
1511
  # An identifier for the assumed role session. Typically, you pass the
1464
1512
  # name or identifier that is associated with the user who is using your
@@ -1467,18 +1515,31 @@ module Aws::STS
1467
1515
  # is included as part of the ARN and assumed role ID in the
1468
1516
  # `AssumedRoleUser` response element.
1469
1517
  #
1518
+ # For security purposes, administrators can view this field in
1519
+ # [CloudTrail logs][1] to help identify who performed an action in
1520
+ # Amazon Web Services. Your administrator might require that you specify
1521
+ # your user name as the session name when you assume the role. For more
1522
+ # information, see [ `sts:RoleSessionName` ][2].
1523
+ #
1470
1524
  # The regex used to validate this parameter is a string of characters
1471
1525
  # consisting of upper- and lower-case alphanumeric characters with no
1472
1526
  # spaces. You can also include underscores or any of the following
1473
1527
  # characters: =,.@-
1474
1528
  #
1529
+ #
1530
+ #
1531
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html#cloudtrail-integration_signin-tempcreds
1532
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname
1533
+ #
1475
1534
  # @option params [required, String] :web_identity_token
1476
1535
  # The OAuth 2.0 access token or OpenID Connect ID token that is provided
1477
1536
  # by the identity provider. Your application must get this token by
1478
1537
  # authenticating the user who is using your application with a web
1479
1538
  # identity provider before the application makes an
1480
- # `AssumeRoleWithWebIdentity` call. Only tokens with RSA algorithms
1481
- # (RS256) are supported.
1539
+ # `AssumeRoleWithWebIdentity` call. Timestamps in the token must be
1540
+ # formatted as either an integer or a long integer. Tokens must be
1541
+ # signed using either RSA keys (RS256, RS384, or RS512) or ECDSA keys
1542
+ # (ES256, ES384, or ES512).
1482
1543
  #
1483
1544
  # @option params [String] :provider_id
1484
1545
  # The fully qualified host component of the domain name of the OAuth 2.0
@@ -1547,6 +1608,9 @@ module Aws::STS
1547
1608
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1548
1609
  # characters.
1549
1610
  #
1611
+ # For more information about role session permissions, see [Session
1612
+ # policies][1].
1613
+ #
1550
1614
  # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1551
1615
  # policy, managed policy ARNs, and session tags into a packed binary
1552
1616
  # format that has a separate limit. Your request can fail for this limit
@@ -1667,6 +1731,121 @@ module Aws::STS
1667
1731
  req.send_request(options)
1668
1732
  end
1669
1733
 
1734
+ # Returns a set of short term credentials you can use to perform
1735
+ # privileged tasks on a member account in your organization.
1736
+ #
1737
+ # Before you can launch a privileged session, you must have centralized
1738
+ # root access in your organization. For steps to enable this feature,
1739
+ # see [Centralize root access for member accounts][1] in the *IAM User
1740
+ # Guide*.
1741
+ #
1742
+ # <note markdown="1"> The STS global endpoint is not supported for AssumeRoot. You must send
1743
+ # this request to a Regional STS endpoint. For more information, see
1744
+ # [Endpoints][2].
1745
+ #
1746
+ # </note>
1747
+ #
1748
+ # You can track AssumeRoot in CloudTrail logs to determine what actions
1749
+ # were performed in a session. For more information, see [Track
1750
+ # privileged tasks in CloudTrail][3] in the *IAM User Guide*.
1751
+ #
1752
+ #
1753
+ #
1754
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-enable-root-access.html
1755
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html#sts-endpoints
1756
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-track-privileged-tasks.html
1757
+ #
1758
+ # @option params [required, String] :target_principal
1759
+ # The member account principal ARN or account ID.
1760
+ #
1761
+ # @option params [required, Types::PolicyDescriptorType] :task_policy_arn
1762
+ # The identity based policy that scopes the session to the privileged
1763
+ # tasks that can be performed. You can use one of following Amazon Web
1764
+ # Services managed policies to scope root session actions.
1765
+ #
1766
+ # * [IAMAuditRootUserCredentials][1]
1767
+ #
1768
+ # * [IAMCreateRootUserPassword][2]
1769
+ #
1770
+ # * [IAMDeleteRootUserCredentials][3]
1771
+ #
1772
+ # * [S3UnlockBucketPolicy][4]
1773
+ #
1774
+ # * [SQSUnlockQueuePolicy][5]
1775
+ #
1776
+ #
1777
+ #
1778
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMAuditRootUserCredentials
1779
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMCreateRootUserPassword
1780
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMDeleteRootUserCredentials
1781
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-S3UnlockBucketPolicy
1782
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-SQSUnlockQueuePolicy
1783
+ #
1784
+ # @option params [Integer] :duration_seconds
1785
+ # The duration, in seconds, of the privileged session. The value can
1786
+ # range from 0 seconds up to the maximum session duration of 900 seconds
1787
+ # (15 minutes). If you specify a value higher than this setting, the
1788
+ # operation fails.
1789
+ #
1790
+ # By default, the value is set to `900` seconds.
1791
+ #
1792
+ # @return [Types::AssumeRootResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1793
+ #
1794
+ # * {Types::AssumeRootResponse#credentials #credentials} => Types::Credentials
1795
+ # * {Types::AssumeRootResponse#source_identity #source_identity} => String
1796
+ #
1797
+ #
1798
+ # @example Example: To launch a privileged session
1799
+ #
1800
+ # # The following command retrieves a set of short-term credentials you can use to unlock an S3 bucket for a member account
1801
+ # # by removing the bucket policy.
1802
+ #
1803
+ # resp = client.assume_root({
1804
+ # duration_seconds: 900,
1805
+ # target_principal: "111122223333",
1806
+ # task_policy_arn: {
1807
+ # arn: "arn:aws:iam::aws:policy/root-task/S3UnlockBucketPolicy",
1808
+ # },
1809
+ # })
1810
+ #
1811
+ # resp.to_h outputs the following:
1812
+ # {
1813
+ # credentials: {
1814
+ # access_key_id: "ASIAJEXAMPLEXEG2JICEA",
1815
+ # expiration: Time.parse("2024-11-15T00:05:07Z"),
1816
+ # secret_access_key: "9drTJvcXLB89EXAMPLELB8923FB892xMFI",
1817
+ # session_token: "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=",
1818
+ # },
1819
+ # source_identity: "Alice",
1820
+ # }
1821
+ #
1822
+ # @example Request syntax with placeholder values
1823
+ #
1824
+ # resp = client.assume_root({
1825
+ # target_principal: "TargetPrincipalType", # required
1826
+ # task_policy_arn: { # required
1827
+ # arn: "arnType",
1828
+ # },
1829
+ # duration_seconds: 1,
1830
+ # })
1831
+ #
1832
+ # @example Response structure
1833
+ #
1834
+ # resp.credentials.access_key_id #=> String
1835
+ # resp.credentials.secret_access_key #=> String
1836
+ # resp.credentials.session_token #=> String
1837
+ # resp.credentials.expiration #=> Time
1838
+ # resp.source_identity #=> String
1839
+ #
1840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoot AWS API Documentation
1841
+ #
1842
+ # @overload assume_root(params = {})
1843
+ # @param [Hash] params ({})
1844
+ def assume_root(params = {}, options = {})
1845
+ req = build_request(:assume_root, params)
1846
+ req.send_request(options)
1847
+ end
1848
+
1670
1849
  # Decodes additional information about the authorization status of a
1671
1850
  # request from an encoded message returned in response to an Amazon Web
1672
1851
  # Services request.
@@ -1905,8 +2084,8 @@ module Aws::STS
1905
2084
  # usually in a server-based application. For a comparison of
1906
2085
  # `GetFederationToken` with the other API operations that produce
1907
2086
  # temporary credentials, see [Requesting Temporary Security
1908
- # Credentials][1] and [Comparing the Amazon Web Services STS API
1909
- # operations][2] in the *IAM User Guide*.
2087
+ # Credentials][1] and [Compare STS credentials][2] in the *IAM User
2088
+ # Guide*.
1910
2089
  #
1911
2090
  # Although it is possible to call `GetFederationToken` using the
1912
2091
  # security credentials of an Amazon Web Services account root user
@@ -2003,7 +2182,7 @@ module Aws::STS
2003
2182
  #
2004
2183
  #
2005
2184
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
2006
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
2185
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html
2007
2186
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials
2008
2187
  # [4]: http://aws.amazon.com/cognito/
2009
2188
  # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
@@ -2255,8 +2434,8 @@ module Aws::STS
2255
2434
  # An incorrect MFA code causes the API to return an access denied error.
2256
2435
  # For a comparison of `GetSessionToken` with the other API operations
2257
2436
  # that produce temporary credentials, see [Requesting Temporary Security
2258
- # Credentials][1] and [Comparing the Amazon Web Services STS API
2259
- # operations][2] in the *IAM User Guide*.
2437
+ # Credentials][1] and [Compare STS credentials][2] in the *IAM User
2438
+ # Guide*.
2260
2439
  #
2261
2440
  # <note markdown="1"> No permissions are required for users to perform this operation. The
2262
2441
  # purpose of the `sts:GetSessionToken` operation is to authenticate the
@@ -2311,7 +2490,7 @@ module Aws::STS
2311
2490
  #
2312
2491
  #
2313
2492
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
2314
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
2493
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html
2315
2494
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getsessiontoken.html
2316
2495
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials
2317
2496
  # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken
@@ -2416,7 +2595,7 @@ module Aws::STS
2416
2595
  tracer: tracer
2417
2596
  )
2418
2597
  context[:gem_name] = 'aws-sdk-core'
2419
- context[:gem_version] = '3.210.0'
2598
+ context[:gem_version] = '3.217.1'
2420
2599
  Seahorse::Client::Request.new(handlers, context)
2421
2600
  end
2422
2601