aws-sdk-core 3.114.1 → 3.130.1

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +216 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +153 -0
  5. data/lib/aws-defaults/defaults_mode_config_resolver.rb +107 -0
  6. data/lib/aws-defaults.rb +3 -0
  7. data/lib/aws-sdk-core/assume_role_credentials.rb +19 -0
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +7 -1
  9. data/lib/aws-sdk-core/client_stubs.rb +5 -1
  10. data/lib/aws-sdk-core/credential_provider_chain.rb +2 -1
  11. data/lib/aws-sdk-core/ec2_metadata.rb +27 -7
  12. data/lib/aws-sdk-core/ecs_credentials.rb +5 -0
  13. data/lib/aws-sdk-core/errors.rb +5 -1
  14. data/lib/aws-sdk-core/instance_profile_credentials.rb +119 -18
  15. data/lib/aws-sdk-core/json/json_engine.rb +10 -8
  16. data/lib/aws-sdk-core/json/oj_engine.rb +33 -6
  17. data/lib/aws-sdk-core/json/parser.rb +8 -0
  18. data/lib/aws-sdk-core/json.rb +8 -26
  19. data/lib/aws-sdk-core/log/param_filter.rb +9 -1
  20. data/lib/aws-sdk-core/pageable_response.rb +72 -26
  21. data/lib/aws-sdk-core/pager.rb +3 -0
  22. data/lib/aws-sdk-core/param_validator.rb +29 -0
  23. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +340 -0
  24. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +3 -1
  25. data/lib/aws-sdk-core/plugins/defaults_mode.rb +40 -0
  26. data/lib/aws-sdk-core/plugins/http_checksum.rb +8 -1
  27. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +17 -0
  28. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +16 -1
  29. data/lib/aws-sdk-core/plugins/recursion_detection.rb +27 -0
  30. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +47 -1
  31. data/lib/aws-sdk-core/plugins/response_paging.rb +1 -1
  32. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +5 -3
  33. data/lib/aws-sdk-core/plugins/retry_errors.rb +21 -5
  34. data/lib/aws-sdk-core/plugins/signature_v4.rb +15 -24
  35. data/lib/aws-sdk-core/plugins/stub_responses.rb +5 -1
  36. data/lib/aws-sdk-core/process_credentials.rb +3 -2
  37. data/lib/aws-sdk-core/refreshing_credentials.rb +40 -11
  38. data/lib/aws-sdk-core/rest/request/body.rb +19 -1
  39. data/lib/aws-sdk-core/rest/request/headers.rb +18 -6
  40. data/lib/aws-sdk-core/rest/response/headers.rb +3 -1
  41. data/lib/aws-sdk-core/shared_config.rb +27 -8
  42. data/lib/aws-sdk-core/shared_credentials.rb +7 -1
  43. data/lib/aws-sdk-core/sso_credentials.rb +8 -3
  44. data/lib/aws-sdk-core/structure.rb +10 -1
  45. data/lib/aws-sdk-core/xml/parser/engines/ox.rb +1 -1
  46. data/lib/aws-sdk-core/xml/parser/engines/rexml.rb +0 -8
  47. data/lib/aws-sdk-core/xml/parser/frame.rb +23 -0
  48. data/lib/aws-sdk-core.rb +6 -0
  49. data/lib/aws-sdk-sso/client.rb +27 -5
  50. data/lib/aws-sdk-sso.rb +1 -1
  51. data/lib/aws-sdk-sts/client.rb +424 -415
  52. data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +5 -1
  53. data/lib/aws-sdk-sts/presigner.rb +7 -1
  54. data/lib/aws-sdk-sts/types.rb +199 -181
  55. data/lib/aws-sdk-sts.rb +1 -1
  56. data/lib/seahorse/client/configuration.rb +4 -0
  57. data/lib/seahorse/client/h2/connection.rb +14 -11
  58. data/lib/seahorse/client/h2/handler.rb +4 -5
  59. data/lib/seahorse/client/net_http/connection_pool.rb +7 -0
  60. data/lib/seahorse/client/net_http/handler.rb +15 -7
  61. data/lib/seahorse/client/net_http/patches.rb +13 -84
  62. data/lib/seahorse/client/plugins/content_length.rb +11 -5
  63. data/lib/seahorse/client/plugins/net_http.rb +33 -2
  64. data/lib/seahorse/model/operation.rb +3 -0
  65. data/lib/seahorse/model/shapes.rb +25 -0
  66. metadata +11 -6
  67. data/lib/aws-sdk-sso/plugins/content_type.rb +0 -25
@@ -27,6 +27,9 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  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
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
30
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
34
  require 'aws-sdk-core/plugins/protocols/query.rb'
32
35
  require 'aws-sdk-sts/plugins/sts_regional_endpoints.rb'
@@ -74,6 +77,9 @@ module Aws::STS
74
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
75
78
  add_plugin(Aws::Plugins::TransferEncoding)
76
79
  add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::DefaultsMode)
82
+ add_plugin(Aws::Plugins::RecursionDetection)
77
83
  add_plugin(Aws::Plugins::SignatureV4)
78
84
  add_plugin(Aws::Plugins::Protocols::Query)
79
85
  add_plugin(Aws::STS::Plugins::STSRegionalEndpoints)
@@ -121,7 +127,9 @@ module Aws::STS
121
127
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
122
128
  # are very aggressive. Construct and pass an instance of
123
129
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
124
- # enable retries and extended timeouts.
130
+ # enable retries and extended timeouts. Instance profile credential
131
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
132
+ # to true.
125
133
  #
126
134
  # @option options [required, String] :region
127
135
  # The AWS region to connect to. The configured `:region` is
@@ -175,6 +183,10 @@ module Aws::STS
175
183
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
184
  # a clock skew correction and retry requests with skewed client clocks.
177
185
  #
186
+ # @option options [String] :defaults_mode ("legacy")
187
+ # See {Aws::DefaultsModeConfiguration} for a list of the
188
+ # accepted modes and the configuration defaults that are included.
189
+ #
178
190
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
191
  # Set to true to disable SDK automatically adding host prefix
180
192
  # to default service endpoint when available.
@@ -282,6 +294,15 @@ module Aws::STS
282
294
  # ** Please note ** When response stubbing is enabled, no HTTP
283
295
  # requests are made, and retries are disabled.
284
296
  #
297
+ # @option options [Boolean] :use_dualstack_endpoint
298
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
299
+ # will be used if available.
300
+ #
301
+ # @option options [Boolean] :use_fips_endpoint
302
+ # When set to `true`, fips compatible endpoints will be used if available.
303
+ # When a `fips` region is used, the region is normalized and this config
304
+ # is set to `true`.
305
+ #
285
306
  # @option options [Boolean] :validate_params (true)
286
307
  # When `true`, request parameters are validated before
287
308
  # sending the request.
@@ -293,7 +314,7 @@ module Aws::STS
293
314
  # seconds to wait when opening a HTTP session before raising a
294
315
  # `Timeout::Error`.
295
316
  #
296
- # @option options [Integer] :http_read_timeout (60) The default
317
+ # @option options [Float] :http_read_timeout (60) The default
297
318
  # number of seconds to wait for response data. This value can
298
319
  # safely be set per-request on the session.
299
320
  #
@@ -309,6 +330,9 @@ module Aws::STS
309
330
  # disables this behaviour. This value can safely be set per
310
331
  # request on the session.
311
332
  #
333
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
334
+ # in seconds.
335
+ #
312
336
  # @option options [Boolean] :http_wire_trace (false) When `true`,
313
337
  # HTTP debug output will be sent to the `:logger`.
314
338
  #
@@ -335,20 +359,21 @@ module Aws::STS
335
359
  # @!group API Operations
336
360
 
337
361
  # Returns a set of temporary security credentials that you can use to
338
- # access AWS resources that you might not normally have access to. These
339
- # temporary credentials consist of an access key ID, a secret access
340
- # key, and a security token. Typically, you use `AssumeRole` within your
341
- # account or for cross-account access. For a comparison of `AssumeRole`
342
- # with other API operations that produce temporary credentials, see
343
- # [Requesting Temporary Security Credentials][1] and [Comparing the AWS
344
- # STS API operations][2] in the *IAM User Guide*.
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*.
345
370
  #
346
371
  # **Permissions**
347
372
  #
348
373
  # The temporary security credentials created by `AssumeRole` can be used
349
- # to make API calls to any AWS service with the following exception: You
350
- # cannot call the AWS STS `GetFederationToken` or `GetSessionToken` API
351
- # operations.
374
+ # to make API calls to any Amazon Web Services service with the
375
+ # following exception: You cannot call the Amazon Web Services STS
376
+ # `GetFederationToken` or `GetSessionToken` API operations.
352
377
  #
353
378
  # (Optional) You can pass inline or managed [session policies][3] to
354
379
  # this operation. You can pass a single JSON policy document to use as
@@ -358,34 +383,44 @@ module Aws::STS
358
383
  # characters. Passing policies to this operation returns new temporary
359
384
  # credentials. The resulting session's permissions are the intersection
360
385
  # of the role's identity-based policy and the session policies. You can
361
- # use the role's temporary credentials in subsequent AWS API calls to
362
- # access resources in the account that owns the role. You cannot use
363
- # session policies to grant more permissions than those allowed by the
364
- # identity-based policy of the role that is being assumed. For more
365
- # information, see [Session Policies][3] in the *IAM User Guide*.
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.
366
397
  #
367
- # To assume a role from a different account, your AWS account must be
368
- # trusted by the role. The trust relationship is defined in the role's
369
- # trust policy when the role is created. That trust policy states which
370
- # accounts are allowed to delegate that access to users in the account.
398
+ # To assume a role from a different account, your Amazon Web Services
399
+ # account must be trusted by the role. The trust relationship is defined
400
+ # in the role's trust policy when the role is created. That trust
401
+ # policy states which accounts are allowed to delegate that access to
402
+ # users in the account.
371
403
  #
372
404
  # A user who wants to access a role in a different account must also
373
405
  # have permissions that are delegated from the user account
374
406
  # administrator. The administrator must attach a policy that allows the
375
407
  # user to call `AssumeRole` for the ARN of the role in the other
376
- # account. If the user is in the same account as the role, then you can
377
- # do either of the following:
408
+ # account.
409
+ #
410
+ # To allow a user to assume a role in the same account, you can do
411
+ # either of the following:
378
412
  #
379
- # * Attach a policy to the user (identical to the previous user in a
380
- # different account).
413
+ # * Attach a policy to the user that allows the user to call
414
+ # `AssumeRole` (as long as the role's trust policy trusts the
415
+ # account).
381
416
  #
382
417
  # * Add the user as a principal directly in the role's trust policy.
383
418
  #
384
- # In this case, the trust policy acts as an IAM resource-based policy.
385
- # Users in the same account as the role do not need explicit permission
386
- # to assume the role. For more information about trust policies and
387
- # resource-based policies, see [IAM Policies][4] in the *IAM User
388
- # Guide*.
419
+ # You can do either because the role’s trust policy acts as an IAM
420
+ # resource-based policy. When a resource-based policy grants access to a
421
+ # principal in the same account, no additional identity-based policy is
422
+ # required. For more information about trust policies and resource-based
423
+ # policies, see [IAM Policies][4] in the *IAM User Guide*.
389
424
  #
390
425
  # **Tags**
391
426
  #
@@ -408,12 +443,12 @@ module Aws::STS
408
443
  # (Optional) You can include multi-factor authentication (MFA)
409
444
  # information when you call `AssumeRole`. This is useful for
410
445
  # cross-account scenarios to ensure that the user that assumes the role
411
- # has been authenticated with an AWS MFA device. In that scenario, the
412
- # trust policy of the role being assumed includes a condition that tests
413
- # for MFA authentication. If the caller does not include valid MFA
414
- # information, the request to assume the role is denied. The condition
415
- # in a trust policy that tests for MFA authentication might look like
416
- # the following example.
446
+ # has been authenticated with an Amazon Web Services MFA device. In that
447
+ # scenario, the trust policy of the role being assumed includes a
448
+ # condition that tests for MFA authentication. If the caller does not
449
+ # include valid MFA information, the request to assume the role is
450
+ # denied. The condition in a trust policy that tests for MFA
451
+ # authentication might look like the following example.
417
452
  #
418
453
  # `"Condition": \{"Bool": \{"aws:MultiFactorAuthPresent": true\}\}`
419
454
  #
@@ -449,7 +484,7 @@ module Aws::STS
449
484
  # also used in the ARN of the assumed role principal. This means that
450
485
  # subsequent cross-account API requests that use the temporary security
451
486
  # credentials will expose the role session name to the external account
452
- # in their AWS CloudTrail logs.
487
+ # in their CloudTrail logs.
453
488
  #
454
489
  # The regex used to validate this parameter is a string of characters
455
490
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -464,26 +499,27 @@ module Aws::STS
464
499
  # This parameter is optional. You can provide up to 10 managed policy
465
500
  # ARNs. However, the plaintext that you use for both inline and managed
466
501
  # session policies can't exceed 2,048 characters. For more information
467
- # about ARNs, see [Amazon Resource Names (ARNs) and AWS Service
468
- # Namespaces][1] in the AWS General Reference.
502
+ # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
503
+ # Service Namespaces][1] in the Amazon Web Services General Reference.
469
504
  #
470
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
471
- # tags into a packed binary format that has a separate limit. Your
472
- # request can fail for this limit even if your plaintext meets the other
473
- # requirements. The `PackedPolicySize` response element indicates by
474
- # percentage how close the policies and tags for your request are to the
475
- # upper size limit.
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.
476
511
  #
477
512
  # </note>
478
513
  #
479
514
  # Passing policies to this operation returns new temporary credentials.
480
515
  # The resulting session's permissions are the intersection of the
481
516
  # role's identity-based policy and the session policies. You can use
482
- # the role's temporary credentials in subsequent AWS API calls to
483
- # access resources in the account that owns the role. You cannot use
484
- # session policies to grant more permissions than those allowed by the
485
- # identity-based policy of the role that is being assumed. For more
486
- # information, see [Session Policies][2] in the *IAM User Guide*.
517
+ # the role's temporary credentials in subsequent Amazon Web Services
518
+ # API calls to access resources in the account that owns the role. You
519
+ # cannot use session policies to grant more permissions than those
520
+ # allowed by the identity-based policy of the role that is being
521
+ # assumed. For more information, see [Session Policies][2] in the *IAM
522
+ # User Guide*.
487
523
  #
488
524
  #
489
525
  #
@@ -498,11 +534,11 @@ module Aws::STS
498
534
  # new temporary credentials. The resulting session's permissions are
499
535
  # the intersection of the role's identity-based policy and the session
500
536
  # policies. You can use the role's temporary credentials in subsequent
501
- # AWS API calls to access resources in the account that owns the role.
502
- # You cannot use session policies to grant more permissions than those
503
- # allowed by the identity-based policy of the role that is being
504
- # assumed. For more information, see [Session Policies][1] in the *IAM
505
- # User Guide*.
537
+ # Amazon Web Services API calls to access resources in the account that
538
+ # owns the role. You cannot use session policies to grant more
539
+ # permissions than those allowed by the identity-based policy of the
540
+ # role that is being assumed. For more information, see [Session
541
+ # Policies][1] in the *IAM User Guide*.
506
542
  #
507
543
  # The plaintext that you use for both inline and managed session
508
544
  # policies can't exceed 2,048 characters. The JSON policy characters
@@ -511,12 +547,12 @@ module Aws::STS
511
547
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
512
548
  # characters.
513
549
  #
514
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
515
- # tags into a packed binary format that has a separate limit. Your
516
- # request can fail for this limit even if your plaintext meets the other
517
- # requirements. The `PackedPolicySize` response element indicates by
518
- # percentage how close the policies and tags for your request are to the
519
- # upper size limit.
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.
520
556
  #
521
557
  # </note>
522
558
  #
@@ -526,15 +562,25 @@ module Aws::STS
526
562
  #
527
563
  # @option params [Integer] :duration_seconds
528
564
  # The duration, in seconds, of the role session. The value specified can
529
- # can range from 900 seconds (15 minutes) up to the maximum session
530
- # duration that is set for the role. The maximum session duration
531
- # setting can have a value from 1 hour to 12 hours. If you specify a
532
- # value higher than this setting or the administrator setting (whichever
533
- # is lower), the operation fails. For example, if you specify a session
534
- # duration of 12 hours, but your administrator set the maximum session
535
- # duration to 6 hours, your operation fails. To learn how to view the
536
- # maximum value for your role, see [View the Maximum Session Duration
537
- # Setting for a Role][1] in the *IAM User Guide*.
565
+ # range from 900 seconds (15 minutes) up to the maximum session duration
566
+ # set for the role. The maximum session duration setting can have a
567
+ # value from 1 hour to 12 hours. If you specify a value higher than this
568
+ # setting or the administrator setting (whichever is lower), the
569
+ # operation fails. For example, if you specify a session duration of 12
570
+ # hours, but your administrator set the maximum session duration to 6
571
+ # hours, your operation fails.
572
+ #
573
+ # Role chaining limits your Amazon Web Services CLI or Amazon Web
574
+ # Services API role session to a maximum of one hour. When you use the
575
+ # `AssumeRole` API operation to assume a role, you can specify the
576
+ # duration of your role session with the `DurationSeconds` parameter.
577
+ # You can specify a parameter value of up to 43200 seconds (12 hours),
578
+ # depending on the maximum session duration setting for your role.
579
+ # However, if you assume a role using role chaining and provide a
580
+ # `DurationSeconds` parameter value greater than one hour, the operation
581
+ # fails. To learn how to view the maximum value for your role, see [View
582
+ # the Maximum Session Duration Setting for a Role][1] in the *IAM User
583
+ # Guide*.
538
584
  #
539
585
  # By default, the value is set to `3600` seconds.
540
586
  #
@@ -543,8 +589,8 @@ module Aws::STS
543
589
  # The request to the federation endpoint for a console sign-in token
544
590
  # takes a `SessionDuration` parameter that specifies the maximum length
545
591
  # of the console session. For more information, see [Creating a URL that
546
- # Enables Federated Users to Access the AWS Management Console][2] in
547
- # the *IAM User Guide*.
592
+ # Enables Federated Users to Access the Amazon Web Services Management
593
+ # Console][2] in the *IAM User Guide*.
548
594
  #
549
595
  # </note>
550
596
  #
@@ -556,20 +602,20 @@ module Aws::STS
556
602
  # @option params [Array<Types::Tag>] :tags
557
603
  # A list of session tags that you want to pass. Each session tag
558
604
  # consists of a key name and an associated value. For more information
559
- # about session tags, see [Tagging AWS STS Sessions][1] in the *IAM User
560
- # Guide*.
605
+ # about session tags, see [Tagging Amazon Web Services STS Sessions][1]
606
+ # in the *IAM User Guide*.
561
607
  #
562
608
  # This parameter is optional. You can pass up to 50 session tags. The
563
609
  # plaintext session tag keys can’t exceed 128 characters, and the values
564
610
  # can’t exceed 256 characters. For these and additional limits, see [IAM
565
611
  # and STS Character Limits][2] in the *IAM User Guide*.
566
612
  #
567
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
568
- # tags into a packed binary format that has a separate limit. Your
569
- # request can fail for this limit even if your plaintext meets the other
570
- # requirements. The `PackedPolicySize` response element indicates by
571
- # percentage how close the policies and tags for your request are to the
572
- # upper size limit.
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.
573
619
  #
574
620
  # </note>
575
621
  #
@@ -588,14 +634,14 @@ module Aws::STS
588
634
  # operation, the new session inherits any transitive session tags from
589
635
  # the calling session. If you pass a session tag with the same key as an
590
636
  # inherited tag, the operation fails. To view the inherited tags for a
591
- # session, see the AWS CloudTrail logs. For more information, see
592
- # [Viewing Session Tags in CloudTrail][3] in the *IAM User Guide*.
637
+ # session, see the CloudTrail logs. For more information, see [Viewing
638
+ # Session Tags in CloudTrail][3] in the *IAM User Guide*.
593
639
  #
594
640
  #
595
641
  #
596
642
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
597
643
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
598
- # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/session-tags.html#id_session-tags_ctlogs
644
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_ctlogs
599
645
  #
600
646
  # @option params [Array<String>] :transitive_tag_keys
601
647
  # A list of keys for session tags that you want to set as transitive. If
@@ -625,7 +671,8 @@ module Aws::STS
625
671
  # trusted account. That way, only someone with the ID can assume the
626
672
  # role, rather than everyone in the account. For more information about
627
673
  # the external ID, see [How to Use an External ID When Granting Access
628
- # to Your AWS Resources to a Third Party][1] in the *IAM User Guide*.
674
+ # to Your Amazon Web Services Resources to a Third Party][1] in the *IAM
675
+ # User Guide*.
629
676
  #
630
677
  # The regex used to validate this parameter is a string of characters
631
678
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -666,18 +713,18 @@ module Aws::STS
666
713
  #
667
714
  # You can require users to specify a source identity when they assume a
668
715
  # role. You do this by using the `sts:SourceIdentity` condition key in a
669
- # role trust policy. You can use source identity information in AWS
716
+ # role trust policy. You can use source identity information in
670
717
  # CloudTrail logs to determine who took actions with a role. You can use
671
718
  # the `aws:SourceIdentity` condition key to further control access to
672
- # AWS resources based on the value of source identity. For more
673
- # information about using source identity, see [Monitor and control
674
- # actions taken with assumed roles][1] in the *IAM User Guide*.
719
+ # Amazon Web Services resources based on the value of source identity.
720
+ # For more information about using source identity, see [Monitor and
721
+ # control actions taken with assumed roles][1] in the *IAM User Guide*.
675
722
  #
676
723
  # The regex used to validate this parameter is a string of characters
677
724
  # consisting of upper- and lower-case alphanumeric characters with no
678
725
  # spaces. You can also include underscores or any of the following
679
726
  # characters: =,.@-. You cannot use a value that begins with the text
680
- # `aws:`. This prefix is reserved for AWS internal use.
727
+ # `aws:`. This prefix is reserved for Amazon Web Services internal use.
681
728
  #
682
729
  #
683
730
  #
@@ -781,16 +828,17 @@ module Aws::STS
781
828
  # Returns a set of temporary security credentials for users who have
782
829
  # been authenticated via a SAML authentication response. This operation
783
830
  # provides a mechanism for tying an enterprise identity store or
784
- # directory to role-based AWS access without user-specific credentials
785
- # or configuration. For a comparison of `AssumeRoleWithSAML` with the
786
- # other API operations that produce temporary credentials, see
787
- # [Requesting Temporary Security Credentials][1] and [Comparing the AWS
788
- # STS API operations][2] in the *IAM User Guide*.
831
+ # directory to role-based Amazon Web Services access without
832
+ # user-specific credentials or configuration. For a comparison of
833
+ # `AssumeRoleWithSAML` with the other API operations that produce
834
+ # temporary credentials, see [Requesting Temporary Security
835
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
836
+ # operations][2] in the *IAM User Guide*.
789
837
  #
790
838
  # The temporary security credentials returned by this operation consist
791
839
  # of an access key ID, a secret access key, and a security token.
792
840
  # Applications can use these temporary security credentials to sign
793
- # calls to AWS services.
841
+ # calls to Amazon Web Services services.
794
842
  #
795
843
  # **Session Duration**
796
844
  #
@@ -810,22 +858,22 @@ module Aws::STS
810
858
  # use those operations to create a console URL. For more information,
811
859
  # see [Using IAM Roles][4] in the *IAM User Guide*.
812
860
  #
813
- # <note markdown="1"> [Role chaining][5] limits your AWS CLI or AWS API role session to a
814
- # maximum of one hour. When you use the `AssumeRole` API operation to
815
- # assume a role, you can specify the duration of your role session with
816
- # the `DurationSeconds` parameter. You can specify a parameter value of
817
- # up to 43200 seconds (12 hours), depending on the maximum session
818
- # duration setting for your role. However, if you assume a role using
819
- # role chaining and provide a `DurationSeconds` parameter value greater
820
- # than one hour, the operation fails.
861
+ # <note markdown="1"> [Role chaining][5] limits your CLI or Amazon Web Services API role
862
+ # session to a maximum of one hour. When you use the `AssumeRole` API
863
+ # operation to assume a role, you can specify the duration of your role
864
+ # session with the `DurationSeconds` parameter. You can specify a
865
+ # parameter value of up to 43200 seconds (12 hours), depending on the
866
+ # maximum session duration setting for your role. However, if you assume
867
+ # a role using role chaining and provide a `DurationSeconds` parameter
868
+ # value greater than one hour, the operation fails.
821
869
  #
822
870
  # </note>
823
871
  #
824
872
  # **Permissions**
825
873
  #
826
874
  # The temporary security credentials created by `AssumeRoleWithSAML` can
827
- # be used to make API calls to any AWS service with the following
828
- # exception: you cannot call the STS `GetFederationToken` or
875
+ # be used to make API calls to any Amazon Web Services service with the
876
+ # following exception: you cannot call the STS `GetFederationToken` or
829
877
  # `GetSessionToken` API operations.
830
878
  #
831
879
  # (Optional) You can pass inline or managed [session policies][6] to
@@ -836,22 +884,23 @@ module Aws::STS
836
884
  # characters. Passing policies to this operation returns new temporary
837
885
  # credentials. The resulting session's permissions are the intersection
838
886
  # of the role's identity-based policy and the session policies. You can
839
- # use the role's temporary credentials in subsequent AWS API calls to
840
- # access resources in the account that owns the role. You cannot use
841
- # session policies to grant more permissions than those allowed by the
842
- # identity-based policy of the role that is being assumed. For more
843
- # information, see [Session Policies][6] in the *IAM User Guide*.
844
- #
845
- # Calling `AssumeRoleWithSAML` does not require the use of AWS security
846
- # credentials. The identity of the caller is validated by using keys in
847
- # the metadata document that is uploaded for the SAML provider entity
848
- # for your identity provider.
849
- #
850
- # Calling `AssumeRoleWithSAML` can result in an entry in your AWS
851
- # CloudTrail logs. The entry includes the value in the `NameID` element
852
- # of the SAML assertion. We recommend that you use a `NameIDType` that
853
- # is not associated with any personally identifiable information (PII).
854
- # For example, you could instead use the persistent identifier
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*.
893
+ #
894
+ # Calling `AssumeRoleWithSAML` does not require the use of Amazon Web
895
+ # Services security credentials. The identity of the caller is validated
896
+ # by using keys in the metadata document that is uploaded for the SAML
897
+ # provider entity for your identity provider.
898
+ #
899
+ # Calling `AssumeRoleWithSAML` can result in an entry in your CloudTrail
900
+ # logs. The entry includes the value in the `NameID` element of the SAML
901
+ # assertion. We recommend that you use a `NameIDType` that is not
902
+ # associated with any personally identifiable information (PII). For
903
+ # example, you could instead use the persistent identifier
855
904
  # (`urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`).
856
905
  #
857
906
  # **Tags**
@@ -866,12 +915,12 @@ module Aws::STS
866
915
  # characters. For these and additional limits, see [IAM and STS
867
916
  # Character Limits][8] in the *IAM User Guide*.
868
917
  #
869
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
870
- # tags into a packed binary format that has a separate limit. Your
871
- # request can fail for this limit even if your plaintext meets the other
872
- # requirements. The `PackedPolicySize` response element indicates by
873
- # percentage how close the policies and tags for your request are to the
874
- # upper size limit.
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.
875
924
  #
876
925
  # </note>
877
926
  #
@@ -893,10 +942,11 @@ module Aws::STS
893
942
  #
894
943
  # Before your application can call `AssumeRoleWithSAML`, you must
895
944
  # configure your SAML identity provider (IdP) to issue the claims
896
- # required by AWS. Additionally, you must use AWS Identity and Access
897
- # Management (IAM) to create a SAML provider entity in your AWS account
898
- # that represents your identity provider. You must also create an IAM
899
- # role that specifies this SAML provider in its trust policy.
945
+ # required by Amazon Web Services. Additionally, you must use Identity
946
+ # and Access Management (IAM) to create a SAML provider entity in your
947
+ # Amazon Web Services account that represents your identity provider.
948
+ # You must also create an IAM role that specifies this SAML provider in
949
+ # its trust policy.
900
950
  #
901
951
  # For more information, see the following resources:
902
952
  #
@@ -953,26 +1003,27 @@ module Aws::STS
953
1003
  # This parameter is optional. You can provide up to 10 managed policy
954
1004
  # ARNs. However, the plaintext that you use for both inline and managed
955
1005
  # session policies can't exceed 2,048 characters. For more information
956
- # about ARNs, see [Amazon Resource Names (ARNs) and AWS Service
957
- # Namespaces][1] in the AWS General Reference.
1006
+ # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
1007
+ # Service Namespaces][1] in the Amazon Web Services General Reference.
958
1008
  #
959
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
960
- # tags into a packed binary format that has a separate limit. Your
961
- # request can fail for this limit even if your plaintext meets the other
962
- # requirements. The `PackedPolicySize` response element indicates by
963
- # percentage how close the policies and tags for your request are to the
964
- # upper size limit.
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.
965
1015
  #
966
1016
  # </note>
967
1017
  #
968
1018
  # Passing policies to this operation returns new temporary credentials.
969
1019
  # The resulting session's permissions are the intersection of the
970
1020
  # role's identity-based policy and the session policies. You can use
971
- # the role's temporary credentials in subsequent AWS API calls to
972
- # access resources in the account that owns the role. You cannot use
973
- # session policies to grant more permissions than those allowed by the
974
- # identity-based policy of the role that is being assumed. For more
975
- # information, see [Session Policies][2] in the *IAM User Guide*.
1021
+ # the role's temporary credentials in subsequent Amazon Web Services
1022
+ # API calls to access resources in the account that owns the role. You
1023
+ # cannot use session policies to grant more permissions than those
1024
+ # allowed by the identity-based policy of the role that is being
1025
+ # assumed. For more information, see [Session Policies][2] in the *IAM
1026
+ # User Guide*.
976
1027
  #
977
1028
  #
978
1029
  #
@@ -987,11 +1038,11 @@ module Aws::STS
987
1038
  # new temporary credentials. The resulting session's permissions are
988
1039
  # the intersection of the role's identity-based policy and the session
989
1040
  # policies. You can use the role's temporary credentials in subsequent
990
- # AWS API calls to access resources in the account that owns the role.
991
- # You cannot use session policies to grant more permissions than those
992
- # allowed by the identity-based policy of the role that is being
993
- # assumed. For more information, see [Session Policies][1] in the *IAM
994
- # User Guide*.
1041
+ # Amazon Web Services API calls to access resources in the account that
1042
+ # owns the role. You cannot use session policies to grant more
1043
+ # permissions than those allowed by the identity-based policy of the
1044
+ # role that is being assumed. For more information, see [Session
1045
+ # Policies][1] in the *IAM User Guide*.
995
1046
  #
996
1047
  # The plaintext that you use for both inline and managed session
997
1048
  # policies can't exceed 2,048 characters. The JSON policy characters
@@ -1000,12 +1051,12 @@ module Aws::STS
1000
1051
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1001
1052
  # characters.
1002
1053
  #
1003
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1004
- # tags into a packed binary format that has a separate limit. Your
1005
- # request can fail for this limit even if your plaintext meets the other
1006
- # requirements. The `PackedPolicySize` response element indicates by
1007
- # percentage how close the policies and tags for your request are to the
1008
- # upper size limit.
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.
1009
1060
  #
1010
1061
  # </note>
1011
1062
  #
@@ -1034,8 +1085,8 @@ module Aws::STS
1034
1085
  # The request to the federation endpoint for a console sign-in token
1035
1086
  # takes a `SessionDuration` parameter that specifies the maximum length
1036
1087
  # of the console session. For more information, see [Creating a URL that
1037
- # Enables Federated Users to Access the AWS Management Console][2] in
1038
- # the *IAM User Guide*.
1088
+ # Enables Federated Users to Access the Amazon Web Services Management
1089
+ # Console][2] in the *IAM User Guide*.
1039
1090
  #
1040
1091
  # </note>
1041
1092
  #
@@ -1128,37 +1179,41 @@ module Aws::STS
1128
1179
 
1129
1180
  # Returns a set of temporary security credentials for users who have
1130
1181
  # been authenticated in a mobile or web application with a web identity
1131
- # provider. Example providers include Amazon Cognito, Login with Amazon,
1132
- # Facebook, Google, or any OpenID Connect-compatible identity provider.
1182
+ # provider. Example providers include the OAuth 2.0 providers Login with
1183
+ # Amazon and Facebook, or any OpenID Connect-compatible identity
1184
+ # provider such as Google or [Amazon Cognito federated identities][1].
1133
1185
  #
1134
1186
  # <note markdown="1"> For mobile applications, we recommend that you use Amazon Cognito. You
1135
- # can use Amazon Cognito with the [AWS SDK for iOS Developer Guide][1]
1136
- # and the [AWS SDK for Android Developer Guide][2] to uniquely identify
1137
- # a user. You can also supply the user with a consistent identity
1138
- # throughout the lifetime of an application.
1139
- #
1140
- # To learn more about Amazon Cognito, see [Amazon Cognito Overview][3]
1141
- # in *AWS SDK for Android Developer Guide* and [Amazon Cognito
1142
- # Overview][4] in the *AWS SDK for iOS Developer Guide*.
1187
+ # can use Amazon Cognito with the [Amazon Web Services SDK for iOS
1188
+ # Developer Guide][2] and the [Amazon Web Services SDK for Android
1189
+ # Developer Guide][3] to uniquely identify a user. You can also supply
1190
+ # the user with a consistent identity throughout the lifetime of an
1191
+ # application.
1192
+ #
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*.
1143
1197
  #
1144
1198
  # </note>
1145
1199
  #
1146
- # Calling `AssumeRoleWithWebIdentity` does not require the use of AWS
1147
- # security credentials. Therefore, you can distribute an application
1148
- # (for example, on mobile devices) that requests temporary security
1149
- # credentials without including long-term AWS credentials in the
1150
- # application. You also don't need to deploy server-based proxy
1151
- # services that use long-term AWS credentials. Instead, the identity of
1152
- # the caller is validated by using a token from the web identity
1153
- # provider. For a comparison of `AssumeRoleWithWebIdentity` with the
1154
- # other API operations that produce temporary credentials, see
1155
- # [Requesting Temporary Security Credentials][5] and [Comparing the AWS
1156
- # STS API operations][6] in the *IAM User Guide*.
1200
+ # Calling `AssumeRoleWithWebIdentity` does not require the use of Amazon
1201
+ # Web Services security credentials. Therefore, you can distribute an
1202
+ # application (for example, on mobile devices) that requests temporary
1203
+ # security credentials without including long-term Amazon Web Services
1204
+ # credentials in the application. You also don't need to deploy
1205
+ # server-based proxy services that use long-term Amazon Web Services
1206
+ # credentials. Instead, the identity of the caller is validated by using
1207
+ # a token from the web identity provider. For a comparison of
1208
+ # `AssumeRoleWithWebIdentity` with the other API operations that produce
1209
+ # 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*.
1157
1212
  #
1158
1213
  # The temporary security credentials returned by this API consist of an
1159
1214
  # access key ID, a secret access key, and a security token. Applications
1160
- # can use these temporary security credentials to sign calls to AWS
1161
- # service API operations.
1215
+ # can use these temporary security credentials to sign calls to Amazon
1216
+ # Web Services service API operations.
1162
1217
  #
1163
1218
  # **Session Duration**
1164
1219
  #
@@ -1169,20 +1224,20 @@ module Aws::STS
1169
1224
  # to the maximum session duration setting for the role. This setting can
1170
1225
  # have a value from 1 hour to 12 hours. To learn how to view the maximum
1171
1226
  # value for your role, see [View the Maximum Session Duration Setting
1172
- # for a Role][7] in the *IAM User Guide*. The maximum session duration
1227
+ # for a Role][8] in the *IAM User Guide*. The maximum session duration
1173
1228
  # limit applies when you use the `AssumeRole*` API operations or the
1174
1229
  # `assume-role*` CLI commands. However the limit does not apply when you
1175
1230
  # use those operations to create a console URL. For more information,
1176
- # see [Using IAM Roles][8] in the *IAM User Guide*.
1231
+ # see [Using IAM Roles][9] in the *IAM User Guide*.
1177
1232
  #
1178
1233
  # **Permissions**
1179
1234
  #
1180
1235
  # The temporary security credentials created by
1181
- # `AssumeRoleWithWebIdentity` can be used to make API calls to any AWS
1182
- # service with the following exception: you cannot call the STS
1183
- # `GetFederationToken` or `GetSessionToken` API operations.
1236
+ # `AssumeRoleWithWebIdentity` can be used to make API calls to any
1237
+ # Amazon Web Services service with the following exception: you cannot
1238
+ # call the STS `GetFederationToken` or `GetSessionToken` API operations.
1184
1239
  #
1185
- # (Optional) You can pass inline or managed [session policies][9] to
1240
+ # (Optional) You can pass inline or managed [session policies][10] to
1186
1241
  # this operation. You can pass a single JSON policy document to use as
1187
1242
  # an inline session policy. You can also specify up to 10 managed
1188
1243
  # policies to use as managed session policies. The plaintext that you
@@ -1190,30 +1245,31 @@ module Aws::STS
1190
1245
  # characters. Passing policies to this operation returns new temporary
1191
1246
  # credentials. The resulting session's permissions are the intersection
1192
1247
  # of the role's identity-based policy and the session policies. You can
1193
- # use the role's temporary credentials in subsequent AWS API calls to
1194
- # access resources in the account that owns the role. You cannot use
1195
- # session policies to grant more permissions than those allowed by the
1196
- # identity-based policy of the role that is being assumed. For more
1197
- # information, see [Session Policies][9] in the *IAM User Guide*.
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*.
1198
1254
  #
1199
1255
  # **Tags**
1200
1256
  #
1201
1257
  # (Optional) You can configure your IdP to pass attributes into your web
1202
1258
  # identity token as session tags. Each session tag consists of a key
1203
1259
  # name and an associated value. For more information about session tags,
1204
- # see [Passing Session Tags in STS][10] in the *IAM User Guide*.
1260
+ # see [Passing Session Tags in STS][11] in the *IAM User Guide*.
1205
1261
  #
1206
1262
  # You can pass up to 50 session tags. The plaintext session tag keys
1207
1263
  # can’t exceed 128 characters and the values can’t exceed 256
1208
1264
  # characters. For these and additional limits, see [IAM and STS
1209
- # Character Limits][11] in the *IAM User Guide*.
1265
+ # Character Limits][12] in the *IAM User Guide*.
1210
1266
  #
1211
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1212
- # tags into a packed binary format that has a separate limit. Your
1213
- # request can fail for this limit even if your plaintext meets the other
1214
- # requirements. The `PackedPolicySize` response element indicates by
1215
- # percentage how close the policies and tags for your request are to the
1216
- # upper size limit.
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.
1217
1273
  #
1218
1274
  # </note>
1219
1275
  #
@@ -1224,12 +1280,12 @@ module Aws::STS
1224
1280
  # An administrator must grant you the permissions necessary to pass
1225
1281
  # session tags. The administrator can also create granular permissions
1226
1282
  # to allow you to pass only specific session tags. For more information,
1227
- # see [Tutorial: Using Tags for Attribute-Based Access Control][12] in
1283
+ # see [Tutorial: Using Tags for Attribute-Based Access Control][13] in
1228
1284
  # the *IAM User Guide*.
1229
1285
  #
1230
1286
  # You can set the session tags as transitive. Transitive tags persist
1231
1287
  # during role chaining. For more information, see [Chaining Roles with
1232
- # Session Tags][13] in the *IAM User Guide*.
1288
+ # Session Tags][14] in the *IAM User Guide*.
1233
1289
  #
1234
1290
  # **Identities**
1235
1291
  #
@@ -1240,55 +1296,56 @@ module Aws::STS
1240
1296
  # identity token. In other words, the identity provider must be
1241
1297
  # specified in the role's trust policy.
1242
1298
  #
1243
- # Calling `AssumeRoleWithWebIdentity` can result in an entry in your AWS
1244
- # CloudTrail logs. The entry includes the [Subject][14] of the provided
1299
+ # Calling `AssumeRoleWithWebIdentity` can result in an entry in your
1300
+ # CloudTrail logs. The entry includes the [Subject][15] of the provided
1245
1301
  # web identity token. We recommend that you avoid using any personally
1246
1302
  # identifiable information (PII) in this field. For example, you could
1247
1303
  # instead use a GUID or a pairwise identifier, as [suggested in the OIDC
1248
- # specification][15].
1304
+ # specification][16].
1249
1305
  #
1250
1306
  # For more information about how to use web identity federation and the
1251
1307
  # `AssumeRoleWithWebIdentity` API, see the following resources:
1252
1308
  #
1253
- # * [Using Web Identity Federation API Operations for Mobile Apps][16]
1254
- # and [Federation Through a Web-based Identity Provider][17].
1309
+ # * [Using Web Identity Federation API Operations for Mobile Apps][17]
1310
+ # and [Federation Through a Web-based Identity Provider][18].
1255
1311
  #
1256
- # * [ Web Identity Federation Playground][18]. Walk through the process
1312
+ # * [ Web Identity Federation Playground][19]. Walk through the process
1257
1313
  # of authenticating through Login with Amazon, Facebook, or Google,
1258
1314
  # getting temporary security credentials, and then using those
1259
- # credentials to make a request to AWS.
1315
+ # credentials to make a request to Amazon Web Services.
1260
1316
  #
1261
- # * [AWS SDK for iOS Developer Guide][1] and [AWS SDK for Android
1262
- # Developer Guide][2]. These toolkits contain sample apps that show
1263
- # how to invoke the identity providers. The toolkits then show how to
1264
- # use the information from these providers to get and use temporary
1265
- # security credentials.
1317
+ # * [Amazon Web Services SDK for iOS Developer Guide][2] and [Amazon Web
1318
+ # Services SDK for Android Developer Guide][3]. These toolkits contain
1319
+ # sample apps that show how to invoke the identity providers. The
1320
+ # toolkits then show how to use the information from these providers
1321
+ # to get and use temporary security credentials.
1266
1322
  #
1267
- # * [Web Identity Federation with Mobile Applications][19]. This article
1323
+ # * [Web Identity Federation with Mobile Applications][20]. This article
1268
1324
  # discusses web identity federation and shows an example of how to use
1269
1325
  # web identity federation to get access to content in Amazon S3.
1270
1326
  #
1271
1327
  #
1272
1328
  #
1273
- # [1]: http://aws.amazon.com/sdkforios/
1274
- # [2]: http://aws.amazon.com/sdkforandroid/
1275
- # [3]: https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840
1276
- # [4]: https://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664
1277
- # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
1278
- # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
1279
- # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
1280
- # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1281
- # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1282
- # [10]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1283
- # [11]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
1284
- # [12]: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html
1285
- # [13]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
1286
- # [14]: http://openid.net/specs/openid-connect-core-1_0.html#Claims
1287
- # [15]: http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
1288
- # [16]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html
1289
- # [17]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
1290
- # [18]: https://aws.amazon.com/blogs/aws/the-aws-web-identity-federation-playground/
1291
- # [19]: http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications
1329
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html
1330
+ # [2]: http://aws.amazon.com/sdkforios/
1331
+ # [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
1292
1349
  #
1293
1350
  # @option params [required, String] :role_arn
1294
1351
  # The Amazon Resource Name (ARN) of the role that the caller is
@@ -1315,13 +1372,13 @@ module Aws::STS
1315
1372
  # `AssumeRoleWithWebIdentity` call.
1316
1373
  #
1317
1374
  # @option params [String] :provider_id
1318
- # The fully qualified host component of the domain name of the identity
1319
- # provider.
1375
+ # The fully qualified host component of the domain name of the OAuth 2.0
1376
+ # identity provider. Do not specify this value for an OpenID Connect
1377
+ # identity provider.
1320
1378
  #
1321
- # Specify this value only for OAuth 2.0 access tokens. Currently
1322
- # `www.amazon.com` and `graph.facebook.com` are the only supported
1323
- # identity providers for OAuth 2.0 access tokens. Do not include URL
1324
- # schemes and port numbers.
1379
+ # Currently `www.amazon.com` and `graph.facebook.com` are the only
1380
+ # supported identity providers for OAuth 2.0 access tokens. Do not
1381
+ # include URL schemes and port numbers.
1325
1382
  #
1326
1383
  # Do not specify this value for OpenID Connect ID tokens.
1327
1384
  #
@@ -1333,26 +1390,27 @@ module Aws::STS
1333
1390
  # This parameter is optional. You can provide up to 10 managed policy
1334
1391
  # ARNs. However, the plaintext that you use for both inline and managed
1335
1392
  # session policies can't exceed 2,048 characters. For more information
1336
- # about ARNs, see [Amazon Resource Names (ARNs) and AWS Service
1337
- # Namespaces][1] in the AWS General Reference.
1393
+ # about ARNs, see [Amazon Resource Names (ARNs) and Amazon Web Services
1394
+ # Service Namespaces][1] in the Amazon Web Services General Reference.
1338
1395
  #
1339
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1340
- # tags into a packed binary format that has a separate limit. Your
1341
- # request can fail for this limit even if your plaintext meets the other
1342
- # requirements. The `PackedPolicySize` response element indicates by
1343
- # percentage how close the policies and tags for your request are to the
1344
- # upper size limit.
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.
1345
1402
  #
1346
1403
  # </note>
1347
1404
  #
1348
1405
  # Passing policies to this operation returns new temporary credentials.
1349
1406
  # The resulting session's permissions are the intersection of the
1350
1407
  # role's identity-based policy and the session policies. You can use
1351
- # the role's temporary credentials in subsequent AWS API calls to
1352
- # access resources in the account that owns the role. You cannot use
1353
- # session policies to grant more permissions than those allowed by the
1354
- # identity-based policy of the role that is being assumed. For more
1355
- # information, see [Session Policies][2] in the *IAM User Guide*.
1408
+ # the role's temporary credentials in subsequent Amazon Web Services
1409
+ # API calls to access resources in the account that owns the role. You
1410
+ # cannot use session policies to grant more permissions than those
1411
+ # allowed by the identity-based policy of the role that is being
1412
+ # assumed. For more information, see [Session Policies][2] in the *IAM
1413
+ # User Guide*.
1356
1414
  #
1357
1415
  #
1358
1416
  #
@@ -1367,11 +1425,11 @@ module Aws::STS
1367
1425
  # new temporary credentials. The resulting session's permissions are
1368
1426
  # the intersection of the role's identity-based policy and the session
1369
1427
  # policies. You can use the role's temporary credentials in subsequent
1370
- # AWS API calls to access resources in the account that owns the role.
1371
- # You cannot use session policies to grant more permissions than those
1372
- # allowed by the identity-based policy of the role that is being
1373
- # assumed. For more information, see [Session Policies][1] in the *IAM
1374
- # User Guide*.
1428
+ # Amazon Web Services API calls to access resources in the account that
1429
+ # owns the role. You cannot use session policies to grant more
1430
+ # permissions than those allowed by the identity-based policy of the
1431
+ # role that is being assumed. For more information, see [Session
1432
+ # Policies][1] in the *IAM User Guide*.
1375
1433
  #
1376
1434
  # The plaintext that you use for both inline and managed session
1377
1435
  # policies can't exceed 2,048 characters. The JSON policy characters
@@ -1380,12 +1438,12 @@ module Aws::STS
1380
1438
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1381
1439
  # characters.
1382
1440
  #
1383
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1384
- # tags into a packed binary format that has a separate limit. Your
1385
- # request can fail for this limit even if your plaintext meets the other
1386
- # requirements. The `PackedPolicySize` response element indicates by
1387
- # percentage how close the policies and tags for your request are to the
1388
- # upper size limit.
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.
1389
1447
  #
1390
1448
  # </note>
1391
1449
  #
@@ -1411,8 +1469,8 @@ module Aws::STS
1411
1469
  # The request to the federation endpoint for a console sign-in token
1412
1470
  # takes a `SessionDuration` parameter that specifies the maximum length
1413
1471
  # of the console session. For more information, see [Creating a URL that
1414
- # Enables Federated Users to Access the AWS Management Console][2] in
1415
- # the *IAM User Guide*.
1472
+ # Enables Federated Users to Access the Amazon Web Services Management
1473
+ # Console][2] in the *IAM User Guide*.
1416
1474
  #
1417
1475
  # </note>
1418
1476
  #
@@ -1501,34 +1559,34 @@ module Aws::STS
1501
1559
  end
1502
1560
 
1503
1561
  # Decodes additional information about the authorization status of a
1504
- # request from an encoded message returned in response to an AWS
1505
- # request.
1562
+ # request from an encoded message returned in response to an Amazon Web
1563
+ # Services request.
1506
1564
  #
1507
1565
  # For example, if a user is not authorized to perform an operation that
1508
1566
  # he or she has requested, the request returns a
1509
1567
  # `Client.UnauthorizedOperation` response (an HTTP 403 response). Some
1510
- # AWS operations additionally return an encoded message that can provide
1511
- # details about this authorization failure.
1568
+ # Amazon Web Services operations additionally return an encoded message
1569
+ # that can provide details about this authorization failure.
1512
1570
  #
1513
- # <note markdown="1"> Only certain AWS operations return an encoded authorization message.
1514
- # The documentation for an individual operation indicates whether that
1515
- # operation returns an encoded message in addition to returning an HTTP
1516
- # code.
1571
+ # <note markdown="1"> Only certain Amazon Web Services operations return an encoded
1572
+ # authorization message. The documentation for an individual operation
1573
+ # indicates whether that operation returns an encoded message in
1574
+ # addition to returning an HTTP code.
1517
1575
  #
1518
1576
  # </note>
1519
1577
  #
1520
1578
  # The message is encoded because the details of the authorization status
1521
- # can constitute privileged information that the user who requested the
1579
+ # can contain privileged information that the user who requested the
1522
1580
  # operation should not see. To decode an authorization status message, a
1523
- # user must be granted permissions via an IAM policy to request the
1524
- # `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
1581
+ # user must be granted permissions through an IAM [policy][1] to request
1582
+ # the `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
1525
1583
  # action.
1526
1584
  #
1527
1585
  # The decoded message includes the following type of information:
1528
1586
  #
1529
1587
  # * Whether the request was denied due to an explicit deny or due to the
1530
1588
  # absence of an explicit allow. For more information, see [Determining
1531
- # Whether a Request is Allowed or Denied][1] in the *IAM User Guide*.
1589
+ # Whether a Request is Allowed or Denied][2] in the *IAM User Guide*.
1532
1590
  #
1533
1591
  # * The principal who made the request.
1534
1592
  #
@@ -1540,7 +1598,8 @@ module Aws::STS
1540
1598
  #
1541
1599
  #
1542
1600
  #
1543
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
1601
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
1602
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
1544
1603
  #
1545
1604
  # @option params [required, String] :encoded_message
1546
1605
  # The encoded message that was returned with the response.
@@ -1589,15 +1648,16 @@ module Aws::STS
1589
1648
  # *IAM User Guide*.
1590
1649
  #
1591
1650
  # When you pass an access key ID to this operation, it returns the ID of
1592
- # the AWS account to which the keys belong. Access key IDs beginning
1593
- # with `AKIA` are long-term credentials for an IAM user or the AWS
1594
- # account root user. Access key IDs beginning with `ASIA` are temporary
1595
- # credentials that are created using STS operations. If the account in
1596
- # the response belongs to you, you can sign in as the root user and
1597
- # review your root user access keys. Then, you can pull a [credentials
1598
- # report][2] to learn which IAM user owns the keys. To learn who
1599
- # requested the temporary credentials for an `ASIA` access key, view the
1600
- # STS events in your [CloudTrail logs][3] in the *IAM User Guide*.
1651
+ # the Amazon Web Services account to which the keys belong. Access key
1652
+ # IDs beginning with `AKIA` are long-term credentials for an IAM user or
1653
+ # the Amazon Web Services account root user. Access key IDs beginning
1654
+ # with `ASIA` are temporary credentials that are created using STS
1655
+ # operations. If the account in the response belongs to you, you can
1656
+ # sign in as the root user and review your root user access keys. Then,
1657
+ # you can pull a [credentials report][2] to learn which IAM user owns
1658
+ # the keys. To learn who requested the temporary credentials for an
1659
+ # `ASIA` access key, view the STS events in your [CloudTrail logs][3] in
1660
+ # the *IAM User Guide*.
1601
1661
  #
1602
1662
  # This operation does not indicate the state of the access key. The key
1603
1663
  # might be active, inactive, or deleted. Active keys might not have
@@ -1734,8 +1794,8 @@ module Aws::STS
1734
1794
  # can be safely stored, usually in a server-based application. For a
1735
1795
  # comparison of `GetFederationToken` with the other API operations that
1736
1796
  # produce temporary credentials, see [Requesting Temporary Security
1737
- # Credentials][1] and [Comparing the AWS STS API operations][2] in the
1738
- # *IAM User Guide*.
1797
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
1798
+ # operations][2] in the *IAM User Guide*.
1739
1799
  #
1740
1800
  # <note markdown="1"> You can create a mobile-based or browser-based app that can
1741
1801
  # authenticate users using a web identity provider like Login with
@@ -1747,27 +1807,29 @@ module Aws::STS
1747
1807
  # </note>
1748
1808
  #
1749
1809
  # You can also call `GetFederationToken` using the security credentials
1750
- # of an AWS account root user, but we do not recommend it. Instead, we
1751
- # recommend that you create an IAM user for the purpose of the proxy
1752
- # application. Then attach a policy to the IAM user that limits
1753
- # federated users to only the actions and resources that they need to
1754
- # access. For more information, see [IAM Best Practices][5] in the *IAM
1755
- # User Guide*.
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*.
1756
1816
  #
1757
1817
  # **Session duration**
1758
1818
  #
1759
1819
  # The temporary credentials are valid for the specified duration, from
1760
1820
  # 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
1761
1821
  # hours). The default session duration is 43,200 seconds (12 hours).
1762
- # Temporary credentials that are obtained by using AWS account root user
1763
- # credentials have a maximum duration of 3,600 seconds (1 hour).
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).
1764
1825
  #
1765
1826
  # **Permissions**
1766
1827
  #
1767
1828
  # You can use the temporary credentials created by `GetFederationToken`
1768
- # in any AWS service except the following:
1829
+ # in any Amazon Web Services service except the following:
1769
1830
  #
1770
- # * You cannot call any IAM operations using the AWS CLI or the AWS API.
1831
+ # * You cannot call any IAM operations using the CLI or the Amazon Web
1832
+ # Services API.
1771
1833
  #
1772
1834
  # * You cannot call any STS operations except `GetCallerIdentity`.
1773
1835
  #
@@ -1812,63 +1874,6 @@ module Aws::STS
1812
1874
  #
1813
1875
  # </note>
1814
1876
  #
1815
- # You can also call `GetFederationToken` using the security credentials
1816
- # of an AWS account root user, but we do not recommend it. Instead, we
1817
- # recommend that you create an IAM user for the purpose of the proxy
1818
- # application. Then attach a policy to the IAM user that limits
1819
- # federated users to only the actions and resources that they need to
1820
- # access. For more information, see [IAM Best Practices][5] in the *IAM
1821
- # User Guide*.
1822
- #
1823
- # **Session duration**
1824
- #
1825
- # The temporary credentials are valid for the specified duration, from
1826
- # 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
1827
- # hours). The default session duration is 43,200 seconds (12 hours).
1828
- # Temporary credentials that are obtained by using AWS account root user
1829
- # credentials have a maximum duration of 3,600 seconds (1 hour).
1830
- #
1831
- # **Permissions**
1832
- #
1833
- # You can use the temporary credentials created by `GetFederationToken`
1834
- # in any AWS service except the following:
1835
- #
1836
- # * You cannot call any IAM operations using the AWS CLI or the AWS API.
1837
- #
1838
- # * You cannot call any STS operations except `GetCallerIdentity`.
1839
- #
1840
- # You must pass an inline or managed [session policy][6] to this
1841
- # operation. You can pass a single JSON policy document to use as an
1842
- # inline session policy. You can also specify up to 10 managed policies
1843
- # to use as managed session policies. The plain text that you use for
1844
- # both inline and managed session policies can't exceed 2,048
1845
- # characters.
1846
- #
1847
- # Though the session policy parameters are optional, if you do not pass
1848
- # a policy, then the resulting federated user session has no
1849
- # permissions. When you pass session policies, the session permissions
1850
- # are the intersection of the IAM user policies and the session policies
1851
- # that you pass. This gives you a way to further restrict the
1852
- # permissions for a federated user. You cannot use session policies to
1853
- # grant more permissions than those that are defined in the permissions
1854
- # policy of the IAM user. For more information, see [Session
1855
- # Policies][6] in the *IAM User Guide*. For information about using
1856
- # `GetFederationToken` to create temporary security credentials, see
1857
- # [GetFederationToken—Federation Through a Custom Identity Broker][7].
1858
- #
1859
- # You can use the credentials to access a resource that has a
1860
- # resource-based policy. If that policy specifically references the
1861
- # federated user session in the `Principal` element of the policy, the
1862
- # session has the permissions allowed by the policy. These permissions
1863
- # are granted in addition to the permissions granted by the session
1864
- # policies.
1865
- #
1866
- # **Tags**
1867
- #
1868
- # (Optional) You can pass tag key-value pairs to your session. These are
1869
- # called session tags. For more information about session tags, see
1870
- # [Passing Session Tags in STS][8] in the *IAM User Guide*.
1871
- #
1872
1877
  # An administrator must grant you the permissions necessary to pass
1873
1878
  # session tags. The administrator can also create granular permissions
1874
1879
  # to allow you to pass only specific session tags. For more information,
@@ -1941,12 +1946,12 @@ module Aws::STS
1941
1946
  # the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
1942
1947
  # characters.
1943
1948
  #
1944
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1945
- # tags into a packed binary format that has a separate limit. Your
1946
- # request can fail for this limit even if your plaintext meets the other
1947
- # requirements. The `PackedPolicySize` response element indicates by
1948
- # percentage how close the policies and tags for your request are to the
1949
- # upper size limit.
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.
1950
1955
  #
1951
1956
  # </note>
1952
1957
  #
@@ -1965,8 +1970,9 @@ module Aws::STS
1965
1970
  # to use as managed session policies. The plaintext that you use for
1966
1971
  # both inline and managed session policies can't exceed 2,048
1967
1972
  # characters. You can provide up to 10 managed policy ARNs. For more
1968
- # information about ARNs, see [Amazon Resource Names (ARNs) and AWS
1969
- # Service Namespaces][2] in the AWS General Reference.
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.
1970
1976
  #
1971
1977
  # This parameter is optional. However, if you do not pass any session
1972
1978
  # policies, then the resulting federated user session has no
@@ -1987,12 +1993,12 @@ module Aws::STS
1987
1993
  # are granted in addition to the permissions that are granted by the
1988
1994
  # session policies.
1989
1995
  #
1990
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
1991
- # tags into a packed binary format that has a separate limit. Your
1992
- # request can fail for this limit even if your plaintext meets the other
1993
- # requirements. The `PackedPolicySize` response element indicates by
1994
- # percentage how close the policies and tags for your request are to the
1995
- # upper size limit.
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.
1996
2002
  #
1997
2003
  # </note>
1998
2004
  #
@@ -2005,10 +2011,10 @@ module Aws::STS
2005
2011
  # The duration, in seconds, that the session should last. Acceptable
2006
2012
  # durations for federation sessions range from 900 seconds (15 minutes)
2007
2013
  # to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the
2008
- # default. Sessions obtained using AWS account root user credentials are
2009
- # restricted to a maximum of 3,600 seconds (one hour). If the specified
2010
- # duration is longer than one hour, the session obtained by using root
2011
- # user credentials defaults to one hour.
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.
2012
2018
  #
2013
2019
  # @option params [Array<Types::Tag>] :tags
2014
2020
  # A list of session tags. Each session tag consists of a key name and an
@@ -2020,12 +2026,12 @@ module Aws::STS
2020
2026
  # can’t exceed 256 characters. For these and additional limits, see [IAM
2021
2027
  # and STS Character Limits][2] in the *IAM User Guide*.
2022
2028
  #
2023
- # <note markdown="1"> An AWS conversion compresses the passed session policies and session
2024
- # tags into a packed binary format that has a separate limit. Your
2025
- # request can fail for this limit even if your plaintext meets the other
2026
- # requirements. The `PackedPolicySize` response element indicates by
2027
- # percentage how close the policies and tags for your request are to the
2028
- # upper size limit.
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.
2029
2035
  #
2030
2036
  # </note>
2031
2037
  #
@@ -2123,37 +2129,38 @@ module Aws::STS
2123
2129
  req.send_request(options)
2124
2130
  end
2125
2131
 
2126
- # Returns a set of temporary credentials for an AWS account or IAM user.
2127
- # The credentials consist of an access key ID, a secret access key, and
2128
- # a security token. Typically, you use `GetSessionToken` if you want to
2129
- # use MFA to protect programmatic calls to specific AWS API operations
2130
- # like Amazon EC2 `StopInstances`. MFA-enabled IAM users would need to
2131
- # call `GetSessionToken` and submit an MFA code that is associated with
2132
- # their MFA device. Using the temporary security credentials that are
2133
- # returned from the call, IAM users can then make programmatic calls to
2134
- # API operations that require MFA authentication. If you do not supply a
2132
+ # Returns a set of temporary credentials for an Amazon Web Services
2133
+ # account or IAM user. The credentials consist of an access key ID, a
2134
+ # secret access key, and a security token. Typically, you use
2135
+ # `GetSessionToken` if you want to use MFA to protect programmatic calls
2136
+ # 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
2135
2142
  # correct MFA code, then the API returns an access denied error. For a
2136
2143
  # comparison of `GetSessionToken` with the other API operations that
2137
2144
  # produce temporary credentials, see [Requesting Temporary Security
2138
- # Credentials][1] and [Comparing the AWS STS API operations][2] in the
2139
- # *IAM User Guide*.
2145
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
2146
+ # operations][2] in the *IAM User Guide*.
2140
2147
  #
2141
2148
  # **Session Duration**
2142
2149
  #
2143
2150
  # The `GetSessionToken` operation must be called by using the long-term
2144
- # AWS security credentials of the AWS account root user or an IAM user.
2145
- # Credentials that are created by IAM users are valid for the duration
2146
- # that you specify. This duration can range from 900 seconds (15
2147
- # minutes) up to a maximum of 129,600 seconds (36 hours), with a default
2148
- # of 43,200 seconds (12 hours). Credentials based on account credentials
2149
- # can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour),
2150
- # with a default of 1 hour.
2151
+ # Amazon Web Services security credentials of the Amazon Web Services
2152
+ # account root user or an IAM user. Credentials that are created by IAM
2153
+ # users are valid for the duration that you specify. This duration can
2154
+ # range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds
2155
+ # (36 hours), with a default of 43,200 seconds (12 hours). Credentials
2156
+ # based on account credentials can range from 900 seconds (15 minutes)
2157
+ # up to 3,600 seconds (1 hour), with a default of 1 hour.
2151
2158
  #
2152
2159
  # **Permissions**
2153
2160
  #
2154
2161
  # The temporary security credentials created by `GetSessionToken` can be
2155
- # used to make API calls to any AWS service with the following
2156
- # exceptions:
2162
+ # used to make API calls to any Amazon Web Services service with the
2163
+ # following exceptions:
2157
2164
  #
2158
2165
  # * You cannot call any IAM API operations unless MFA authentication
2159
2166
  # information is included in the request.
@@ -2161,20 +2168,21 @@ module Aws::STS
2161
2168
  # * You cannot call any STS API *except* `AssumeRole` or
2162
2169
  # `GetCallerIdentity`.
2163
2170
  #
2164
- # <note markdown="1"> We recommend that you do not call `GetSessionToken` with AWS account
2165
- # root user credentials. Instead, follow our [best practices][3] by
2166
- # creating one or more IAM users, giving them the necessary permissions,
2167
- # and using IAM users for everyday interaction with AWS.
2171
+ # <note markdown="1"> We recommend that you do not call `GetSessionToken` with Amazon Web
2172
+ # Services account root user credentials. Instead, follow our [best
2173
+ # practices][3] by creating one or more IAM users, giving them the
2174
+ # necessary permissions, and using IAM users for everyday interaction
2175
+ # with Amazon Web Services.
2168
2176
  #
2169
2177
  # </note>
2170
2178
  #
2171
2179
  # The credentials that are returned by `GetSessionToken` are based on
2172
2180
  # permissions associated with the user whose credentials were used to
2173
- # call the operation. If `GetSessionToken` is called using AWS account
2174
- # root user credentials, the temporary credentials have root user
2175
- # permissions. Similarly, if `GetSessionToken` is called using the
2176
- # credentials of an IAM user, the temporary credentials have the same
2177
- # permissions as the IAM user.
2181
+ # call the operation. If `GetSessionToken` is called using Amazon Web
2182
+ # Services account root user credentials, the temporary credentials have
2183
+ # root user permissions. Similarly, if `GetSessionToken` is called using
2184
+ # the credentials of an IAM user, the temporary credentials have the
2185
+ # same permissions as the IAM user.
2178
2186
  #
2179
2187
  # For more information about using `GetSessionToken` to create temporary
2180
2188
  # credentials, go to [Temporary Credentials for Users in Untrusted
@@ -2191,9 +2199,10 @@ module Aws::STS
2191
2199
  # The duration, in seconds, that the credentials should remain valid.
2192
2200
  # Acceptable durations for IAM user sessions range from 900 seconds (15
2193
2201
  # minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours)
2194
- # as the default. Sessions for AWS account owners are restricted to a
2195
- # maximum of 3,600 seconds (one hour). If the duration is longer than
2196
- # one hour, the session for AWS account owners defaults to one hour.
2202
+ # as the default. Sessions for Amazon Web Services account owners are
2203
+ # restricted to a maximum of 3,600 seconds (one hour). If the duration
2204
+ # is longer than one hour, the session for Amazon Web Services account
2205
+ # owners defaults to one hour.
2197
2206
  #
2198
2207
  # @option params [String] :serial_number
2199
2208
  # The identification number of the MFA device that is associated with
@@ -2202,8 +2211,8 @@ module Aws::STS
2202
2211
  # The value is either the serial number for a hardware device (such as
2203
2212
  # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual device
2204
2213
  # (such as `arn:aws:iam::123456789012:mfa/user`). You can find the
2205
- # device for an IAM user by going to the AWS Management Console and
2206
- # viewing the user's security credentials.
2214
+ # device for an IAM user by going to the Amazon Web Services Management
2215
+ # Console and viewing the user's security credentials.
2207
2216
  #
2208
2217
  # The regex used to validate this parameter is a string of characters
2209
2218
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -2281,7 +2290,7 @@ module Aws::STS
2281
2290
  params: params,
2282
2291
  config: config)
2283
2292
  context[:gem_name] = 'aws-sdk-core'
2284
- context[:gem_version] = '3.114.1'
2293
+ context[:gem_version] = '3.130.1'
2285
2294
  Seahorse::Client::Request.new(handlers, context)
2286
2295
  end
2287
2296