aws-sdk-core 3.121.5 → 3.123.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +28 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-core/plugins/regional_endpoint.rb +47 -1
- data/lib/aws-sdk-core/rest/request/headers.rb +6 -1
- data/lib/aws-sdk-core/rest/response/headers.rb +3 -1
- data/lib/aws-sdk-core/shared_config.rb +2 -0
- data/lib/aws-sdk-core/sso_credentials.rb +1 -1
- data/lib/aws-sdk-core.rb +3 -0
- data/lib/aws-sdk-sso/client.rb +10 -1
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +80 -110
- data/lib/aws-sdk-sts/presigner.rb +7 -1
- data/lib/aws-sdk-sts/types.rb +33 -23
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/seahorse/client/configuration.rb +4 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 361f40271ca2518c380ab89eaaab1922d017b3c8a6d35b0492d92e234730b9d4
|
4
|
+
data.tar.gz: 1cc223ef8460881b2d94da8e1f10b4226fbab5419e91ac6c712ab701b0e62a4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2696936a66a24fc8d5094d5787b0039e974d7a23ba7218d571bda19f090bc836344987121c8ab0d2fca91c7b9b84398a2715674eac9dbb1d6b8fc286ae9e494a
|
7
|
+
data.tar.gz: da67f89367288d43599d1f5b84bfe6a28c3d50da43d7afad5b6f8490744dacda575bd247a2f1642e2be6d6d32bda977e178ab6bf9a5d5dcb9a6ed25c348c53b9
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,34 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
3.123.0 (2021-11-23)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Updated Aws::STS::Client with the latest API changes.
|
8
|
+
|
9
|
+
3.122.1 (2021-11-09)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Issue - Correctly serialize/deserialize header lists.
|
13
|
+
|
14
|
+
3.122.0 (2021-11-04)
|
15
|
+
------------------
|
16
|
+
|
17
|
+
* Feature - Updated Aws::STS::Client with the latest API changes.
|
18
|
+
|
19
|
+
* Feature - Updated Aws::SSO::Client with the latest API changes.
|
20
|
+
|
21
|
+
* Issue - Fix parsing of ISO8601 timestamps with millisecond precision in headers.
|
22
|
+
|
23
|
+
* Feature - Support modeled dualstack endpoints. It can be configured with shared configuration (`use_dualstack_endpoint`), an ENV variable (`AWS_USE_DUALSTACK_ENDPOINT`), and a constructor option (`:use_dualstack_endpoint`). Requests made to services without a dualstack endpoint will fail.
|
24
|
+
|
25
|
+
* Feature - Support modeled fips endpoints. It can be configured with shared configuration (`use_fips_endpoint`), an ENV variable (`AWS_USE_FIPS_ENDPOINT`), and a constructor option (`:use_fips_endpoint`). Requests made to services without a fips endpoint will fail.
|
26
|
+
|
27
|
+
3.121.6 (2021-11-02)
|
28
|
+
------------------
|
29
|
+
|
30
|
+
* Issue - Improve `SSOCredentials` error handling when profile file does not exist (#2605)
|
31
|
+
|
4
32
|
3.121.5 (2021-10-29)
|
5
33
|
------------------
|
6
34
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.123.0
|
@@ -24,6 +24,25 @@ a default `:region` is searched for in the following locations:
|
|
24
24
|
resolve_region(cfg)
|
25
25
|
end
|
26
26
|
|
27
|
+
option(:use_dualstack_endpoint,
|
28
|
+
doc_type: 'Boolean',
|
29
|
+
docstring: <<-DOCS) do |cfg|
|
30
|
+
When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
|
31
|
+
will be used if available.
|
32
|
+
DOCS
|
33
|
+
resolve_use_dualstack_endpoint(cfg)
|
34
|
+
end
|
35
|
+
|
36
|
+
option(:use_fips_endpoint,
|
37
|
+
doc_type: 'Boolean',
|
38
|
+
docstring: <<-DOCS) do |cfg|
|
39
|
+
When set to `true`, fips compatible endpoints will be used if available.
|
40
|
+
When a `fips` region is used, the region is normalized and this config
|
41
|
+
is set to `true`.
|
42
|
+
DOCS
|
43
|
+
resolve_use_fips_endpoint(cfg)
|
44
|
+
end
|
45
|
+
|
27
46
|
option(:regional_endpoint, false)
|
28
47
|
|
29
48
|
option(:endpoint, doc_type: String, docstring: <<-DOCS) do |cfg|
|
@@ -42,10 +61,23 @@ to test or custom endpoints. This should be a valid HTTP(S) URI.
|
|
42
61
|
raise Errors::InvalidRegionError
|
43
62
|
end
|
44
63
|
|
64
|
+
region = cfg.region
|
65
|
+
new_region = region.gsub('fips-', '').gsub('-fips', '')
|
66
|
+
if region != new_region
|
67
|
+
warn("Legacy region #{region} was transformed to #{new_region}."\
|
68
|
+
'`use_fips_endpoint` config was set to true.')
|
69
|
+
cfg.override_config(:use_fips_endpoint, true)
|
70
|
+
cfg.override_config(:region, new_region)
|
71
|
+
end
|
72
|
+
|
45
73
|
Aws::Partitions::EndpointProvider.resolve(
|
46
74
|
cfg.region,
|
47
75
|
endpoint_prefix,
|
48
|
-
sts_regional
|
76
|
+
sts_regional,
|
77
|
+
{
|
78
|
+
dualstack: cfg.use_dualstack_endpoint,
|
79
|
+
fips: cfg.use_fips_endpoint
|
80
|
+
}
|
49
81
|
)
|
50
82
|
end
|
51
83
|
end
|
@@ -66,6 +98,20 @@ to test or custom endpoints. This should be a valid HTTP(S) URI.
|
|
66
98
|
cfg_region = Aws.shared_config.region(profile: cfg.profile)
|
67
99
|
env_region || cfg_region
|
68
100
|
end
|
101
|
+
|
102
|
+
def resolve_use_dualstack_endpoint(cfg)
|
103
|
+
value = ENV['AWS_USE_DUALSTACK_ENDPOINT']
|
104
|
+
value ||= Aws.shared_config.use_dualstack_endpoint(
|
105
|
+
profile: cfg.profile
|
106
|
+
)
|
107
|
+
Aws::Util.str_2_bool(value) || false
|
108
|
+
end
|
109
|
+
|
110
|
+
def resolve_use_fips_endpoint(cfg)
|
111
|
+
value = ENV['AWS_USE_FIPS_ENDPOINT']
|
112
|
+
value ||= Aws.shared_config.use_fips_endpoint(profile: cfg.profile)
|
113
|
+
Aws::Util.str_2_bool(value) || false
|
114
|
+
end
|
69
115
|
end
|
70
116
|
end
|
71
117
|
end
|
@@ -35,6 +35,7 @@ module Aws
|
|
35
35
|
headers[ref.location_name] =
|
36
36
|
case ref.shape
|
37
37
|
when TimestampShape then timestamp(ref, value)
|
38
|
+
when ListShape then list(ref, value)
|
38
39
|
else value.to_s
|
39
40
|
end
|
40
41
|
end
|
@@ -49,6 +50,10 @@ module Aws
|
|
49
50
|
end
|
50
51
|
end
|
51
52
|
|
53
|
+
def list(_ref, value)
|
54
|
+
value.compact.join(",")
|
55
|
+
end
|
56
|
+
|
52
57
|
def apply_header_map(headers, ref, values)
|
53
58
|
prefix = ref.location_name || ''
|
54
59
|
values.each_pair do |name, value|
|
@@ -57,7 +62,7 @@ module Aws
|
|
57
62
|
end
|
58
63
|
|
59
64
|
# With complex headers value in json syntax,
|
60
|
-
# base64 encodes value to
|
65
|
+
# base64 encodes value to avoid weird characters
|
61
66
|
# causing potential issues in headers
|
62
67
|
def apply_json_trait(value)
|
63
68
|
Base64.strict_encode64(value)
|
@@ -40,8 +40,10 @@ module Aws
|
|
40
40
|
when IntegerShape then value.to_i
|
41
41
|
when FloatShape then value.to_f
|
42
42
|
when BooleanShape then value == 'true'
|
43
|
+
when ListShape then
|
44
|
+
value.split(",").map { |v| cast_value(ref.shape.member, v) }
|
43
45
|
when TimestampShape
|
44
|
-
if value =~
|
46
|
+
if value =~ /^\d+(\.\d*)/
|
45
47
|
Time.at(value.to_f)
|
46
48
|
elsif value =~ /^\d+$/
|
47
49
|
Time.at(value.to_i)
|
@@ -100,7 +100,7 @@ module Aws
|
|
100
100
|
raise ArgumentError, 'Cached SSO Token is expired.'
|
101
101
|
end
|
102
102
|
cached_token
|
103
|
-
rescue Aws::Json::ParseError, ArgumentError
|
103
|
+
rescue Errno::ENOENT, Aws::Json::ParseError, ArgumentError
|
104
104
|
raise Errors::InvalidSSOCredentials, SSO_LOGIN_GUIDANCE
|
105
105
|
end
|
106
106
|
|
data/lib/aws-sdk-core.rb
CHANGED
@@ -88,6 +88,9 @@ require_relative 'aws-sdk-core/arn'
|
|
88
88
|
require_relative 'aws-sdk-core/arn_parser'
|
89
89
|
require_relative 'aws-sdk-core/ec2_metadata'
|
90
90
|
|
91
|
+
# plugins
|
92
|
+
# loaded through building STS or SSO ..
|
93
|
+
|
91
94
|
# aws-sdk-sts is included to support Aws::AssumeRoleCredentials
|
92
95
|
require_relative 'aws-sdk-sts'
|
93
96
|
|
data/lib/aws-sdk-sso/client.rb
CHANGED
@@ -275,6 +275,15 @@ module Aws::SSO
|
|
275
275
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
276
276
|
# requests are made, and retries are disabled.
|
277
277
|
#
|
278
|
+
# @option options [Boolean] :use_dualstack_endpoint
|
279
|
+
# When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
|
280
|
+
# will be used if available.
|
281
|
+
#
|
282
|
+
# @option options [Boolean] :use_fips_endpoint
|
283
|
+
# When set to `true`, fips compatible endpoints will be used if available.
|
284
|
+
# When a `fips` region is used, the region is normalized and this config
|
285
|
+
# is set to `true`.
|
286
|
+
#
|
278
287
|
# @option options [Boolean] :validate_params (true)
|
279
288
|
# When `true`, request parameters are validated before
|
280
289
|
# sending the request.
|
@@ -521,7 +530,7 @@ module Aws::SSO
|
|
521
530
|
params: params,
|
522
531
|
config: config)
|
523
532
|
context[:gem_name] = 'aws-sdk-core'
|
524
|
-
context[:gem_version] = '3.
|
533
|
+
context[:gem_version] = '3.123.0'
|
525
534
|
Seahorse::Client::Request.new(handlers, context)
|
526
535
|
end
|
527
536
|
|
data/lib/aws-sdk-sso.rb
CHANGED
data/lib/aws-sdk-sts/client.rb
CHANGED
@@ -282,6 +282,15 @@ module Aws::STS
|
|
282
282
|
# ** Please note ** When response stubbing is enabled, no HTTP
|
283
283
|
# requests are made, and retries are disabled.
|
284
284
|
#
|
285
|
+
# @option options [Boolean] :use_dualstack_endpoint
|
286
|
+
# When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
|
287
|
+
# will be used if available.
|
288
|
+
#
|
289
|
+
# @option options [Boolean] :use_fips_endpoint
|
290
|
+
# When set to `true`, fips compatible endpoints will be used if available.
|
291
|
+
# When a `fips` region is used, the region is normalized and this config
|
292
|
+
# is set to `true`.
|
293
|
+
#
|
285
294
|
# @option options [Boolean] :validate_params (true)
|
286
295
|
# When `true`, request parameters are validated before
|
287
296
|
# sending the request.
|
@@ -341,15 +350,15 @@ module Aws::STS
|
|
341
350
|
# `AssumeRole` within your account or for cross-account access. For a
|
342
351
|
# comparison of `AssumeRole` with other API operations that produce
|
343
352
|
# temporary credentials, see [Requesting Temporary Security
|
344
|
-
# Credentials][1] and [Comparing the
|
345
|
-
# User Guide*.
|
353
|
+
# Credentials][1] and [Comparing the Amazon Web Services STS API
|
354
|
+
# operations][2] in the *IAM User Guide*.
|
346
355
|
#
|
347
356
|
# **Permissions**
|
348
357
|
#
|
349
358
|
# The temporary security credentials created by `AssumeRole` can be used
|
350
359
|
# to make API calls to any Amazon Web Services service with the
|
351
|
-
# following exception: You cannot call the
|
352
|
-
# `GetSessionToken` API operations.
|
360
|
+
# following exception: You cannot call the Amazon Web Services STS
|
361
|
+
# `GetFederationToken` or `GetSessionToken` API operations.
|
353
362
|
#
|
354
363
|
# (Optional) You can pass inline or managed [session policies][3] to
|
355
364
|
# this operation. You can pass a single JSON policy document to use as
|
@@ -366,28 +375,37 @@ module Aws::STS
|
|
366
375
|
# assumed. For more information, see [Session Policies][3] in the *IAM
|
367
376
|
# User Guide*.
|
368
377
|
#
|
369
|
-
#
|
370
|
-
#
|
371
|
-
#
|
372
|
-
#
|
378
|
+
# When you create a role, you create two policies: A role trust policy
|
379
|
+
# that specifies *who* can assume the role and a permissions policy that
|
380
|
+
# specifies *what* can be done with the role. You specify the trusted
|
381
|
+
# principal who is allowed to assume the role in the role trust policy.
|
382
|
+
#
|
383
|
+
# To assume a role from a different account, your Amazon Web Services
|
384
|
+
# account must be trusted by the role. The trust relationship is defined
|
385
|
+
# in the role's trust policy when the role is created. That trust
|
386
|
+
# policy states which accounts are allowed to delegate that access to
|
387
|
+
# users in the account.
|
373
388
|
#
|
374
389
|
# A user who wants to access a role in a different account must also
|
375
390
|
# have permissions that are delegated from the user account
|
376
391
|
# administrator. The administrator must attach a policy that allows the
|
377
392
|
# user to call `AssumeRole` for the ARN of the role in the other
|
378
|
-
# account.
|
379
|
-
#
|
393
|
+
# account.
|
394
|
+
#
|
395
|
+
# To allow a user to assume a role in the same account, you can do
|
396
|
+
# either of the following:
|
380
397
|
#
|
381
|
-
# * Attach a policy to the user
|
382
|
-
#
|
398
|
+
# * Attach a policy to the user that allows the user to call
|
399
|
+
# `AssumeRole` (as long as the role's trust policy trusts the
|
400
|
+
# account).
|
383
401
|
#
|
384
402
|
# * Add the user as a principal directly in the role's trust policy.
|
385
403
|
#
|
386
|
-
#
|
387
|
-
#
|
388
|
-
#
|
389
|
-
#
|
390
|
-
# Guide*.
|
404
|
+
# You can do either because the role’s trust policy acts as an IAM
|
405
|
+
# resource-based policy. When a resource-based policy grants access to a
|
406
|
+
# principal in the same account, no additional identity-based policy is
|
407
|
+
# required. For more information about trust policies and resource-based
|
408
|
+
# policies, see [IAM Policies][4] in the *IAM User Guide*.
|
391
409
|
#
|
392
410
|
# **Tags**
|
393
411
|
#
|
@@ -529,15 +547,25 @@ module Aws::STS
|
|
529
547
|
#
|
530
548
|
# @option params [Integer] :duration_seconds
|
531
549
|
# The duration, in seconds, of the role session. The value specified can
|
532
|
-
#
|
533
|
-
#
|
534
|
-
#
|
535
|
-
#
|
536
|
-
#
|
537
|
-
#
|
538
|
-
#
|
539
|
-
#
|
540
|
-
#
|
550
|
+
# range from 900 seconds (15 minutes) up to the maximum session duration
|
551
|
+
# set for the role. The maximum session duration setting can have a
|
552
|
+
# value from 1 hour to 12 hours. If you specify a value higher than this
|
553
|
+
# setting or the administrator setting (whichever is lower), the
|
554
|
+
# operation fails. For example, if you specify a session duration of 12
|
555
|
+
# hours, but your administrator set the maximum session duration to 6
|
556
|
+
# hours, your operation fails.
|
557
|
+
#
|
558
|
+
# Role chaining limits your Amazon Web Services CLI or Amazon Web
|
559
|
+
# Services API role session to a maximum of one hour. When you use the
|
560
|
+
# `AssumeRole` API operation to assume a role, you can specify the
|
561
|
+
# duration of your role session with the `DurationSeconds` parameter.
|
562
|
+
# You can specify a parameter value of up to 43200 seconds (12 hours),
|
563
|
+
# depending on the maximum session duration setting for your role.
|
564
|
+
# However, if you assume a role using role chaining and provide a
|
565
|
+
# `DurationSeconds` parameter value greater than one hour, the operation
|
566
|
+
# fails. To learn how to view the maximum value for your role, see [View
|
567
|
+
# the Maximum Session Duration Setting for a Role][1] in the *IAM User
|
568
|
+
# Guide*.
|
541
569
|
#
|
542
570
|
# By default, the value is set to `3600` seconds.
|
543
571
|
#
|
@@ -546,8 +574,8 @@ module Aws::STS
|
|
546
574
|
# The request to the federation endpoint for a console sign-in token
|
547
575
|
# takes a `SessionDuration` parameter that specifies the maximum length
|
548
576
|
# of the console session. For more information, see [Creating a URL that
|
549
|
-
# Enables Federated Users to Access the
|
550
|
-
# *IAM User Guide*.
|
577
|
+
# Enables Federated Users to Access the Amazon Web Services Management
|
578
|
+
# Console][2] in the *IAM User Guide*.
|
551
579
|
#
|
552
580
|
# </note>
|
553
581
|
#
|
@@ -559,8 +587,8 @@ module Aws::STS
|
|
559
587
|
# @option params [Array<Types::Tag>] :tags
|
560
588
|
# A list of session tags that you want to pass. Each session tag
|
561
589
|
# consists of a key name and an associated value. For more information
|
562
|
-
# about session tags, see [Tagging STS Sessions][1]
|
563
|
-
# Guide*.
|
590
|
+
# about session tags, see [Tagging Amazon Web Services STS Sessions][1]
|
591
|
+
# in the *IAM User Guide*.
|
564
592
|
#
|
565
593
|
# This parameter is optional. You can pass up to 50 session tags. The
|
566
594
|
# plaintext session tag keys can’t exceed 128 characters, and the values
|
@@ -789,8 +817,8 @@ module Aws::STS
|
|
789
817
|
# user-specific credentials or configuration. For a comparison of
|
790
818
|
# `AssumeRoleWithSAML` with the other API operations that produce
|
791
819
|
# temporary credentials, see [Requesting Temporary Security
|
792
|
-
# Credentials][1] and [Comparing the
|
793
|
-
# User Guide*.
|
820
|
+
# Credentials][1] and [Comparing the Amazon Web Services STS API
|
821
|
+
# operations][2] in the *IAM User Guide*.
|
794
822
|
#
|
795
823
|
# The temporary security credentials returned by this operation consist
|
796
824
|
# of an access key ID, a secret access key, and a security token.
|
@@ -1042,8 +1070,8 @@ module Aws::STS
|
|
1042
1070
|
# The request to the federation endpoint for a console sign-in token
|
1043
1071
|
# takes a `SessionDuration` parameter that specifies the maximum length
|
1044
1072
|
# of the console session. For more information, see [Creating a URL that
|
1045
|
-
# Enables Federated Users to Access the
|
1046
|
-
# *IAM User Guide*.
|
1073
|
+
# Enables Federated Users to Access the Amazon Web Services Management
|
1074
|
+
# Console][2] in the *IAM User Guide*.
|
1047
1075
|
#
|
1048
1076
|
# </note>
|
1049
1077
|
#
|
@@ -1163,8 +1191,8 @@ module Aws::STS
|
|
1163
1191
|
# a token from the web identity provider. For a comparison of
|
1164
1192
|
# `AssumeRoleWithWebIdentity` with the other API operations that produce
|
1165
1193
|
# temporary credentials, see [Requesting Temporary Security
|
1166
|
-
# Credentials][5] and [Comparing the
|
1167
|
-
# User Guide*.
|
1194
|
+
# Credentials][5] and [Comparing the Amazon Web Services STS API
|
1195
|
+
# operations][6] in the *IAM User Guide*.
|
1168
1196
|
#
|
1169
1197
|
# The temporary security credentials returned by this API consist of an
|
1170
1198
|
# access key ID, a secret access key, and a security token. Applications
|
@@ -1424,8 +1452,8 @@ module Aws::STS
|
|
1424
1452
|
# The request to the federation endpoint for a console sign-in token
|
1425
1453
|
# takes a `SessionDuration` parameter that specifies the maximum length
|
1426
1454
|
# of the console session. For more information, see [Creating a URL that
|
1427
|
-
# Enables Federated Users to Access the
|
1428
|
-
# *IAM User Guide*.
|
1455
|
+
# Enables Federated Users to Access the Amazon Web Services Management
|
1456
|
+
# Console][2] in the *IAM User Guide*.
|
1429
1457
|
#
|
1430
1458
|
# </note>
|
1431
1459
|
#
|
@@ -1531,17 +1559,17 @@ module Aws::STS
|
|
1531
1559
|
# </note>
|
1532
1560
|
#
|
1533
1561
|
# The message is encoded because the details of the authorization status
|
1534
|
-
# can
|
1562
|
+
# can contain privileged information that the user who requested the
|
1535
1563
|
# operation should not see. To decode an authorization status message, a
|
1536
|
-
# user must be granted permissions
|
1537
|
-
# `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
|
1564
|
+
# user must be granted permissions through an IAM [policy][1] to request
|
1565
|
+
# the `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
|
1538
1566
|
# action.
|
1539
1567
|
#
|
1540
1568
|
# The decoded message includes the following type of information:
|
1541
1569
|
#
|
1542
1570
|
# * Whether the request was denied due to an explicit deny or due to the
|
1543
1571
|
# absence of an explicit allow. For more information, see [Determining
|
1544
|
-
# Whether a Request is Allowed or Denied][
|
1572
|
+
# Whether a Request is Allowed or Denied][2] in the *IAM User Guide*.
|
1545
1573
|
#
|
1546
1574
|
# * The principal who made the request.
|
1547
1575
|
#
|
@@ -1553,7 +1581,8 @@ module Aws::STS
|
|
1553
1581
|
#
|
1554
1582
|
#
|
1555
1583
|
#
|
1556
|
-
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/
|
1584
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
|
1585
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
|
1557
1586
|
#
|
1558
1587
|
# @option params [required, String] :encoded_message
|
1559
1588
|
# The encoded message that was returned with the response.
|
@@ -1748,8 +1777,8 @@ module Aws::STS
|
|
1748
1777
|
# can be safely stored, usually in a server-based application. For a
|
1749
1778
|
# comparison of `GetFederationToken` with the other API operations that
|
1750
1779
|
# produce temporary credentials, see [Requesting Temporary Security
|
1751
|
-
# Credentials][1] and [Comparing the
|
1752
|
-
# User Guide*.
|
1780
|
+
# Credentials][1] and [Comparing the Amazon Web Services STS API
|
1781
|
+
# operations][2] in the *IAM User Guide*.
|
1753
1782
|
#
|
1754
1783
|
# <note markdown="1"> You can create a mobile-based or browser-based app that can
|
1755
1784
|
# authenticate users using a web identity provider like Login with
|
@@ -1773,7 +1802,7 @@ module Aws::STS
|
|
1773
1802
|
# The temporary credentials are valid for the specified duration, from
|
1774
1803
|
# 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
|
1775
1804
|
# hours). The default session duration is 43,200 seconds (12 hours).
|
1776
|
-
# Temporary credentials
|
1805
|
+
# Temporary credentials obtained by using the Amazon Web Services
|
1777
1806
|
# account root user credentials have a maximum duration of 3,600 seconds
|
1778
1807
|
# (1 hour).
|
1779
1808
|
#
|
@@ -1828,65 +1857,6 @@ module Aws::STS
|
|
1828
1857
|
#
|
1829
1858
|
# </note>
|
1830
1859
|
#
|
1831
|
-
# You can also call `GetFederationToken` using the security credentials
|
1832
|
-
# of an Amazon Web Services account root user, but we do not recommend
|
1833
|
-
# it. Instead, we recommend that you create an IAM user for the purpose
|
1834
|
-
# of the proxy application. Then attach a policy to the IAM user that
|
1835
|
-
# limits federated users to only the actions and resources that they
|
1836
|
-
# need to access. For more information, see [IAM Best Practices][5] in
|
1837
|
-
# the *IAM User Guide*.
|
1838
|
-
#
|
1839
|
-
# **Session duration**
|
1840
|
-
#
|
1841
|
-
# The temporary credentials are valid for the specified duration, from
|
1842
|
-
# 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
|
1843
|
-
# hours). The default session duration is 43,200 seconds (12 hours).
|
1844
|
-
# Temporary credentials that are obtained by using Amazon Web Services
|
1845
|
-
# account root user credentials have a maximum duration of 3,600 seconds
|
1846
|
-
# (1 hour).
|
1847
|
-
#
|
1848
|
-
# **Permissions**
|
1849
|
-
#
|
1850
|
-
# You can use the temporary credentials created by `GetFederationToken`
|
1851
|
-
# in any Amazon Web Services service except the following:
|
1852
|
-
#
|
1853
|
-
# * You cannot call any IAM operations using the CLI or the Amazon Web
|
1854
|
-
# Services API.
|
1855
|
-
#
|
1856
|
-
# * You cannot call any STS operations except `GetCallerIdentity`.
|
1857
|
-
#
|
1858
|
-
# You must pass an inline or managed [session policy][6] to this
|
1859
|
-
# operation. You can pass a single JSON policy document to use as an
|
1860
|
-
# inline session policy. You can also specify up to 10 managed policies
|
1861
|
-
# to use as managed session policies. The plain text that you use for
|
1862
|
-
# both inline and managed session policies can't exceed 2,048
|
1863
|
-
# characters.
|
1864
|
-
#
|
1865
|
-
# Though the session policy parameters are optional, if you do not pass
|
1866
|
-
# a policy, then the resulting federated user session has no
|
1867
|
-
# permissions. When you pass session policies, the session permissions
|
1868
|
-
# are the intersection of the IAM user policies and the session policies
|
1869
|
-
# that you pass. This gives you a way to further restrict the
|
1870
|
-
# permissions for a federated user. You cannot use session policies to
|
1871
|
-
# grant more permissions than those that are defined in the permissions
|
1872
|
-
# policy of the IAM user. For more information, see [Session
|
1873
|
-
# Policies][6] in the *IAM User Guide*. For information about using
|
1874
|
-
# `GetFederationToken` to create temporary security credentials, see
|
1875
|
-
# [GetFederationToken—Federation Through a Custom Identity Broker][7].
|
1876
|
-
#
|
1877
|
-
# You can use the credentials to access a resource that has a
|
1878
|
-
# resource-based policy. If that policy specifically references the
|
1879
|
-
# federated user session in the `Principal` element of the policy, the
|
1880
|
-
# session has the permissions allowed by the policy. These permissions
|
1881
|
-
# are granted in addition to the permissions granted by the session
|
1882
|
-
# policies.
|
1883
|
-
#
|
1884
|
-
# **Tags**
|
1885
|
-
#
|
1886
|
-
# (Optional) You can pass tag key-value pairs to your session. These are
|
1887
|
-
# called session tags. For more information about session tags, see
|
1888
|
-
# [Passing Session Tags in STS][8] in the *IAM User Guide*.
|
1889
|
-
#
|
1890
1860
|
# An administrator must grant you the permissions necessary to pass
|
1891
1861
|
# session tags. The administrator can also create granular permissions
|
1892
1862
|
# to allow you to pass only specific session tags. For more information,
|
@@ -2155,8 +2125,8 @@ module Aws::STS
|
|
2155
2125
|
# correct MFA code, then the API returns an access denied error. For a
|
2156
2126
|
# comparison of `GetSessionToken` with the other API operations that
|
2157
2127
|
# produce temporary credentials, see [Requesting Temporary Security
|
2158
|
-
# Credentials][1] and [Comparing the
|
2159
|
-
# User Guide*.
|
2128
|
+
# Credentials][1] and [Comparing the Amazon Web Services STS API
|
2129
|
+
# operations][2] in the *IAM User Guide*.
|
2160
2130
|
#
|
2161
2131
|
# **Session Duration**
|
2162
2132
|
#
|
@@ -2224,8 +2194,8 @@ module Aws::STS
|
|
2224
2194
|
# The value is either the serial number for a hardware device (such as
|
2225
2195
|
# `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual device
|
2226
2196
|
# (such as `arn:aws:iam::123456789012:mfa/user`). You can find the
|
2227
|
-
# device for an IAM user by going to the
|
2228
|
-
# the user's security credentials.
|
2197
|
+
# device for an IAM user by going to the Amazon Web Services Management
|
2198
|
+
# Console and viewing the user's security credentials.
|
2229
2199
|
#
|
2230
2200
|
# The regex used to validate this parameter is a string of characters
|
2231
2201
|
# consisting of upper- and lower-case alphanumeric characters with no
|
@@ -2303,7 +2273,7 @@ module Aws::STS
|
|
2303
2273
|
params: params,
|
2304
2274
|
config: config)
|
2305
2275
|
context[:gem_name] = 'aws-sdk-core'
|
2306
|
-
context[:gem_version] = '3.
|
2276
|
+
context[:gem_version] = '3.123.0'
|
2307
2277
|
Seahorse::Client::Request.new(handlers, context)
|
2308
2278
|
end
|
2309
2279
|
|
@@ -53,7 +53,13 @@ module Aws
|
|
53
53
|
)
|
54
54
|
|
55
55
|
url = Aws::Partitions::EndpointProvider.resolve(
|
56
|
-
req.context.config.region,
|
56
|
+
req.context.config.region,
|
57
|
+
'sts',
|
58
|
+
req.context.config.sts_regional_endpoints,
|
59
|
+
{
|
60
|
+
dualstack: req.context.config.use_dualstack_endpoint,
|
61
|
+
fips: req.context.config.use_fips_endpoint
|
62
|
+
}
|
57
63
|
)
|
58
64
|
url += "/?#{param_list}"
|
59
65
|
|
data/lib/aws-sdk-sts/types.rb
CHANGED
@@ -132,16 +132,25 @@ module Aws::STS
|
|
132
132
|
#
|
133
133
|
# @!attribute [rw] duration_seconds
|
134
134
|
# The duration, in seconds, of the role session. The value specified
|
135
|
-
# can
|
136
|
-
#
|
137
|
-
#
|
138
|
-
#
|
139
|
-
#
|
140
|
-
#
|
141
|
-
#
|
142
|
-
#
|
143
|
-
#
|
144
|
-
#
|
135
|
+
# can range from 900 seconds (15 minutes) up to the maximum session
|
136
|
+
# duration set for the role. The maximum session duration setting can
|
137
|
+
# have a value from 1 hour to 12 hours. If you specify a value higher
|
138
|
+
# than this setting or the administrator setting (whichever is lower),
|
139
|
+
# the operation fails. For example, if you specify a session duration
|
140
|
+
# of 12 hours, but your administrator set the maximum session duration
|
141
|
+
# to 6 hours, your operation fails.
|
142
|
+
#
|
143
|
+
# Role chaining limits your Amazon Web Services CLI or Amazon Web
|
144
|
+
# Services API role session to a maximum of one hour. When you use the
|
145
|
+
# `AssumeRole` API operation to assume a role, you can specify the
|
146
|
+
# duration of your role session with the `DurationSeconds` parameter.
|
147
|
+
# You can specify a parameter value of up to 43200 seconds (12 hours),
|
148
|
+
# depending on the maximum session duration setting for your role.
|
149
|
+
# However, if you assume a role using role chaining and provide a
|
150
|
+
# `DurationSeconds` parameter value greater than one hour, the
|
151
|
+
# operation fails. To learn how to view the maximum value for your
|
152
|
+
# role, see [View the Maximum Session Duration Setting for a Role][1]
|
153
|
+
# in the *IAM User Guide*.
|
145
154
|
#
|
146
155
|
# By default, the value is set to `3600` seconds.
|
147
156
|
#
|
@@ -150,8 +159,8 @@ module Aws::STS
|
|
150
159
|
# credentials. The request to the federation endpoint for a console
|
151
160
|
# sign-in token takes a `SessionDuration` parameter that specifies the
|
152
161
|
# maximum length of the console session. For more information, see
|
153
|
-
# [Creating a URL that Enables Federated Users to Access the
|
154
|
-
# Management Console][2] in the *IAM User Guide*.
|
162
|
+
# [Creating a URL that Enables Federated Users to Access the Amazon
|
163
|
+
# Web Services Management Console][2] in the *IAM User Guide*.
|
155
164
|
#
|
156
165
|
# </note>
|
157
166
|
#
|
@@ -164,8 +173,8 @@ module Aws::STS
|
|
164
173
|
# @!attribute [rw] tags
|
165
174
|
# A list of session tags that you want to pass. Each session tag
|
166
175
|
# consists of a key name and an associated value. For more information
|
167
|
-
# about session tags, see [Tagging
|
168
|
-
# Guide*.
|
176
|
+
# about session tags, see [Tagging Amazon Web Services STS
|
177
|
+
# Sessions][1] in the *IAM User Guide*.
|
169
178
|
#
|
170
179
|
# This parameter is optional. You can pass up to 50 session tags. The
|
171
180
|
# plaintext session tag keys can’t exceed 128 characters, and the
|
@@ -516,8 +525,8 @@ module Aws::STS
|
|
516
525
|
# credentials. The request to the federation endpoint for a console
|
517
526
|
# sign-in token takes a `SessionDuration` parameter that specifies the
|
518
527
|
# maximum length of the console session. For more information, see
|
519
|
-
# [Creating a URL that Enables Federated Users to Access the
|
520
|
-
# Management Console][2] in the *IAM User Guide*.
|
528
|
+
# [Creating a URL that Enables Federated Users to Access the Amazon
|
529
|
+
# Web Services Management Console][2] in the *IAM User Guide*.
|
521
530
|
#
|
522
531
|
# </note>
|
523
532
|
#
|
@@ -802,8 +811,8 @@ module Aws::STS
|
|
802
811
|
# credentials. The request to the federation endpoint for a console
|
803
812
|
# sign-in token takes a `SessionDuration` parameter that specifies the
|
804
813
|
# maximum length of the console session. For more information, see
|
805
|
-
# [Creating a URL that Enables Federated Users to Access the
|
806
|
-
# Management Console][2] in the *IAM User Guide*.
|
814
|
+
# [Creating a URL that Enables Federated Users to Access the Amazon
|
815
|
+
# Web Services Management Console][2] in the *IAM User Guide*.
|
807
816
|
#
|
808
817
|
# </note>
|
809
818
|
#
|
@@ -1012,7 +1021,7 @@ module Aws::STS
|
|
1012
1021
|
# returned in response to an Amazon Web Services request.
|
1013
1022
|
#
|
1014
1023
|
# @!attribute [rw] decoded_message
|
1015
|
-
#
|
1024
|
+
# The API returns a response with the decoded message.
|
1016
1025
|
# @return [String]
|
1017
1026
|
#
|
1018
1027
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse AWS API Documentation
|
@@ -1396,8 +1405,8 @@ module Aws::STS
|
|
1396
1405
|
# The value is either the serial number for a hardware device (such as
|
1397
1406
|
# `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual
|
1398
1407
|
# device (such as `arn:aws:iam::123456789012:mfa/user`). You can find
|
1399
|
-
# the device for an IAM user by going to the
|
1400
|
-
# viewing the user's security credentials.
|
1408
|
+
# the device for an IAM user by going to the Amazon Web Services
|
1409
|
+
# Management Console and viewing the user's security credentials.
|
1401
1410
|
#
|
1402
1411
|
# The regex used to validate this parameter is a string of characters
|
1403
1412
|
# consisting of upper- and lower-case alphanumeric characters with no
|
@@ -1546,7 +1555,7 @@ module Aws::STS
|
|
1546
1555
|
#
|
1547
1556
|
#
|
1548
1557
|
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
|
1549
|
-
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/
|
1558
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length
|
1550
1559
|
#
|
1551
1560
|
# @!attribute [rw] message
|
1552
1561
|
# @return [String]
|
@@ -1612,7 +1621,8 @@ module Aws::STS
|
|
1612
1621
|
# You can pass custom key-value pair attributes when you assume a role
|
1613
1622
|
# or federate a user. These are called session tags. You can then use
|
1614
1623
|
# the session tags to control access to resources. For more information,
|
1615
|
-
# see [Tagging STS Sessions][1] in the *IAM User
|
1624
|
+
# see [Tagging Amazon Web Services STS Sessions][1] in the *IAM User
|
1625
|
+
# Guide*.
|
1616
1626
|
#
|
1617
1627
|
#
|
1618
1628
|
#
|
data/lib/aws-sdk-sts.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.123.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jmespath
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
version: '1'
|
34
34
|
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 1.
|
36
|
+
version: 1.525.0
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '1'
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 1.
|
46
|
+
version: 1.525.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: aws-sigv4
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|