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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +75 -0
- data/VERSION +1 -1
- data/lib/aws-defaults/default_configuration.rb +1 -2
- data/lib/aws-sdk-core/arn.rb +1 -3
- data/lib/aws-sdk-core/cbor/decoder.rb +0 -2
- data/lib/aws-sdk-core/cbor/encoder.rb +2 -2
- data/lib/aws-sdk-core/cbor.rb +3 -56
- data/lib/aws-sdk-core/client_stubs.rb +7 -7
- data/lib/aws-sdk-core/json/error_handler.rb +2 -1
- data/lib/aws-sdk-core/json/handler.rb +1 -0
- data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
- data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -170
- data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -8
- data/lib/aws-sdk-core/plugins/sign.rb +1 -1
- data/lib/aws-sdk-core/plugins/user_agent.rb +10 -1
- data/lib/aws-sdk-core/rest/request/headers.rb +2 -2
- data/lib/aws-sdk-core/rpc_v2/builder.rb +1 -1
- data/lib/aws-sdk-core/{cbor → rpc_v2}/cbor_engine.rb +4 -5
- data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +3 -1
- data/lib/aws-sdk-core/rpc_v2/error_handler.rb +3 -2
- data/lib/aws-sdk-core/rpc_v2/handler.rb +2 -1
- data/lib/aws-sdk-core/rpc_v2/parser.rb +1 -1
- data/lib/aws-sdk-core/rpc_v2.rb +65 -2
- data/lib/aws-sdk-core/shared_config.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
- data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
- data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
- data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
- data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
- data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
- data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +13 -15
- data/lib/aws-sdk-core/stubbing.rb +2 -2
- data/lib/aws-sdk-sso/client.rb +24 -1
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +48 -19
- data/lib/aws-sdk-ssooidc/types.rb +20 -15
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +231 -52
- data/lib/aws-sdk-sts/client_api.rb +23 -0
- data/lib/aws-sdk-sts/types.rb +170 -28
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/seahorse/client/response.rb +2 -0
- 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:
|
68
|
-
# Token. Specify
|
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-
|
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-
|
88
|
-
# request.
|
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-
|
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-
|
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-
|
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
|
data/lib/aws-sdk-ssooidc.rb
CHANGED
data/lib/aws-sdk-sts/client.rb
CHANGED
@@ -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 [
|
464
|
-
#
|
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
|
474
|
-
#
|
475
|
-
#
|
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":
|
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/
|
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
|
677
|
-
# the
|
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/
|
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.
|
748
|
-
#
|
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
|
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][
|
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:
|
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/
|
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
|
-
# `[
|
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 [
|
948
|
-
#
|
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/
|
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 [
|
1321
|
-
#
|
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 [
|
1337
|
-
#
|
1338
|
-
#
|
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
|
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/
|
1444
|
-
# [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/
|
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.
|
1481
|
-
#
|
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 [
|
1909
|
-
#
|
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/
|
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 [
|
2259
|
-
#
|
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/
|
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.
|
2598
|
+
context[:gem_version] = '3.217.1'
|
2420
2599
|
Seahorse::Client::Request.new(handlers, context)
|
2421
2600
|
end
|
2422
2601
|
|