aws-sdk-core 3.131.1 → 3.188.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +459 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +4 -4
  5. data/lib/aws-sdk-core/arn.rb +13 -0
  6. data/lib/aws-sdk-core/binary/encode_handler.rb +12 -1
  7. data/lib/aws-sdk-core/credential_provider.rb +3 -0
  8. data/lib/aws-sdk-core/credential_provider_chain.rb +8 -5
  9. data/lib/aws-sdk-core/ecs_credentials.rb +177 -53
  10. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  11. data/lib/aws-sdk-core/endpoints/endpoint.rb +17 -0
  12. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  13. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  14. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  15. data/lib/aws-sdk-core/endpoints/matchers.rb +131 -0
  16. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  17. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  18. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  19. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  20. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  21. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  22. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  23. data/lib/aws-sdk-core/endpoints.rb +78 -0
  24. data/lib/aws-sdk-core/errors.rb +14 -1
  25. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  26. data/lib/aws-sdk-core/instance_profile_credentials.rb +52 -30
  27. data/lib/aws-sdk-core/json/error_handler.rb +20 -1
  28. data/lib/aws-sdk-core/json/handler.rb +8 -1
  29. data/lib/aws-sdk-core/json/parser.rb +27 -2
  30. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  31. data/lib/aws-sdk-core/pageable_response.rb +10 -1
  32. data/lib/aws-sdk-core/param_validator.rb +2 -2
  33. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +67 -0
  34. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +1 -1
  35. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +24 -0
  36. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +6 -2
  37. data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +34 -6
  38. data/lib/aws-sdk-core/plugins/recursion_detection.rb +14 -3
  39. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +111 -30
  40. data/lib/aws-sdk-core/plugins/request_compression.rb +217 -0
  41. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -1
  42. data/lib/aws-sdk-core/plugins/sign.rb +201 -0
  43. data/lib/aws-sdk-core/plugins/signature_v2.rb +1 -0
  44. data/lib/aws-sdk-core/plugins/signature_v4.rb +13 -7
  45. data/lib/aws-sdk-core/plugins/user_agent.rb +117 -14
  46. data/lib/aws-sdk-core/refreshing_credentials.rb +0 -6
  47. data/lib/aws-sdk-core/refreshing_token.rb +71 -0
  48. data/lib/aws-sdk-core/rest/handler.rb +1 -1
  49. data/lib/aws-sdk-core/rest/request/headers.rb +2 -6
  50. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +43 -29
  51. data/lib/aws-sdk-core/shared_config.rb +106 -6
  52. data/lib/aws-sdk-core/sso_credentials.rb +80 -45
  53. data/lib/aws-sdk-core/sso_token_provider.rb +135 -0
  54. data/lib/aws-sdk-core/static_token_provider.rb +14 -0
  55. data/lib/aws-sdk-core/structure.rb +6 -4
  56. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  57. data/lib/aws-sdk-core/token.rb +31 -0
  58. data/lib/aws-sdk-core/token_provider.rb +15 -0
  59. data/lib/aws-sdk-core/token_provider_chain.rb +51 -0
  60. data/lib/aws-sdk-core/waiters/poller.rb +3 -1
  61. data/lib/aws-sdk-core/xml/error_handler.rb +7 -0
  62. data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
  63. data/lib/aws-sdk-core.rb +14 -0
  64. data/lib/aws-sdk-sso/client.rb +71 -11
  65. data/lib/aws-sdk-sso/endpoint_parameters.rb +66 -0
  66. data/lib/aws-sdk-sso/endpoint_provider.rb +57 -0
  67. data/lib/aws-sdk-sso/endpoints.rb +72 -0
  68. data/lib/aws-sdk-sso/plugins/endpoints.rb +76 -0
  69. data/lib/aws-sdk-sso/types.rb +8 -43
  70. data/lib/aws-sdk-sso.rb +5 -1
  71. data/lib/aws-sdk-ssooidc/client.rb +935 -0
  72. data/lib/aws-sdk-ssooidc/client_api.rb +271 -0
  73. data/lib/aws-sdk-ssooidc/customizations.rb +1 -0
  74. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +66 -0
  75. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +57 -0
  76. data/lib/aws-sdk-ssooidc/endpoints.rb +72 -0
  77. data/lib/aws-sdk-ssooidc/errors.rb +321 -0
  78. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +76 -0
  79. data/lib/aws-sdk-ssooidc/resource.rb +26 -0
  80. data/lib/aws-sdk-ssooidc/types.rb +755 -0
  81. data/lib/aws-sdk-ssooidc.rb +59 -0
  82. data/lib/aws-sdk-sts/client.rb +298 -245
  83. data/lib/aws-sdk-sts/client_api.rb +12 -1
  84. data/lib/aws-sdk-sts/endpoint_parameters.rb +78 -0
  85. data/lib/aws-sdk-sts/endpoint_provider.rb +112 -0
  86. data/lib/aws-sdk-sts/endpoints.rb +136 -0
  87. data/lib/aws-sdk-sts/plugins/endpoints.rb +84 -0
  88. data/lib/aws-sdk-sts/presigner.rb +14 -16
  89. data/lib/aws-sdk-sts/types.rb +128 -197
  90. data/lib/aws-sdk-sts.rb +5 -1
  91. data/lib/seahorse/client/async_base.rb +0 -1
  92. data/lib/seahorse/client/configuration.rb +1 -5
  93. data/lib/seahorse/client/h2/connection.rb +12 -11
  94. data/lib/seahorse/client/net_http/patches.rb +1 -4
  95. data/lib/seahorse/client/plugins/h2.rb +3 -3
  96. data/lib/seahorse/client/plugins/request_callback.rb +40 -9
  97. data/lib/seahorse/client/response.rb +6 -0
  98. data/lib/seahorse/model/operation.rb +3 -0
  99. data/lib/seahorse/util.rb +4 -0
  100. metadata +49 -7
@@ -28,9 +28,10 @@ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
31
32
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
33
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
34
35
  require 'aws-sdk-core/plugins/protocols/query.rb'
35
36
  require 'aws-sdk-sts/plugins/sts_regional_endpoints.rb'
36
37
 
@@ -78,11 +79,13 @@ module Aws::STS
78
79
  add_plugin(Aws::Plugins::TransferEncoding)
79
80
  add_plugin(Aws::Plugins::HttpChecksum)
80
81
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
82
+ add_plugin(Aws::Plugins::RequestCompression)
81
83
  add_plugin(Aws::Plugins::DefaultsMode)
82
84
  add_plugin(Aws::Plugins::RecursionDetection)
83
- add_plugin(Aws::Plugins::SignatureV4)
85
+ add_plugin(Aws::Plugins::Sign)
84
86
  add_plugin(Aws::Plugins::Protocols::Query)
85
87
  add_plugin(Aws::STS::Plugins::STSRegionalEndpoints)
88
+ add_plugin(Aws::STS::Plugins::Endpoints)
86
89
 
87
90
  # @overload initialize(options)
88
91
  # @param [Hash] options
@@ -191,6 +194,10 @@ module Aws::STS
191
194
  # Set to true to disable SDK automatically adding host prefix
192
195
  # to default service endpoint when available.
193
196
  #
197
+ # @option options [Boolean] :disable_request_compression (false)
198
+ # When set to 'true' the request body will not be compressed
199
+ # for supported operations.
200
+ #
194
201
  # @option options [String] :endpoint
195
202
  # The client endpoint is normally constructed from the `:region`
196
203
  # option. You should only configure an `:endpoint` when connecting
@@ -211,6 +218,10 @@ module Aws::STS
211
218
  # @option options [Boolean] :endpoint_discovery (false)
212
219
  # When set to `true`, endpoint discovery will be enabled for operations when available.
213
220
  #
221
+ # @option options [Boolean] :ignore_configured_endpoint_urls
222
+ # Setting to true disables use of endpoint URLs provided via environment
223
+ # variables and the shared configuration file.
224
+ #
214
225
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
215
226
  # The log formatter.
216
227
  #
@@ -231,6 +242,11 @@ module Aws::STS
231
242
  # Used when loading credentials from the shared credentials file
232
243
  # at HOME/.aws/credentials. When not specified, 'default' is used.
233
244
  #
245
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
246
+ # The minimum size in bytes that triggers compression for request
247
+ # bodies. The value must be non-negative integer value between 0
248
+ # and 10485780 bytes inclusive.
249
+ #
234
250
  # @option options [Proc] :retry_backoff
235
251
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
236
252
  # This option is only used in the `legacy` retry mode.
@@ -276,6 +292,11 @@ module Aws::STS
276
292
  # in the future.
277
293
  #
278
294
  #
295
+ # @option options [String] :sdk_ua_app_id
296
+ # A unique and opaque application ID that is appended to the
297
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
298
+ # maximum length of 50.
299
+ #
279
300
  # @option options [String] :secret_access_key
280
301
  #
281
302
  # @option options [String] :session_token
@@ -294,6 +315,19 @@ module Aws::STS
294
315
  # ** Please note ** When response stubbing is enabled, no HTTP
295
316
  # requests are made, and retries are disabled.
296
317
  #
318
+ # @option options [Aws::TokenProvider] :token_provider
319
+ # A Bearer Token Provider. This can be an instance of any one of the
320
+ # following classes:
321
+ #
322
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
323
+ # tokens.
324
+ #
325
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
326
+ # access token generated from `aws login`.
327
+ #
328
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
329
+ # will be used to search for tokens configured for your profile in shared configuration files.
330
+ #
297
331
  # @option options [Boolean] :use_dualstack_endpoint
298
332
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
299
333
  # will be used if available.
@@ -307,6 +341,9 @@ module Aws::STS
307
341
  # When `true`, request parameters are validated before
308
342
  # sending the request.
309
343
  #
344
+ # @option options [Aws::STS::EndpointProvider] :endpoint_provider
345
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::STS::EndpointParameters`
346
+ #
310
347
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
311
348
  # requests through. Formatted like 'http://proxy.com:123'.
312
349
  #
@@ -359,14 +396,13 @@ module Aws::STS
359
396
  # @!group API Operations
360
397
 
361
398
  # Returns a set of temporary security credentials that you can use to
362
- # access Amazon Web Services resources that you might not normally have
363
- # access to. These temporary credentials consist of an access key ID, a
364
- # secret access key, and a security token. Typically, you use
365
- # `AssumeRole` within your account or for cross-account access. For a
366
- # comparison of `AssumeRole` with other API operations that produce
367
- # temporary credentials, see [Requesting Temporary Security
368
- # Credentials][1] and [Comparing the Amazon Web Services STS API
369
- # operations][2] in the *IAM User Guide*.
399
+ # access Amazon Web Services resources. These temporary credentials
400
+ # consist of an access key ID, a secret access key, and a security
401
+ # token. Typically, you use `AssumeRole` within your account or for
402
+ # cross-account access. For a comparison of `AssumeRole` with other API
403
+ # operations that produce temporary credentials, see [Requesting
404
+ # Temporary Security Credentials][1] and [Comparing the Amazon Web
405
+ # Services STS API operations][2] in the *IAM User Guide*.
370
406
  #
371
407
  # **Permissions**
372
408
  #
@@ -377,23 +413,24 @@ module Aws::STS
377
413
  #
378
414
  # (Optional) You can pass inline or managed [session policies][3] to
379
415
  # this operation. You can pass a single JSON policy document to use as
380
- # an inline session policy. You can also specify up to 10 managed
381
- # policies to use as managed session policies. The plaintext that you
382
- # use for both inline and managed session policies can't exceed 2,048
383
- # characters. Passing policies to this operation returns new temporary
384
- # credentials. The resulting session's permissions are the intersection
385
- # of the role's identity-based policy and the session policies. You can
386
- # use the role's temporary credentials in subsequent Amazon Web
387
- # Services API calls to access resources in the account that owns the
388
- # role. You cannot use session policies to grant more permissions than
389
- # those allowed by the identity-based policy of the role that is being
390
- # assumed. For more information, see [Session Policies][3] in the *IAM
391
- # User Guide*.
392
- #
393
- # When you create a role, you create two policies: A role trust policy
394
- # that specifies *who* can assume the role and a permissions policy that
395
- # specifies *what* can be done with the role. You specify the trusted
396
- # principal who is allowed to assume the role in the role trust policy.
416
+ # an inline session policy. You can also specify up to 10 managed policy
417
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
418
+ # plaintext that you use for both inline and managed session policies
419
+ # can't exceed 2,048 characters. Passing policies to this operation
420
+ # returns new temporary credentials. The resulting session's
421
+ # permissions are the intersection of the role's identity-based policy
422
+ # and the session policies. You can use the role's temporary
423
+ # credentials in subsequent Amazon Web Services API calls to access
424
+ # resources in the account that owns the role. You cannot use session
425
+ # policies to grant more permissions than those allowed by the
426
+ # identity-based policy of the role that is being assumed. For more
427
+ # information, see [Session Policies][3] in the *IAM User Guide*.
428
+ #
429
+ # When you create a role, you create two policies: a role trust policy
430
+ # that specifies *who* can assume the role, and a permissions policy
431
+ # that specifies *what* can be done with the role. You specify the
432
+ # trusted principal that is allowed to assume the role in the role trust
433
+ # policy.
397
434
  #
398
435
  # To assume a role from a different account, your Amazon Web Services
399
436
  # account must be trusted by the role. The trust relationship is defined
@@ -402,10 +439,9 @@ module Aws::STS
402
439
  # users in the account.
403
440
  #
404
441
  # A user who wants to access a role in a different account must also
405
- # have permissions that are delegated from the user account
406
- # administrator. The administrator must attach a policy that allows the
407
- # user to call `AssumeRole` for the ARN of the role in the other
408
- # account.
442
+ # have permissions that are delegated from the account administrator.
443
+ # The administrator must attach a policy that allows the user to call
444
+ # `AssumeRole` for the ARN of the role in the other account.
409
445
  #
410
446
  # To allow a user to assume a role in the same account, you can do
411
447
  # either of the following:
@@ -502,12 +538,12 @@ module Aws::STS
502
538
  # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
503
539
  # Service Namespaces][1] in the Amazon Web Services General Reference.
504
540
  #
505
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
506
- # policies and session tags into a packed binary format that has a
507
- # separate limit. Your request can fail for this limit even if your
508
- # plaintext meets the other requirements. The `PackedPolicySize`
509
- # response element indicates by percentage how close the policies and
510
- # tags for your request are to the upper size limit.
541
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
542
+ # policy, managed policy ARNs, and session tags into a packed binary
543
+ # format that has a separate limit. Your request can fail for this limit
544
+ # even if your plaintext meets the other requirements. The
545
+ # `PackedPolicySize` response element indicates by percentage how close
546
+ # the policies and tags for your request are to the upper size limit.
511
547
  #
512
548
  # </note>
513
549
  #
@@ -547,12 +583,12 @@ module Aws::STS
547
583
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
548
584
  # characters.
549
585
  #
550
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
551
- # policies and session tags into a packed binary format that has a
552
- # separate limit. Your request can fail for this limit even if your
553
- # plaintext meets the other requirements. The `PackedPolicySize`
554
- # response element indicates by percentage how close the policies and
555
- # tags for your request are to the upper size limit.
586
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
587
+ # policy, managed policy ARNs, and session tags into a packed binary
588
+ # format that has a separate limit. Your request can fail for this limit
589
+ # even if your plaintext meets the other requirements. The
590
+ # `PackedPolicySize` response element indicates by percentage how close
591
+ # the policies and tags for your request are to the upper size limit.
556
592
  #
557
593
  # </note>
558
594
  #
@@ -610,12 +646,12 @@ module Aws::STS
610
646
  # can’t exceed 256 characters. For these and additional limits, see [IAM
611
647
  # and STS Character Limits][2] in the *IAM User Guide*.
612
648
  #
613
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
614
- # policies and session tags into a packed binary format that has a
615
- # separate limit. Your request can fail for this limit even if your
616
- # plaintext meets the other requirements. The `PackedPolicySize`
617
- # response element indicates by percentage how close the policies and
618
- # tags for your request are to the upper size limit.
649
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
650
+ # policy, managed policy ARNs, and session tags into a packed binary
651
+ # format that has a separate limit. Your request can fail for this limit
652
+ # even if your plaintext meets the other requirements. The
653
+ # `PackedPolicySize` response element indicates by percentage how close
654
+ # the policies and tags for your request are to the upper size limit.
619
655
  #
620
656
  # </note>
621
657
  #
@@ -730,6 +766,17 @@ module Aws::STS
730
766
  #
731
767
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
732
768
  #
769
+ # @option params [Array<Types::ProvidedContext>] :provided_contexts
770
+ # A list of previously acquired trusted context assertions in the format
771
+ # of a JSON array. The trusted context assertion is signed and encrypted
772
+ # by Amazon Web Services STS.
773
+ #
774
+ # The following is an example of a `ProvidedContext` value that includes
775
+ # a single trusted context assertion and the ARN of the context provider
776
+ # from which the trusted context assertion was generated.
777
+ #
778
+ # `[\{"ProviderArn":"arn:aws:iam::aws:contextProvider/identitycenter","ContextAssertion":"trusted-context-assertion"\}]`
779
+ #
733
780
  # @return [Types::AssumeRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
734
781
  #
735
782
  # * {Types::AssumeRoleResponse#credentials #credentials} => Types::Credentials
@@ -790,7 +837,7 @@ module Aws::STS
790
837
  # arn: "arnType",
791
838
  # },
792
839
  # ],
793
- # policy: "sessionPolicyDocumentType",
840
+ # policy: "unrestrictedSessionPolicyDocumentType",
794
841
  # duration_seconds: 1,
795
842
  # tags: [
796
843
  # {
@@ -803,6 +850,12 @@ module Aws::STS
803
850
  # serial_number: "serialNumberType",
804
851
  # token_code: "tokenCodeType",
805
852
  # source_identity: "sourceIdentityType",
853
+ # provided_contexts: [
854
+ # {
855
+ # provider_arn: "arnType",
856
+ # context_assertion: "contextAssertionType",
857
+ # },
858
+ # ],
806
859
  # })
807
860
  #
808
861
  # @example Response structure
@@ -878,18 +931,18 @@ module Aws::STS
878
931
  #
879
932
  # (Optional) You can pass inline or managed [session policies][6] to
880
933
  # this operation. You can pass a single JSON policy document to use as
881
- # an inline session policy. You can also specify up to 10 managed
882
- # policies to use as managed session policies. The plaintext that you
883
- # use for both inline and managed session policies can't exceed 2,048
884
- # characters. Passing policies to this operation returns new temporary
885
- # credentials. The resulting session's permissions are the intersection
886
- # of the role's identity-based policy and the session policies. You can
887
- # use the role's temporary credentials in subsequent Amazon Web
888
- # Services API calls to access resources in the account that owns the
889
- # role. You cannot use session policies to grant more permissions than
890
- # those allowed by the identity-based policy of the role that is being
891
- # assumed. For more information, see [Session Policies][6] in the *IAM
892
- # User Guide*.
934
+ # an inline session policy. You can also specify up to 10 managed policy
935
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
936
+ # plaintext that you use for both inline and managed session policies
937
+ # can't exceed 2,048 characters. Passing policies to this operation
938
+ # returns new temporary credentials. The resulting session's
939
+ # permissions are the intersection of the role's identity-based policy
940
+ # and the session policies. You can use the role's temporary
941
+ # credentials in subsequent Amazon Web Services API calls to access
942
+ # resources in the account that owns the role. You cannot use session
943
+ # policies to grant more permissions than those allowed by the
944
+ # identity-based policy of the role that is being assumed. For more
945
+ # information, see [Session Policies][6] in the *IAM User Guide*.
893
946
  #
894
947
  # Calling `AssumeRoleWithSAML` does not require the use of Amazon Web
895
948
  # Services security credentials. The identity of the caller is validated
@@ -915,12 +968,12 @@ module Aws::STS
915
968
  # characters. For these and additional limits, see [IAM and STS
916
969
  # Character Limits][8] in the *IAM User Guide*.
917
970
  #
918
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
919
- # policies and session tags into a packed binary format that has a
920
- # separate limit. Your request can fail for this limit even if your
921
- # plaintext meets the other requirements. The `PackedPolicySize`
922
- # response element indicates by percentage how close the policies and
923
- # tags for your request are to the upper size limit.
971
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
972
+ # policy, managed policy ARNs, and session tags into a packed binary
973
+ # format that has a separate limit. Your request can fail for this limit
974
+ # even if your plaintext meets the other requirements. The
975
+ # `PackedPolicySize` response element indicates by percentage how close
976
+ # the policies and tags for your request are to the upper size limit.
924
977
  #
925
978
  # </note>
926
979
  #
@@ -1006,12 +1059,12 @@ module Aws::STS
1006
1059
  # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
1007
1060
  # Service Namespaces][1] in the Amazon Web Services General Reference.
1008
1061
  #
1009
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1010
- # policies and session tags into a packed binary format that has a
1011
- # separate limit. Your request can fail for this limit even if your
1012
- # plaintext meets the other requirements. The `PackedPolicySize`
1013
- # response element indicates by percentage how close the policies and
1014
- # tags for your request are to the upper size limit.
1062
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1063
+ # policy, managed policy ARNs, and session tags into a packed binary
1064
+ # format that has a separate limit. Your request can fail for this limit
1065
+ # even if your plaintext meets the other requirements. The
1066
+ # `PackedPolicySize` response element indicates by percentage how close
1067
+ # the policies and tags for your request are to the upper size limit.
1015
1068
  #
1016
1069
  # </note>
1017
1070
  #
@@ -1051,12 +1104,12 @@ module Aws::STS
1051
1104
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1052
1105
  # characters.
1053
1106
  #
1054
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1055
- # policies and session tags into a packed binary format that has a
1056
- # separate limit. Your request can fail for this limit even if your
1057
- # plaintext meets the other requirements. The `PackedPolicySize`
1058
- # response element indicates by percentage how close the policies and
1059
- # tags for your request are to the upper size limit.
1107
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1108
+ # policy, managed policy ARNs, and session tags into a packed binary
1109
+ # format that has a separate limit. Your request can fail for this limit
1110
+ # even if your plaintext meets the other requirements. The
1111
+ # `PackedPolicySize` response element indicates by percentage how close
1112
+ # the policies and tags for your request are to the upper size limit.
1060
1113
  #
1061
1114
  # </note>
1062
1115
  #
@@ -1190,10 +1243,8 @@ module Aws::STS
1190
1243
  # the user with a consistent identity throughout the lifetime of an
1191
1244
  # application.
1192
1245
  #
1193
- # To learn more about Amazon Cognito, see [Amazon Cognito Overview][4]
1194
- # in *Amazon Web Services SDK for Android Developer Guide* and [Amazon
1195
- # Cognito Overview][5] in the *Amazon Web Services SDK for iOS Developer
1196
- # Guide*.
1246
+ # To learn more about Amazon Cognito, see [Amazon Cognito identity
1247
+ # pools][1] in *Amazon Cognito Developer Guide*.
1197
1248
  #
1198
1249
  # </note>
1199
1250
  #
@@ -1207,8 +1258,8 @@ module Aws::STS
1207
1258
  # a token from the web identity provider. For a comparison of
1208
1259
  # `AssumeRoleWithWebIdentity` with the other API operations that produce
1209
1260
  # temporary credentials, see [Requesting Temporary Security
1210
- # Credentials][6] and [Comparing the Amazon Web Services STS API
1211
- # operations][7] in the *IAM User Guide*.
1261
+ # Credentials][4] and [Comparing the Amazon Web Services STS API
1262
+ # operations][5] in the *IAM User Guide*.
1212
1263
  #
1213
1264
  # The temporary security credentials returned by this API consist of an
1214
1265
  # access key ID, a secret access key, and a security token. Applications
@@ -1224,11 +1275,11 @@ module Aws::STS
1224
1275
  # to the maximum session duration setting for the role. This setting can
1225
1276
  # have a value from 1 hour to 12 hours. To learn how to view the maximum
1226
1277
  # value for your role, see [View the Maximum Session Duration Setting
1227
- # for a Role][8] in the *IAM User Guide*. The maximum session duration
1278
+ # for a Role][6] in the *IAM User Guide*. The maximum session duration
1228
1279
  # limit applies when you use the `AssumeRole*` API operations or the
1229
1280
  # `assume-role*` CLI commands. However the limit does not apply when you
1230
1281
  # use those operations to create a console URL. For more information,
1231
- # see [Using IAM Roles][9] in the *IAM User Guide*.
1282
+ # see [Using IAM Roles][7] in the *IAM User Guide*.
1232
1283
  #
1233
1284
  # **Permissions**
1234
1285
  #
@@ -1237,39 +1288,39 @@ module Aws::STS
1237
1288
  # Amazon Web Services service with the following exception: you cannot
1238
1289
  # call the STS `GetFederationToken` or `GetSessionToken` API operations.
1239
1290
  #
1240
- # (Optional) You can pass inline or managed [session policies][10] to
1291
+ # (Optional) You can pass inline or managed [session policies][8] to
1241
1292
  # this operation. You can pass a single JSON policy document to use as
1242
- # an inline session policy. You can also specify up to 10 managed
1243
- # policies to use as managed session policies. The plaintext that you
1244
- # use for both inline and managed session policies can't exceed 2,048
1245
- # characters. Passing policies to this operation returns new temporary
1246
- # credentials. The resulting session's permissions are the intersection
1247
- # of the role's identity-based policy and the session policies. You can
1248
- # use the role's temporary credentials in subsequent Amazon Web
1249
- # Services API calls to access resources in the account that owns the
1250
- # role. You cannot use session policies to grant more permissions than
1251
- # those allowed by the identity-based policy of the role that is being
1252
- # assumed. For more information, see [Session Policies][10] in the *IAM
1253
- # User Guide*.
1293
+ # an inline session policy. You can also specify up to 10 managed policy
1294
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
1295
+ # plaintext that you use for both inline and managed session policies
1296
+ # can't exceed 2,048 characters. Passing policies to this operation
1297
+ # returns new temporary credentials. The resulting session's
1298
+ # permissions are the intersection of the role's identity-based policy
1299
+ # and the session policies. You can use the role's temporary
1300
+ # credentials in subsequent Amazon Web Services API calls to access
1301
+ # resources in the account that owns the role. You cannot use session
1302
+ # policies to grant more permissions than those allowed by the
1303
+ # identity-based policy of the role that is being assumed. For more
1304
+ # information, see [Session Policies][8] in the *IAM User Guide*.
1254
1305
  #
1255
1306
  # **Tags**
1256
1307
  #
1257
1308
  # (Optional) You can configure your IdP to pass attributes into your web
1258
1309
  # identity token as session tags. Each session tag consists of a key
1259
1310
  # name and an associated value. For more information about session tags,
1260
- # see [Passing Session Tags in STS][11] in the *IAM User Guide*.
1311
+ # see [Passing Session Tags in STS][9] in the *IAM User Guide*.
1261
1312
  #
1262
1313
  # You can pass up to 50 session tags. The plaintext session tag keys
1263
1314
  # can’t exceed 128 characters and the values can’t exceed 256
1264
1315
  # characters. For these and additional limits, see [IAM and STS
1265
- # Character Limits][12] in the *IAM User Guide*.
1316
+ # Character Limits][10] in the *IAM User Guide*.
1266
1317
  #
1267
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1268
- # policies and session tags into a packed binary format that has a
1269
- # separate limit. Your request can fail for this limit even if your
1270
- # plaintext meets the other requirements. The `PackedPolicySize`
1271
- # response element indicates by percentage how close the policies and
1272
- # tags for your request are to the upper size limit.
1318
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1319
+ # policy, managed policy ARNs, and session tags into a packed binary
1320
+ # format that has a separate limit. Your request can fail for this limit
1321
+ # even if your plaintext meets the other requirements. The
1322
+ # `PackedPolicySize` response element indicates by percentage how close
1323
+ # the policies and tags for your request are to the upper size limit.
1273
1324
  #
1274
1325
  # </note>
1275
1326
  #
@@ -1280,12 +1331,12 @@ module Aws::STS
1280
1331
  # An administrator must grant you the permissions necessary to pass
1281
1332
  # session tags. The administrator can also create granular permissions
1282
1333
  # to allow you to pass only specific session tags. For more information,
1283
- # see [Tutorial: Using Tags for Attribute-Based Access Control][13] in
1334
+ # see [Tutorial: Using Tags for Attribute-Based Access Control][11] in
1284
1335
  # the *IAM User Guide*.
1285
1336
  #
1286
1337
  # You can set the session tags as transitive. Transitive tags persist
1287
1338
  # during role chaining. For more information, see [Chaining Roles with
1288
- # Session Tags][14] in the *IAM User Guide*.
1339
+ # Session Tags][12] in the *IAM User Guide*.
1289
1340
  #
1290
1341
  # **Identities**
1291
1342
  #
@@ -1297,19 +1348,19 @@ module Aws::STS
1297
1348
  # specified in the role's trust policy.
1298
1349
  #
1299
1350
  # Calling `AssumeRoleWithWebIdentity` can result in an entry in your
1300
- # CloudTrail logs. The entry includes the [Subject][15] of the provided
1351
+ # CloudTrail logs. The entry includes the [Subject][13] of the provided
1301
1352
  # web identity token. We recommend that you avoid using any personally
1302
1353
  # identifiable information (PII) in this field. For example, you could
1303
1354
  # instead use a GUID or a pairwise identifier, as [suggested in the OIDC
1304
- # specification][16].
1355
+ # specification][14].
1305
1356
  #
1306
1357
  # For more information about how to use web identity federation and the
1307
1358
  # `AssumeRoleWithWebIdentity` API, see the following resources:
1308
1359
  #
1309
- # * [Using Web Identity Federation API Operations for Mobile Apps][17]
1310
- # and [Federation Through a Web-based Identity Provider][18].
1360
+ # * [Using Web Identity Federation API Operations for Mobile Apps][15]
1361
+ # and [Federation Through a Web-based Identity Provider][16].
1311
1362
  #
1312
- # * [ Web Identity Federation Playground][19]. Walk through the process
1363
+ # * [ Web Identity Federation Playground][17]. Walk through the process
1313
1364
  # of authenticating through Login with Amazon, Facebook, or Google,
1314
1365
  # getting temporary security credentials, and then using those
1315
1366
  # credentials to make a request to Amazon Web Services.
@@ -1320,7 +1371,7 @@ module Aws::STS
1320
1371
  # toolkits then show how to use the information from these providers
1321
1372
  # to get and use temporary security credentials.
1322
1373
  #
1323
- # * [Web Identity Federation with Mobile Applications][20]. This article
1374
+ # * [Web Identity Federation with Mobile Applications][18]. This article
1324
1375
  # discusses web identity federation and shows an example of how to use
1325
1376
  # web identity federation to get access to content in Amazon S3.
1326
1377
  #
@@ -1329,23 +1380,21 @@ module Aws::STS
1329
1380
  # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html
1330
1381
  # [2]: http://aws.amazon.com/sdkforios/
1331
1382
  # [3]: http://aws.amazon.com/sdkforandroid/
1332
- # [4]: https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840
1333
- # [5]: https://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664
1334
- # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1335
- # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1336
- # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1337
- # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1338
- # [10]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1339
- # [11]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1340
- # [12]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
1341
- # [13]: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html
1342
- # [14]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
1343
- # [15]: http://openid.net/specs/openid-connect-core-1_0.html#Claims
1344
- # [16]: http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
1345
- # [17]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html
1346
- # [18]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1347
- # [19]: https://aws.amazon.com/blogs/aws/the-aws-web-identity-federation-playground/
1348
- # [20]: http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications
1383
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1384
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1385
+ # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1386
+ # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1387
+ # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1388
+ # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1389
+ # [10]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
1390
+ # [11]: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html
1391
+ # [12]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
1392
+ # [13]: http://openid.net/specs/openid-connect-core-1_0.html#Claims
1393
+ # [14]: http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
1394
+ # [15]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html
1395
+ # [16]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1396
+ # [17]: https://aws.amazon.com/blogs/aws/the-aws-web-identity-federation-playground/
1397
+ # [18]: http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications
1349
1398
  #
1350
1399
  # @option params [required, String] :role_arn
1351
1400
  # The Amazon Resource Name (ARN) of the role that the caller is
@@ -1369,7 +1418,8 @@ module Aws::STS
1369
1418
  # by the identity provider. Your application must get this token by
1370
1419
  # authenticating the user who is using your application with a web
1371
1420
  # identity provider before the application makes an
1372
- # `AssumeRoleWithWebIdentity` call.
1421
+ # `AssumeRoleWithWebIdentity` call. Only tokens with RSA algorithms
1422
+ # (RS256) are supported.
1373
1423
  #
1374
1424
  # @option params [String] :provider_id
1375
1425
  # The fully qualified host component of the domain name of the OAuth 2.0
@@ -1393,12 +1443,12 @@ module Aws::STS
1393
1443
  # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
1394
1444
  # Service Namespaces][1] in the Amazon Web Services General Reference.
1395
1445
  #
1396
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1397
- # policies and session tags into a packed binary format that has a
1398
- # separate limit. Your request can fail for this limit even if your
1399
- # plaintext meets the other requirements. The `PackedPolicySize`
1400
- # response element indicates by percentage how close the policies and
1401
- # tags for your request are to the upper size limit.
1446
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1447
+ # policy, managed policy ARNs, and session tags into a packed binary
1448
+ # format that has a separate limit. Your request can fail for this limit
1449
+ # even if your plaintext meets the other requirements. The
1450
+ # `PackedPolicySize` response element indicates by percentage how close
1451
+ # the policies and tags for your request are to the upper size limit.
1402
1452
  #
1403
1453
  # </note>
1404
1454
  #
@@ -1438,12 +1488,12 @@ module Aws::STS
1438
1488
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1439
1489
  # characters.
1440
1490
  #
1441
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1442
- # policies and session tags into a packed binary format that has a
1443
- # separate limit. Your request can fail for this limit even if your
1444
- # plaintext meets the other requirements. The `PackedPolicySize`
1445
- # response element indicates by percentage how close the policies and
1446
- # tags for your request are to the upper size limit.
1491
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
1492
+ # policy, managed policy ARNs, and session tags into a packed binary
1493
+ # format that has a separate limit. Your request can fail for this limit
1494
+ # even if your plaintext meets the other requirements. The
1495
+ # `PackedPolicySize` response element indicates by percentage how close
1496
+ # the policies and tags for your request are to the upper size limit.
1447
1497
  #
1448
1498
  # </note>
1449
1499
  #
@@ -1704,11 +1754,11 @@ module Aws::STS
1704
1754
  # to call the operation.
1705
1755
  #
1706
1756
  # <note markdown="1"> No permissions are required to perform this operation. If an
1707
- # administrator adds a policy to your IAM user or role that explicitly
1757
+ # administrator attaches a policy to your identity that explicitly
1708
1758
  # denies access to the `sts:GetCallerIdentity` action, you can still
1709
1759
  # perform this operation. Permissions are not required because the same
1710
- # information is returned when an IAM user or role is denied access. To
1711
- # view an example response, see [I Am Not Authorized to Perform:
1760
+ # information is returned when access is denied. To view an example
1761
+ # response, see [I Am Not Authorized to Perform:
1712
1762
  # iam:DeleteVirtualMFADevice][1] in the *IAM User Guide*.
1713
1763
  #
1714
1764
  # </note>
@@ -1785,60 +1835,63 @@ module Aws::STS
1785
1835
  end
1786
1836
 
1787
1837
  # Returns a set of temporary security credentials (consisting of an
1788
- # access key ID, a secret access key, and a security token) for a
1789
- # federated user. A typical use is in a proxy application that gets
1790
- # temporary security credentials on behalf of distributed applications
1791
- # inside a corporate network. You must call the `GetFederationToken`
1792
- # operation using the long-term security credentials of an IAM user. As
1793
- # a result, this call is appropriate in contexts where those credentials
1794
- # can be safely stored, usually in a server-based application. For a
1795
- # comparison of `GetFederationToken` with the other API operations that
1796
- # produce temporary credentials, see [Requesting Temporary Security
1838
+ # access key ID, a secret access key, and a security token) for a user.
1839
+ # A typical use is in a proxy application that gets temporary security
1840
+ # credentials on behalf of distributed applications inside a corporate
1841
+ # network.
1842
+ #
1843
+ # You must call the `GetFederationToken` operation using the long-term
1844
+ # security credentials of an IAM user. As a result, this call is
1845
+ # appropriate in contexts where those credentials can be safeguarded,
1846
+ # usually in a server-based application. For a comparison of
1847
+ # `GetFederationToken` with the other API operations that produce
1848
+ # temporary credentials, see [Requesting Temporary Security
1797
1849
  # Credentials][1] and [Comparing the Amazon Web Services STS API
1798
1850
  # operations][2] in the *IAM User Guide*.
1799
1851
  #
1852
+ # Although it is possible to call `GetFederationToken` using the
1853
+ # security credentials of an Amazon Web Services account root user
1854
+ # rather than an IAM user that you create for the purpose of a proxy
1855
+ # application, we do not recommend it. For more information, see
1856
+ # [Safeguard your root user credentials and don't use them for everyday
1857
+ # tasks][3] in the *IAM User Guide*.
1858
+ #
1800
1859
  # <note markdown="1"> You can create a mobile-based or browser-based app that can
1801
1860
  # authenticate users using a web identity provider like Login with
1802
1861
  # Amazon, Facebook, Google, or an OpenID Connect-compatible identity
1803
- # provider. In this case, we recommend that you use [Amazon Cognito][3]
1862
+ # provider. In this case, we recommend that you use [Amazon Cognito][4]
1804
1863
  # or `AssumeRoleWithWebIdentity`. For more information, see [Federation
1805
- # Through a Web-based Identity Provider][4] in the *IAM User Guide*.
1864
+ # Through a Web-based Identity Provider][5] in the *IAM User Guide*.
1806
1865
  #
1807
1866
  # </note>
1808
1867
  #
1809
- # You can also call `GetFederationToken` using the security credentials
1810
- # of an Amazon Web Services account root user, but we do not recommend
1811
- # it. Instead, we recommend that you create an IAM user for the purpose
1812
- # of the proxy application. Then attach a policy to the IAM user that
1813
- # limits federated users to only the actions and resources that they
1814
- # need to access. For more information, see [IAM Best Practices][5] in
1815
- # the *IAM User Guide*.
1816
- #
1817
1868
  # **Session duration**
1818
1869
  #
1819
1870
  # The temporary credentials are valid for the specified duration, from
1820
1871
  # 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
1821
1872
  # hours). The default session duration is 43,200 seconds (12 hours).
1822
- # Temporary credentials obtained by using the Amazon Web Services
1823
- # account root user credentials have a maximum duration of 3,600 seconds
1824
- # (1 hour).
1873
+ # Temporary credentials obtained by using the root user credentials have
1874
+ # a maximum duration of 3,600 seconds (1 hour).
1825
1875
  #
1826
1876
  # **Permissions**
1827
1877
  #
1828
1878
  # You can use the temporary credentials created by `GetFederationToken`
1829
- # in any Amazon Web Services service except the following:
1879
+ # in any Amazon Web Services service with the following exceptions:
1830
1880
  #
1831
1881
  # * You cannot call any IAM operations using the CLI or the Amazon Web
1832
- # Services API.
1882
+ # Services API. This limitation does not apply to console sessions.
1833
1883
  #
1834
1884
  # * You cannot call any STS operations except `GetCallerIdentity`.
1835
1885
  #
1886
+ # You can use temporary credentials for single sign-on (SSO) to the
1887
+ # console.
1888
+ #
1836
1889
  # You must pass an inline or managed [session policy][6] to this
1837
1890
  # operation. You can pass a single JSON policy document to use as an
1838
- # inline session policy. You can also specify up to 10 managed policies
1839
- # to use as managed session policies. The plaintext that you use for
1840
- # both inline and managed session policies can't exceed 2,048
1841
- # characters.
1891
+ # inline session policy. You can also specify up to 10 managed policy
1892
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
1893
+ # plaintext that you use for both inline and managed session policies
1894
+ # can't exceed 2,048 characters.
1842
1895
  #
1843
1896
  # Though the session policy parameters are optional, if you do not pass
1844
1897
  # a policy, then the resulting federated user session has no
@@ -1868,9 +1921,9 @@ module Aws::STS
1868
1921
  # <note markdown="1"> You can create a mobile-based or browser-based app that can
1869
1922
  # authenticate users using a web identity provider like Login with
1870
1923
  # Amazon, Facebook, Google, or an OpenID Connect-compatible identity
1871
- # provider. In this case, we recommend that you use [Amazon Cognito][3]
1924
+ # provider. In this case, we recommend that you use [Amazon Cognito][4]
1872
1925
  # or `AssumeRoleWithWebIdentity`. For more information, see [Federation
1873
- # Through a Web-based Identity Provider][4] in the *IAM User Guide*.
1926
+ # Through a Web-based Identity Provider][5] in the *IAM User Guide*.
1874
1927
  #
1875
1928
  # </note>
1876
1929
  #
@@ -1892,9 +1945,9 @@ module Aws::STS
1892
1945
  #
1893
1946
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1894
1947
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1895
- # [3]: http://aws.amazon.com/cognito/
1896
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1897
- # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
1948
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials
1949
+ # [4]: http://aws.amazon.com/cognito/
1950
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1898
1951
  # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1899
1952
  # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken
1900
1953
  # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
@@ -1917,8 +1970,8 @@ module Aws::STS
1917
1970
  #
1918
1971
  # You must pass an inline or managed [session policy][1] to this
1919
1972
  # operation. You can pass a single JSON policy document to use as an
1920
- # inline session policy. You can also specify up to 10 managed policies
1921
- # to use as managed session policies.
1973
+ # inline session policy. You can also specify up to 10 managed policy
1974
+ # Amazon Resource Names (ARNs) to use as managed session policies.
1922
1975
  #
1923
1976
  # This parameter is optional. However, if you do not pass any session
1924
1977
  # policies, then the resulting federated user session has no
@@ -1946,12 +1999,12 @@ module Aws::STS
1946
1999
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1947
2000
  # characters.
1948
2001
  #
1949
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1950
- # policies and session tags into a packed binary format that has a
1951
- # separate limit. Your request can fail for this limit even if your
1952
- # plaintext meets the other requirements. The `PackedPolicySize`
1953
- # response element indicates by percentage how close the policies and
1954
- # tags for your request are to the upper size limit.
2002
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
2003
+ # policy, managed policy ARNs, and session tags into a packed binary
2004
+ # format that has a separate limit. Your request can fail for this limit
2005
+ # even if your plaintext meets the other requirements. The
2006
+ # `PackedPolicySize` response element indicates by percentage how close
2007
+ # the policies and tags for your request are to the upper size limit.
1955
2008
  #
1956
2009
  # </note>
1957
2010
  #
@@ -1966,13 +2019,13 @@ module Aws::STS
1966
2019
  #
1967
2020
  # You must pass an inline or managed [session policy][1] to this
1968
2021
  # operation. You can pass a single JSON policy document to use as an
1969
- # inline session policy. You can also specify up to 10 managed policies
1970
- # to use as managed session policies. The plaintext that you use for
1971
- # both inline and managed session policies can't exceed 2,048
1972
- # characters. You can provide up to 10 managed policy ARNs. For more
1973
- # information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
1974
- # Web Services Service Namespaces][2] in the Amazon Web Services General
1975
- # Reference.
2022
+ # inline session policy. You can also specify up to 10 managed policy
2023
+ # Amazon Resource Names (ARNs) to use as managed session policies. The
2024
+ # plaintext that you use for both inline and managed session policies
2025
+ # can't exceed 2,048 characters. You can provide up to 10 managed
2026
+ # policy ARNs. For more information about ARNs, see [Amazon Resource
2027
+ # Names (ARNs) and Amazon Web Services Service Namespaces][2] in the
2028
+ # Amazon Web Services General Reference.
1976
2029
  #
1977
2030
  # This parameter is optional. However, if you do not pass any session
1978
2031
  # policies, then the resulting federated user session has no
@@ -1993,12 +2046,12 @@ module Aws::STS
1993
2046
  # are granted in addition to the permissions that are granted by the
1994
2047
  # session policies.
1995
2048
  #
1996
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
1997
- # policies and session tags into a packed binary format that has a
1998
- # separate limit. Your request can fail for this limit even if your
1999
- # plaintext meets the other requirements. The `PackedPolicySize`
2000
- # response element indicates by percentage how close the policies and
2001
- # tags for your request are to the upper size limit.
2049
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
2050
+ # policy, managed policy ARNs, and session tags into a packed binary
2051
+ # format that has a separate limit. Your request can fail for this limit
2052
+ # even if your plaintext meets the other requirements. The
2053
+ # `PackedPolicySize` response element indicates by percentage how close
2054
+ # the policies and tags for your request are to the upper size limit.
2002
2055
  #
2003
2056
  # </note>
2004
2057
  #
@@ -2011,10 +2064,10 @@ module Aws::STS
2011
2064
  # The duration, in seconds, that the session should last. Acceptable
2012
2065
  # durations for federation sessions range from 900 seconds (15 minutes)
2013
2066
  # to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the
2014
- # default. Sessions obtained using Amazon Web Services account root user
2015
- # credentials are restricted to a maximum of 3,600 seconds (one hour).
2016
- # If the specified duration is longer than one hour, the session
2017
- # obtained by using root user credentials defaults to one hour.
2067
+ # default. Sessions obtained using root user credentials are restricted
2068
+ # to a maximum of 3,600 seconds (one hour). If the specified duration is
2069
+ # longer than one hour, the session obtained by using root user
2070
+ # credentials defaults to one hour.
2018
2071
  #
2019
2072
  # @option params [Array<Types::Tag>] :tags
2020
2073
  # A list of session tags. Each session tag consists of a key name and an
@@ -2026,12 +2079,12 @@ module Aws::STS
2026
2079
  # can’t exceed 256 characters. For these and additional limits, see [IAM
2027
2080
  # and STS Character Limits][2] in the *IAM User Guide*.
2028
2081
  #
2029
- # <note markdown="1"> An Amazon Web Services conversion compresses the passed session
2030
- # policies and session tags into a packed binary format that has a
2031
- # separate limit. Your request can fail for this limit even if your
2032
- # plaintext meets the other requirements. The `PackedPolicySize`
2033
- # response element indicates by percentage how close the policies and
2034
- # tags for your request are to the upper size limit.
2082
+ # <note markdown="1"> An Amazon Web Services conversion compresses the passed inline session
2083
+ # policy, managed policy ARNs, and session tags into a packed binary
2084
+ # format that has a separate limit. Your request can fail for this limit
2085
+ # even if your plaintext meets the other requirements. The
2086
+ # `PackedPolicySize` response element indicates by percentage how close
2087
+ # the policies and tags for your request are to the upper size limit.
2035
2088
  #
2036
2089
  # </note>
2037
2090
  #
@@ -2134,14 +2187,15 @@ module Aws::STS
2134
2187
  # secret access key, and a security token. Typically, you use
2135
2188
  # `GetSessionToken` if you want to use MFA to protect programmatic calls
2136
2189
  # to specific Amazon Web Services API operations like Amazon EC2
2137
- # `StopInstances`. MFA-enabled IAM users would need to call
2138
- # `GetSessionToken` and submit an MFA code that is associated with their
2139
- # MFA device. Using the temporary security credentials that are returned
2140
- # from the call, IAM users can then make programmatic calls to API
2141
- # operations that require MFA authentication. If you do not supply a
2142
- # correct MFA code, then the API returns an access denied error. For a
2143
- # comparison of `GetSessionToken` with the other API operations that
2144
- # produce temporary credentials, see [Requesting Temporary Security
2190
+ # `StopInstances`.
2191
+ #
2192
+ # MFA-enabled IAM users must call `GetSessionToken` and submit an MFA
2193
+ # code that is associated with their MFA device. Using the temporary
2194
+ # security credentials that the call returns, IAM users can then make
2195
+ # programmatic calls to API operations that require MFA authentication.
2196
+ # An incorrect MFA code causes the API to return an access denied error.
2197
+ # For a comparison of `GetSessionToken` with the other API operations
2198
+ # that produce temporary credentials, see [Requesting Temporary Security
2145
2199
  # Credentials][1] and [Comparing the Amazon Web Services STS API
2146
2200
  # operations][2] in the *IAM User Guide*.
2147
2201
  #
@@ -2156,13 +2210,13 @@ module Aws::STS
2156
2210
  # **Session Duration**
2157
2211
  #
2158
2212
  # The `GetSessionToken` operation must be called by using the long-term
2159
- # Amazon Web Services security credentials of the Amazon Web Services
2160
- # account root user or an IAM user. Credentials that are created by IAM
2161
- # users are valid for the duration that you specify. This duration can
2162
- # range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds
2163
- # (36 hours), with a default of 43,200 seconds (12 hours). Credentials
2164
- # based on account credentials can range from 900 seconds (15 minutes)
2165
- # up to 3,600 seconds (1 hour), with a default of 1 hour.
2213
+ # Amazon Web Services security credentials of an IAM user. Credentials
2214
+ # that are created by IAM users are valid for the duration that you
2215
+ # specify. This duration can range from 900 seconds (15 minutes) up to a
2216
+ # maximum of 129,600 seconds (36 hours), with a default of 43,200
2217
+ # seconds (12 hours). Credentials based on account credentials can range
2218
+ # from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a
2219
+ # default of 1 hour.
2166
2220
  #
2167
2221
  # **Permissions**
2168
2222
  #
@@ -2176,24 +2230,23 @@ module Aws::STS
2176
2230
  # * You cannot call any STS API *except* `AssumeRole` or
2177
2231
  # `GetCallerIdentity`.
2178
2232
  #
2179
- # <note markdown="1"> We recommend that you do not call `GetSessionToken` with Amazon Web
2180
- # Services account root user credentials. Instead, follow our [best
2181
- # practices][4] by creating one or more IAM users, giving them the
2182
- # necessary permissions, and using IAM users for everyday interaction
2183
- # with Amazon Web Services.
2233
+ # The credentials that `GetSessionToken` returns are based on
2234
+ # permissions associated with the IAM user whose credentials were used
2235
+ # to call the operation. The temporary credentials have the same
2236
+ # permissions as the IAM user.
2184
2237
  #
2185
- # </note>
2238
+ # <note markdown="1"> Although it is possible to call `GetSessionToken` using the security
2239
+ # credentials of an Amazon Web Services account root user rather than an
2240
+ # IAM user, we do not recommend it. If `GetSessionToken` is called using
2241
+ # root user credentials, the temporary credentials have root user
2242
+ # permissions. For more information, see [Safeguard your root user
2243
+ # credentials and don't use them for everyday tasks][4] in the *IAM
2244
+ # User Guide*
2186
2245
  #
2187
- # The credentials that are returned by `GetSessionToken` are based on
2188
- # permissions associated with the user whose credentials were used to
2189
- # call the operation. If `GetSessionToken` is called using Amazon Web
2190
- # Services account root user credentials, the temporary credentials have
2191
- # root user permissions. Similarly, if `GetSessionToken` is called using
2192
- # the credentials of an IAM user, the temporary credentials have the
2193
- # same permissions as the IAM user.
2246
+ # </note>
2194
2247
  #
2195
2248
  # For more information about using `GetSessionToken` to create temporary
2196
- # credentials, go to [Temporary Credentials for Users in Untrusted
2249
+ # credentials, see [Temporary Credentials for Users in Untrusted
2197
2250
  # Environments][5] in the *IAM User Guide*.
2198
2251
  #
2199
2252
  #
@@ -2201,7 +2254,7 @@ module Aws::STS
2201
2254
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
2202
2255
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
2203
2256
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getsessiontoken.html
2204
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users
2257
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials
2205
2258
  # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken
2206
2259
  #
2207
2260
  # @option params [Integer] :duration_seconds
@@ -2299,7 +2352,7 @@ module Aws::STS
2299
2352
  params: params,
2300
2353
  config: config)
2301
2354
  context[:gem_name] = 'aws-sdk-core'
2302
- context[:gem_version] = '3.131.1'
2355
+ context[:gem_version] = '3.188.0'
2303
2356
  Seahorse::Client::Request.new(handlers, context)
2304
2357
  end
2305
2358