aws-sdk-core 3.49.0 → 3.50.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +324 -365
- data/lib/aws-sdk-sts/types.rb +118 -118
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d00808ae9ba43d63284f7ffd2573f1fd49a89d30
|
4
|
+
data.tar.gz: 37e62e1a50ac55085d58cd7dd9346c15e8861faf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4dc0a4e73a7454ac9e7c871aa7212157c40224a3a1ddf4a8e0b01f719dd6451833c2df2ad1222de6a18f05a80991079d996c4cc77b0e1df1a45cbc0446f086e6
|
7
|
+
data.tar.gz: 415989fbe8d6e4df04863a6a352f4f9d30efdf1b6d7e2a67dbadc3bb8ea872a0b768fa1b9296796ca3524f6e95c9d7cd1435e11c1e77e43dc52fd60af052a510
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.50.0
|
data/lib/aws-sdk-sts.rb
CHANGED
data/lib/aws-sdk-sts/client.rb
CHANGED
@@ -248,18 +248,18 @@ module Aws::STS
|
|
248
248
|
|
249
249
|
# @!group API Operations
|
250
250
|
|
251
|
-
# Returns a set of temporary security credentials
|
252
|
-
# access
|
253
|
-
#
|
254
|
-
#
|
255
|
-
# federation. For a comparison of `AssumeRole`
|
256
|
-
# produce temporary credentials, see
|
257
|
-
# Credentials][1] and [Comparing the AWS
|
258
|
-
# Guide*.
|
259
|
-
#
|
260
|
-
#
|
261
|
-
#
|
262
|
-
#
|
251
|
+
# Returns a set of temporary security credentials that you can use to
|
252
|
+
# access AWS resources that you might not normally have access to. These
|
253
|
+
# temporary credentials consist of an access key ID, a secret access
|
254
|
+
# key, and a security token. Typically, you use `AssumeRole` for
|
255
|
+
# cross-account access or federation. For a comparison of `AssumeRole`
|
256
|
+
# with other API operations that produce temporary credentials, see
|
257
|
+
# [Requesting Temporary Security Credentials][1] and [Comparing the AWS
|
258
|
+
# STS API operations][2] in the *IAM User Guide*.
|
259
|
+
#
|
260
|
+
# You cannot use AWS account root user credentials to call `AssumeRole`.
|
261
|
+
# You must use credentials for an IAM user or an IAM role to call
|
262
|
+
# `AssumeRole`.
|
263
263
|
#
|
264
264
|
# For cross-account access, imagine that you own multiple accounts and
|
265
265
|
# need to access resources in each account. You could create long-term
|
@@ -273,15 +273,14 @@ module Aws::STS
|
|
273
273
|
#
|
274
274
|
# For federation, you can, for example, grant single sign-on access to
|
275
275
|
# the AWS Management Console. If you already have an identity and
|
276
|
-
# authentication system in your
|
277
|
-
#
|
278
|
-
#
|
279
|
-
#
|
280
|
-
#
|
281
|
-
#
|
282
|
-
#
|
283
|
-
#
|
284
|
-
# the *IAM User Guide*.
|
276
|
+
# authentication system in your network, you don't have to recreate
|
277
|
+
# identities in AWS in order to grant them access to AWS. Instead, after
|
278
|
+
# a user has been authenticated, you call `AssumeRole` (and specify the
|
279
|
+
# role with the appropriate permissions) to get temporary security
|
280
|
+
# credentials for that user. With those temporary security credentials,
|
281
|
+
# you construct a sign-in URL from which users can access the console.
|
282
|
+
# For more information, see [Common Scenarios for Temporary
|
283
|
+
# Credentials][4] in the *IAM User Guide*.
|
285
284
|
#
|
286
285
|
# By default, the temporary security credentials created by `AssumeRole`
|
287
286
|
# last for one hour. However, you can use the optional `DurationSeconds`
|
@@ -291,30 +290,26 @@ module Aws::STS
|
|
291
290
|
# hours. To learn how to view the maximum value for your role, see [View
|
292
291
|
# the Maximum Session Duration Setting for a Role][5] in the *IAM User
|
293
292
|
# Guide*. The maximum session duration limit applies when you use the
|
294
|
-
# `AssumeRole*` API operations or the `assume-role*` CLI
|
295
|
-
# does not apply when you use those operations to
|
296
|
-
# For more information, see [Using IAM Roles][6]
|
297
|
-
# Guide*.
|
293
|
+
# `AssumeRole*` API operations or the `assume-role*` CLI commands.
|
294
|
+
# However the limit does not apply when you use those operations to
|
295
|
+
# create a console URL. For more information, see [Using IAM Roles][6]
|
296
|
+
# in the *IAM User Guide*.
|
298
297
|
#
|
299
298
|
# The temporary security credentials created by `AssumeRole` can be used
|
300
|
-
# to make API calls to any AWS service with the following exception:
|
301
|
-
# cannot call the STS service's `GetFederationToken` or
|
302
|
-
# `GetSessionToken`
|
303
|
-
#
|
304
|
-
#
|
305
|
-
# you
|
306
|
-
#
|
307
|
-
#
|
308
|
-
#
|
309
|
-
#
|
310
|
-
# allowed by
|
311
|
-
#
|
312
|
-
#
|
313
|
-
#
|
314
|
-
# that are in excess of those allowed by the access policy of the role
|
315
|
-
# that is being assumed. For more information, see [Permissions for
|
316
|
-
# AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity][7] in
|
317
|
-
# the *IAM User Guide*.
|
299
|
+
# to make API calls to any AWS service with the following exception: You
|
300
|
+
# cannot call the AWS STS service's `GetFederationToken` or
|
301
|
+
# `GetSessionToken` API operations.
|
302
|
+
#
|
303
|
+
# (Optional) You can pass an IAM permissions policy to this operation.
|
304
|
+
# If you pass a policy to this operation, the resulting temporary
|
305
|
+
# credentials have the permissions of the assumed role *and* the policy
|
306
|
+
# that you pass. This gives you a way to further restrict the
|
307
|
+
# permissions for the resulting temporary security credentials. You
|
308
|
+
# cannot use the passed policy to grant permissions that are in excess
|
309
|
+
# of those allowed by the permissions policy of the role that is being
|
310
|
+
# assumed. For more information, see [ Permissions for AssumeRole,
|
311
|
+
# AssumeRoleWithSAML, and AssumeRoleWithWebIdentity ][7] in the *IAM
|
312
|
+
# User Guide*.
|
318
313
|
#
|
319
314
|
# To assume a role, your AWS account must be trusted by the role. The
|
320
315
|
# trust relationship is defined in the role's trust policy when the
|
@@ -322,27 +317,31 @@ module Aws::STS
|
|
322
317
|
# to delegate access to this account's role.
|
323
318
|
#
|
324
319
|
# The user who wants to access the role must also have permissions
|
325
|
-
# delegated from the role's administrator. If the user
|
326
|
-
# different account
|
327
|
-
#
|
328
|
-
# the role in the other account. If the user is in the
|
329
|
-
# the role, then you can either
|
330
|
-
#
|
331
|
-
#
|
332
|
-
#
|
333
|
-
#
|
334
|
-
#
|
335
|
-
#
|
336
|
-
#
|
320
|
+
# delegated from the role's administrator. If the user and the role are
|
321
|
+
# in a different account, then the user's administrator must attach a
|
322
|
+
# policy. That attached policy must allow the user to call `AssumeRole`
|
323
|
+
# for the ARN of the role in the other account. If the user is in the
|
324
|
+
# same account as the role, then you can do either of the following:
|
325
|
+
#
|
326
|
+
# * Attach a policy to the user (identical to the previous user in a
|
327
|
+
# different account)
|
328
|
+
#
|
329
|
+
# * Add the user as a principal directly in the role's trust policy.
|
330
|
+
#
|
331
|
+
# In this case, the trust policy acts as the only resource-based policy
|
332
|
+
# in IAM. Users in the same account as the role do not need explicit
|
333
|
+
# permission to assume the role. For more information about trust
|
334
|
+
# policies and resource-based policies, see [IAM Policies][8] in the
|
335
|
+
# *IAM User Guide*.
|
337
336
|
#
|
338
337
|
# **Using MFA with AssumeRole**
|
339
338
|
#
|
340
|
-
# You can
|
339
|
+
# (Optional) You can include multi-factor authentication (MFA)
|
341
340
|
# information when you call `AssumeRole`. This is useful for
|
342
341
|
# cross-account scenarios in which you want to make sure that the user
|
343
342
|
# who is assuming the role has been authenticated using an AWS MFA
|
344
343
|
# device. In that scenario, the trust policy of the role being assumed
|
345
|
-
# includes a condition that tests for MFA authentication
|
344
|
+
# includes a condition that tests for MFA authentication. If the caller
|
346
345
|
# does not include valid MFA information, the request to assume the role
|
347
346
|
# is denied. The condition in a trust policy that tests for MFA
|
348
347
|
# authentication might look like the following example.
|
@@ -355,19 +354,19 @@ module Aws::STS
|
|
355
354
|
# To use MFA with `AssumeRole`, you pass values for the `SerialNumber`
|
356
355
|
# and `TokenCode` parameters. The `SerialNumber` value identifies the
|
357
356
|
# user's hardware or virtual MFA device. The `TokenCode` is the
|
358
|
-
# time-based one-time password (TOTP) that the MFA
|
357
|
+
# time-based one-time password (TOTP) that the MFA device produces.
|
359
358
|
#
|
360
359
|
#
|
361
360
|
#
|
362
|
-
# [1]:
|
363
|
-
# [2]:
|
364
|
-
# [3]:
|
365
|
-
# [4]:
|
366
|
-
# [5]:
|
367
|
-
# [6]:
|
368
|
-
# [7]:
|
369
|
-
# [8]:
|
370
|
-
# [9]:
|
361
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
|
362
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
|
363
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html
|
364
|
+
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction
|
365
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
366
|
+
# [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
|
367
|
+
# [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
368
|
+
# [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
|
369
|
+
# [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html
|
371
370
|
#
|
372
371
|
# @option params [required, String] :role_arn
|
373
372
|
# The Amazon Resource Name (ARN) of the role to assume.
|
@@ -380,9 +379,9 @@ module Aws::STS
|
|
380
379
|
# cross-account scenarios, the role session name is visible to, and can
|
381
380
|
# be logged by the account that owns the role. The role session name is
|
382
381
|
# also used in the ARN of the assumed role principal. This means that
|
383
|
-
# subsequent cross-account API requests
|
382
|
+
# subsequent cross-account API requests that use the temporary security
|
384
383
|
# credentials will expose the role session name to the external account
|
385
|
-
# in their CloudTrail logs.
|
384
|
+
# in their AWS CloudTrail logs.
|
386
385
|
#
|
387
386
|
# The regex used to validate this parameter is a string of characters
|
388
387
|
# consisting of upper- and lower-case alphanumeric characters with no
|
@@ -392,16 +391,15 @@ module Aws::STS
|
|
392
391
|
# @option params [String] :policy
|
393
392
|
# An IAM policy in JSON format.
|
394
393
|
#
|
395
|
-
# This parameter is optional. If you pass a policy
|
396
|
-
#
|
397
|
-
#
|
398
|
-
#
|
399
|
-
#
|
400
|
-
#
|
401
|
-
#
|
402
|
-
#
|
403
|
-
#
|
404
|
-
# AssumeRoleWithWebIdentity][1] in the *IAM User Guide*.
|
394
|
+
# This parameter is optional. If you pass a policy to this operation,
|
395
|
+
# the resulting temporary credentials have the permissions of the
|
396
|
+
# assumed role *and* the policy that you pass. This gives you a way to
|
397
|
+
# further restrict the permissions for the resulting temporary security
|
398
|
+
# credentials. You cannot use the passed policy to grant permissions
|
399
|
+
# that are in excess of those allowed by the permissions policy of the
|
400
|
+
# role that is being assumed. For more information, see [ Permissions
|
401
|
+
# for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity ][1]
|
402
|
+
# in the *IAM User Guide*.
|
405
403
|
#
|
406
404
|
# The format for this parameter, as described by its regex pattern, is a
|
407
405
|
# string of characters up to 2048 characters in length. The characters
|
@@ -410,17 +408,17 @@ module Aws::STS
|
|
410
408
|
# (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
|
411
409
|
# characters.
|
412
410
|
#
|
413
|
-
# <note markdown="1"> The policy
|
411
|
+
# <note markdown="1"> The policy plaintext must be 2048 bytes or shorter. However, an
|
414
412
|
# internal conversion compresses it into a packed binary format with a
|
415
|
-
# separate limit. The PackedPolicySize response element indicates by
|
416
|
-
# percentage how close to the upper size limit the policy is,
|
417
|
-
#
|
413
|
+
# separate limit. The `PackedPolicySize` response element indicates by
|
414
|
+
# percentage how close to the upper size limit the policy is, where 100
|
415
|
+
# percent is the maximum allowed size.
|
418
416
|
#
|
419
417
|
# </note>
|
420
418
|
#
|
421
419
|
#
|
422
420
|
#
|
423
|
-
# [1]:
|
421
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
424
422
|
#
|
425
423
|
# @option params [Integer] :duration_seconds
|
426
424
|
# The duration, in seconds, of the role session. The value can range
|
@@ -433,7 +431,7 @@ module Aws::STS
|
|
433
431
|
# see [View the Maximum Session Duration Setting for a Role][1] in the
|
434
432
|
# *IAM User Guide*.
|
435
433
|
#
|
436
|
-
# By default, the value is set to 3600 seconds.
|
434
|
+
# By default, the value is set to `3600` seconds.
|
437
435
|
#
|
438
436
|
# <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
|
439
437
|
# console session that you might request using the returned credentials.
|
@@ -447,29 +445,30 @@ module Aws::STS
|
|
447
445
|
#
|
448
446
|
#
|
449
447
|
#
|
450
|
-
# [1]:
|
451
|
-
# [2]:
|
448
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
449
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
452
450
|
#
|
453
451
|
# @option params [String] :external_id
|
454
|
-
# A unique identifier that
|
455
|
-
#
|
456
|
-
#
|
457
|
-
#
|
458
|
-
#
|
459
|
-
#
|
460
|
-
#
|
461
|
-
#
|
462
|
-
#
|
463
|
-
#
|
452
|
+
# A unique identifier that might be required when you assume a role in
|
453
|
+
# another account. If the administrator of the account to which the role
|
454
|
+
# belongs provided you with an external ID, then provide that value in
|
455
|
+
# the `ExternalId` parameter. This value can be any string, such as a
|
456
|
+
# passphrase or account number. Because a cross-account role is usually
|
457
|
+
# set up to trust everyone in an account, the administrator of the
|
458
|
+
# trusting account might send an external ID to the administrator of the
|
459
|
+
# trusted account. That way, only someone with the ID can assume the
|
460
|
+
# role, rather than everyone in the account. For more information about
|
461
|
+
# the external ID, see [How to Use an External ID When Granting Access
|
462
|
+
# to Your AWS Resources to a Third Party][1] in the *IAM User Guide*.
|
464
463
|
#
|
465
|
-
# The regex used to
|
464
|
+
# The regex used to validate this parameter is a string of characters
|
466
465
|
# consisting of upper- and lower-case alphanumeric characters with no
|
467
466
|
# spaces. You can also include underscores or any of the following
|
468
467
|
# characters: =,.@:/-
|
469
468
|
#
|
470
469
|
#
|
471
470
|
#
|
472
|
-
# [1]:
|
471
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
|
473
472
|
#
|
474
473
|
# @option params [String] :serial_number
|
475
474
|
# The identification number of the MFA device that is associated with
|
@@ -563,9 +562,9 @@ module Aws::STS
|
|
563
562
|
# provides a mechanism for tying an enterprise identity store or
|
564
563
|
# directory to role-based AWS access without user-specific credentials
|
565
564
|
# or configuration. For a comparison of `AssumeRoleWithSAML` with the
|
566
|
-
# other
|
567
|
-
# Temporary Security Credentials][1] and [Comparing the AWS
|
568
|
-
# in the *IAM User Guide*.
|
565
|
+
# other API operations that produce temporary credentials, see
|
566
|
+
# [Requesting Temporary Security Credentials][1] and [Comparing the AWS
|
567
|
+
# STS API operations][2] in the *IAM User Guide*.
|
569
568
|
#
|
570
569
|
# The temporary security credentials returned by this operation consist
|
571
570
|
# of an access key ID, a secret access key, and a security token.
|
@@ -584,37 +583,32 @@ module Aws::STS
|
|
584
583
|
# for your role, see [View the Maximum Session Duration Setting for a
|
585
584
|
# Role][3] in the *IAM User Guide*. The maximum session duration limit
|
586
585
|
# applies when you use the `AssumeRole*` API operations or the
|
587
|
-
# `assume-role*` CLI
|
588
|
-
# operations to create a console URL. For more information,
|
589
|
-
# IAM Roles][4] in the *IAM User Guide*.
|
586
|
+
# `assume-role*` CLI commands. However the limit does not apply when you
|
587
|
+
# use those operations to create a console URL. For more information,
|
588
|
+
# see [Using IAM Roles][4] in the *IAM User Guide*.
|
590
589
|
#
|
591
590
|
# The temporary security credentials created by `AssumeRoleWithSAML` can
|
592
591
|
# be used to make API calls to any AWS service with the following
|
593
592
|
# exception: you cannot call the STS service's `GetFederationToken` or
|
594
|
-
# `GetSessionToken`
|
595
|
-
#
|
596
|
-
# Optionally, you can pass an IAM
|
597
|
-
# you
|
598
|
-
#
|
599
|
-
#
|
600
|
-
#
|
601
|
-
#
|
602
|
-
# allowed by the
|
603
|
-
#
|
604
|
-
#
|
605
|
-
#
|
606
|
-
# for the resulting temporary security credentials. You cannot use the
|
607
|
-
# passed policy to grant permissions that are in excess of those allowed
|
608
|
-
# by the access policy of the role that is being assumed. For more
|
609
|
-
# information, see [Permissions for AssumeRole, AssumeRoleWithSAML, and
|
610
|
-
# AssumeRoleWithWebIdentity][5] in the *IAM User Guide*.
|
593
|
+
# `GetSessionToken` API operations.
|
594
|
+
#
|
595
|
+
# Optionally, you can pass an IAM permissions policy to this operation.
|
596
|
+
# If you pass a policy to this operation, the resulting temporary
|
597
|
+
# credentials have the permissions of the assumed role *and* the policy
|
598
|
+
# that you pass. This gives you a way to further restrict the
|
599
|
+
# permissions for the resulting temporary security credentials. You
|
600
|
+
# cannot use the passed policy to grant permissions that are in excess
|
601
|
+
# of those allowed by the permissions policy of the role that is being
|
602
|
+
# assumed. For more information, see [ Permissions for AssumeRole,
|
603
|
+
# AssumeRoleWithSAML, and AssumeRoleWithWebIdentity ][5] in the *IAM
|
604
|
+
# User Guide*.
|
611
605
|
#
|
612
606
|
# Before your application can call `AssumeRoleWithSAML`, you must
|
613
607
|
# configure your SAML identity provider (IdP) to issue the claims
|
614
608
|
# required by AWS. Additionally, you must use AWS Identity and Access
|
615
609
|
# Management (IAM) to create a SAML provider entity in your AWS account
|
616
|
-
# that represents your identity provider
|
617
|
-
# specifies this SAML provider in its trust policy.
|
610
|
+
# that represents your identity provider. You must also create an IAM
|
611
|
+
# role that specifies this SAML provider in its trust policy.
|
618
612
|
#
|
619
613
|
# Calling `AssumeRoleWithSAML` does not require the use of AWS security
|
620
614
|
# credentials. The identity of the caller is validated by using keys in
|
@@ -641,15 +635,15 @@ module Aws::STS
|
|
641
635
|
#
|
642
636
|
#
|
643
637
|
#
|
644
|
-
# [1]:
|
645
|
-
# [2]:
|
646
|
-
# [3]:
|
647
|
-
# [4]:
|
648
|
-
# [5]:
|
649
|
-
# [6]:
|
650
|
-
# [7]:
|
651
|
-
# [8]:
|
652
|
-
# [9]:
|
638
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
|
639
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
|
640
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
641
|
+
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
|
642
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
643
|
+
# [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html
|
644
|
+
# [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html
|
645
|
+
# [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html
|
646
|
+
# [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html
|
653
647
|
#
|
654
648
|
# @option params [required, String] :role_arn
|
655
649
|
# The Amazon Resource Name (ARN) of the role that the caller is
|
@@ -663,25 +657,24 @@ module Aws::STS
|
|
663
657
|
# The base-64 encoded SAML authentication response provided by the IdP.
|
664
658
|
#
|
665
659
|
# For more information, see [Configuring a Relying Party and Adding
|
666
|
-
# Claims][1] in the *
|
660
|
+
# Claims][1] in the *IAM User Guide*.
|
667
661
|
#
|
668
662
|
#
|
669
663
|
#
|
670
|
-
# [1]:
|
664
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
|
671
665
|
#
|
672
666
|
# @option params [String] :policy
|
673
667
|
# An IAM policy in JSON format.
|
674
668
|
#
|
675
|
-
# The policy parameter is optional. If you pass a policy
|
676
|
-
#
|
677
|
-
#
|
678
|
-
#
|
679
|
-
#
|
680
|
-
#
|
681
|
-
# policy
|
682
|
-
#
|
683
|
-
# [
|
684
|
-
# AssumeRoleWithWebIdentity][1] in the *IAM User Guide*.
|
669
|
+
# The policy parameter is optional. If you pass a policy to this
|
670
|
+
# operation, the resulting temporary credentials have the permissions of
|
671
|
+
# the assumed role *and* the policy that you pass. This gives you a way
|
672
|
+
# to further restrict the permissions for the resulting temporary
|
673
|
+
# security credentials. You cannot use the passed policy to grant
|
674
|
+
# permissions that are in excess of those allowed by the permissions
|
675
|
+
# policy of the role that is being assumed. For more information, see [
|
676
|
+
# Permissions for AssumeRole, AssumeRoleWithSAML, and
|
677
|
+
# AssumeRoleWithWebIdentity ][1] in the *IAM User Guide*.
|
685
678
|
#
|
686
679
|
# The format for this parameter, as described by its regex pattern, is a
|
687
680
|
# string of characters up to 2048 characters in length. The characters
|
@@ -690,17 +683,17 @@ module Aws::STS
|
|
690
683
|
# (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
|
691
684
|
# characters.
|
692
685
|
#
|
693
|
-
# <note markdown="1"> The policy
|
686
|
+
# <note markdown="1"> The policy plaintext must be 2048 bytes or shorter. However, an
|
694
687
|
# internal conversion compresses it into a packed binary format with a
|
695
|
-
# separate limit. The PackedPolicySize response element indicates by
|
696
|
-
# percentage how close to the upper size limit the policy is,
|
697
|
-
#
|
688
|
+
# separate limit. The `PackedPolicySize` response element indicates by
|
689
|
+
# percentage how close to the upper size limit the policy is, where 100
|
690
|
+
# percent is the maximum allowed size.
|
698
691
|
#
|
699
692
|
# </note>
|
700
693
|
#
|
701
694
|
#
|
702
695
|
#
|
703
|
-
# [1]:
|
696
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
704
697
|
#
|
705
698
|
# @option params [Integer] :duration_seconds
|
706
699
|
# The duration, in seconds, of the role session. Your role session lasts
|
@@ -716,7 +709,7 @@ module Aws::STS
|
|
716
709
|
# maximum value for your role, see [View the Maximum Session Duration
|
717
710
|
# Setting for a Role][1] in the *IAM User Guide*.
|
718
711
|
#
|
719
|
-
# By default, the value is set to 3600 seconds.
|
712
|
+
# By default, the value is set to `3600` seconds.
|
720
713
|
#
|
721
714
|
# <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
|
722
715
|
# console session that you might request using the returned credentials.
|
@@ -730,8 +723,8 @@ module Aws::STS
|
|
730
723
|
#
|
731
724
|
#
|
732
725
|
#
|
733
|
-
# [1]:
|
734
|
-
# [2]:
|
726
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
727
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
735
728
|
#
|
736
729
|
# @return [Types::AssumeRoleWithSAMLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
737
730
|
#
|
@@ -780,13 +773,14 @@ module Aws::STS
|
|
780
773
|
|
781
774
|
# Returns a set of temporary security credentials for users who have
|
782
775
|
# been authenticated in a mobile or web application with a web identity
|
783
|
-
# provider
|
784
|
-
# or any OpenID Connect-compatible identity provider.
|
776
|
+
# provider. Example providers include Amazon Cognito, Login with Amazon,
|
777
|
+
# Facebook, Google, or any OpenID Connect-compatible identity provider.
|
785
778
|
#
|
786
779
|
# <note markdown="1"> For mobile applications, we recommend that you use Amazon Cognito. You
|
787
|
-
# can use Amazon Cognito with the [AWS SDK for iOS][1]
|
788
|
-
# for Android][2] to uniquely identify
|
789
|
-
#
|
780
|
+
# can use Amazon Cognito with the [AWS SDK for iOS Developer Guide][1]
|
781
|
+
# and the [AWS SDK for Android Developer Guide][2] to uniquely identify
|
782
|
+
# a user. You can also supply the user with a consistent identity
|
783
|
+
# throughout the lifetime of an application.
|
790
784
|
#
|
791
785
|
# To learn more about Amazon Cognito, see [Amazon Cognito Overview][3]
|
792
786
|
# in the *AWS SDK for Android Developer Guide* guide and [Amazon Cognito
|
@@ -798,18 +792,18 @@ module Aws::STS
|
|
798
792
|
# security credentials. Therefore, you can distribute an application
|
799
793
|
# (for example, on mobile devices) that requests temporary security
|
800
794
|
# credentials without including long-term AWS credentials in the
|
801
|
-
# application
|
802
|
-
# use long-term AWS credentials. Instead, the identity of
|
803
|
-
# validated by using a token from the web identity
|
804
|
-
# comparison of `AssumeRoleWithWebIdentity` with the
|
805
|
-
# produce temporary credentials, see
|
806
|
-
# Credentials][5] and [Comparing the AWS
|
807
|
-
# Guide*.
|
795
|
+
# application. You also don't need to deploy server-based proxy
|
796
|
+
# services that use long-term AWS credentials. Instead, the identity of
|
797
|
+
# the caller is validated by using a token from the web identity
|
798
|
+
# provider. For a comparison of `AssumeRoleWithWebIdentity` with the
|
799
|
+
# other API operations that produce temporary credentials, see
|
800
|
+
# [Requesting Temporary Security Credentials][5] and [Comparing the AWS
|
801
|
+
# STS API operations][6] in the *IAM User Guide*.
|
808
802
|
#
|
809
803
|
# The temporary security credentials returned by this API consist of an
|
810
804
|
# access key ID, a secret access key, and a security token. Applications
|
811
805
|
# can use these temporary security credentials to sign calls to AWS
|
812
|
-
# service
|
806
|
+
# service API operations.
|
813
807
|
#
|
814
808
|
# By default, the temporary security credentials created by
|
815
809
|
# `AssumeRoleWithWebIdentity` last for one hour. However, you can use
|
@@ -820,29 +814,25 @@ module Aws::STS
|
|
820
814
|
# value for your role, see [View the Maximum Session Duration Setting
|
821
815
|
# for a Role][7] in the *IAM User Guide*. The maximum session duration
|
822
816
|
# limit applies when you use the `AssumeRole*` API operations or the
|
823
|
-
# `assume-role*` CLI
|
824
|
-
# operations to create a console URL. For more information,
|
825
|
-
# IAM Roles][8] in the *IAM User Guide*.
|
817
|
+
# `assume-role*` CLI commands. However the limit does not apply when you
|
818
|
+
# use those operations to create a console URL. For more information,
|
819
|
+
# see [Using IAM Roles][8] in the *IAM User Guide*.
|
826
820
|
#
|
827
821
|
# The temporary security credentials created by
|
828
822
|
# `AssumeRoleWithWebIdentity` can be used to make API calls to any AWS
|
829
823
|
# service with the following exception: you cannot call the STS
|
830
|
-
# service's `GetFederationToken` or `GetSessionToken`
|
831
|
-
#
|
832
|
-
#
|
833
|
-
# you
|
834
|
-
#
|
835
|
-
#
|
836
|
-
#
|
837
|
-
#
|
838
|
-
# allowed by
|
839
|
-
#
|
840
|
-
#
|
841
|
-
#
|
842
|
-
# that are in excess of those allowed by the access policy of the role
|
843
|
-
# that is being assumed. For more information, see [Permissions for
|
844
|
-
# AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity][9] in
|
845
|
-
# the *IAM User Guide*.
|
824
|
+
# service's `GetFederationToken` or `GetSessionToken` API operations.
|
825
|
+
#
|
826
|
+
# (Optional) You can pass an IAM permissions policy to this operation.
|
827
|
+
# If you pass a policy to this operation, the resulting temporary
|
828
|
+
# credentials have the permissions of the assumed role *and* the policy
|
829
|
+
# that you pass. This gives you a way to further restrict the
|
830
|
+
# permissions for the resulting temporary security credentials. You
|
831
|
+
# cannot use the passed policy to grant permissions that are in excess
|
832
|
+
# of those allowed by the permissions policy of the role that is being
|
833
|
+
# assumed. For more information, see [ Permissions for AssumeRole,
|
834
|
+
# AssumeRoleWithSAML, and AssumeRoleWithWebIdentity ][9] in the *IAM
|
835
|
+
# User Guide*.
|
846
836
|
#
|
847
837
|
# Before your application can call `AssumeRoleWithWebIdentity`, you must
|
848
838
|
# have an identity token from a supported identity provider and create a
|
@@ -861,18 +851,19 @@ module Aws::STS
|
|
861
851
|
# For more information about how to use web identity federation and the
|
862
852
|
# `AssumeRoleWithWebIdentity` API, see the following resources:
|
863
853
|
#
|
864
|
-
# * [Using Web Identity Federation
|
865
|
-
# [Federation Through a Web-based Identity Provider][13].
|
854
|
+
# * [Using Web Identity Federation API Operations for Mobile Apps][12]
|
855
|
+
# and [Federation Through a Web-based Identity Provider][13].
|
866
856
|
#
|
867
|
-
# * [ Web Identity Federation Playground][14].
|
868
|
-
#
|
869
|
-
#
|
870
|
-
#
|
857
|
+
# * [ Web Identity Federation Playground][14]. Walk through the process
|
858
|
+
# of authenticating through Login with Amazon, Facebook, or Google,
|
859
|
+
# getting temporary security credentials, and then using those
|
860
|
+
# credentials to make a request to AWS.
|
871
861
|
#
|
872
|
-
# * [AWS SDK for iOS][1] and [AWS SDK for Android
|
873
|
-
# contain sample apps that show
|
874
|
-
#
|
875
|
-
# use temporary security
|
862
|
+
# * [AWS SDK for iOS Developer Guide][1] and [AWS SDK for Android
|
863
|
+
# Developer Guide][2]. These toolkits contain sample apps that show
|
864
|
+
# how to invoke the identity providers, and then how to use the
|
865
|
+
# information from these providers to get and use temporary security
|
866
|
+
# credentials.
|
876
867
|
#
|
877
868
|
# * [Web Identity Federation with Mobile Applications][15]. This article
|
878
869
|
# discusses web identity federation and shows an example of how to use
|
@@ -882,17 +873,17 @@ module Aws::STS
|
|
882
873
|
#
|
883
874
|
# [1]: http://aws.amazon.com/sdkforios/
|
884
875
|
# [2]: http://aws.amazon.com/sdkforandroid/
|
885
|
-
# [3]:
|
886
|
-
# [4]:
|
887
|
-
# [5]:
|
888
|
-
# [6]:
|
889
|
-
# [7]:
|
890
|
-
# [8]:
|
891
|
-
# [9]:
|
876
|
+
# [3]: https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840
|
877
|
+
# [4]: https://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664
|
878
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
|
879
|
+
# [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
|
880
|
+
# [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
881
|
+
# [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
|
882
|
+
# [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
892
883
|
# [10]: http://openid.net/specs/openid-connect-core-1_0.html#Claims
|
893
884
|
# [11]: http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
|
894
|
-
# [12]:
|
895
|
-
# [13]:
|
885
|
+
# [12]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html
|
886
|
+
# [13]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
|
896
887
|
# [14]: https://web-identity-federation-playground.s3.amazonaws.com/index.html
|
897
888
|
# [15]: http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications
|
898
889
|
#
|
@@ -934,16 +925,15 @@ module Aws::STS
|
|
934
925
|
# @option params [String] :policy
|
935
926
|
# An IAM policy in JSON format.
|
936
927
|
#
|
937
|
-
# The policy parameter is optional. If you pass a policy
|
938
|
-
#
|
939
|
-
#
|
940
|
-
#
|
941
|
-
#
|
942
|
-
#
|
943
|
-
# policy
|
944
|
-
#
|
945
|
-
#
|
946
|
-
# Guide*.
|
928
|
+
# The policy parameter is optional. If you pass a policy to this
|
929
|
+
# operation, the resulting temporary credentials have the permissions of
|
930
|
+
# the assumed role *and* the policy that you pass. This gives you a way
|
931
|
+
# to further restrict the permissions for the resulting temporary
|
932
|
+
# security credentials. You cannot use the passed policy to grant
|
933
|
+
# permissions that are in excess of those allowed by the permissions
|
934
|
+
# policy of the role that is being assumed. For more information, see [
|
935
|
+
# Permissions for AssumeRole, AssumeRoleWithSAML, and
|
936
|
+
# AssumeRoleWithWebIdentity ][1] in the *IAM User Guide*.
|
947
937
|
#
|
948
938
|
# The format for this parameter, as described by its regex pattern, is a
|
949
939
|
# string of characters up to 2048 characters in length. The characters
|
@@ -952,17 +942,17 @@ module Aws::STS
|
|
952
942
|
# (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
|
953
943
|
# characters.
|
954
944
|
#
|
955
|
-
# <note markdown="1"> The policy
|
945
|
+
# <note markdown="1"> The policy plaintext must be 2048 bytes or shorter. However, an
|
956
946
|
# internal conversion compresses it into a packed binary format with a
|
957
|
-
# separate limit. The PackedPolicySize response element indicates by
|
958
|
-
# percentage how close to the upper size limit the policy is,
|
959
|
-
#
|
947
|
+
# separate limit. The `PackedPolicySize` response element indicates by
|
948
|
+
# percentage how close to the upper size limit the policy is, where 100
|
949
|
+
# percent is the maximum allowed size.
|
960
950
|
#
|
961
951
|
# </note>
|
962
952
|
#
|
963
953
|
#
|
964
954
|
#
|
965
|
-
# [1]:
|
955
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
966
956
|
#
|
967
957
|
# @option params [Integer] :duration_seconds
|
968
958
|
# The duration, in seconds, of the role session. The value can range
|
@@ -975,7 +965,7 @@ module Aws::STS
|
|
975
965
|
# see [View the Maximum Session Duration Setting for a Role][1] in the
|
976
966
|
# *IAM User Guide*.
|
977
967
|
#
|
978
|
-
# By default, the value is set to 3600 seconds.
|
968
|
+
# By default, the value is set to `3600` seconds.
|
979
969
|
#
|
980
970
|
# <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
|
981
971
|
# console session that you might request using the returned credentials.
|
@@ -989,8 +979,8 @@ module Aws::STS
|
|
989
979
|
#
|
990
980
|
#
|
991
981
|
#
|
992
|
-
# [1]:
|
993
|
-
# [2]:
|
982
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
983
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
994
984
|
#
|
995
985
|
# @return [Types::AssumeRoleWithWebIdentityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
996
986
|
#
|
@@ -1067,21 +1057,22 @@ module Aws::STS
|
|
1067
1057
|
# request from an encoded message returned in response to an AWS
|
1068
1058
|
# request.
|
1069
1059
|
#
|
1070
|
-
# For example, if a user is not authorized to perform an
|
1071
|
-
# or she has requested, the request returns a
|
1060
|
+
# For example, if a user is not authorized to perform an operation that
|
1061
|
+
# he or she has requested, the request returns a
|
1072
1062
|
# `Client.UnauthorizedOperation` response (an HTTP 403 response). Some
|
1073
|
-
# AWS
|
1063
|
+
# AWS operations additionally return an encoded message that can provide
|
1074
1064
|
# details about this authorization failure.
|
1075
1065
|
#
|
1076
|
-
# <note markdown="1"> Only certain AWS
|
1077
|
-
# documentation for an individual
|
1078
|
-
# returns an encoded message in addition to returning an HTTP
|
1066
|
+
# <note markdown="1"> Only certain AWS operations return an encoded authorization message.
|
1067
|
+
# The documentation for an individual operation indicates whether that
|
1068
|
+
# operation returns an encoded message in addition to returning an HTTP
|
1069
|
+
# code.
|
1079
1070
|
#
|
1080
1071
|
# </note>
|
1081
1072
|
#
|
1082
1073
|
# The message is encoded because the details of the authorization status
|
1083
1074
|
# can constitute privileged information that the user who requested the
|
1084
|
-
#
|
1075
|
+
# operation should not see. To decode an authorization status message, a
|
1085
1076
|
# user must be granted permissions via an IAM policy to request the
|
1086
1077
|
# `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
|
1087
1078
|
# action.
|
@@ -1102,7 +1093,7 @@ module Aws::STS
|
|
1102
1093
|
#
|
1103
1094
|
#
|
1104
1095
|
#
|
1105
|
-
# [1]:
|
1096
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
|
1106
1097
|
#
|
1107
1098
|
# @option params [required, String] :encoded_message
|
1108
1099
|
# The encoded message that was returned with the response.
|
@@ -1216,97 +1207,70 @@ module Aws::STS
|
|
1216
1207
|
# access key ID, a secret access key, and a security token) for a
|
1217
1208
|
# federated user. A typical use is in a proxy application that gets
|
1218
1209
|
# temporary security credentials on behalf of distributed applications
|
1219
|
-
# inside a corporate network.
|
1220
|
-
#
|
1221
|
-
#
|
1222
|
-
#
|
1223
|
-
#
|
1224
|
-
#
|
1225
|
-
#
|
1210
|
+
# inside a corporate network. You must call the `GetFederationToken`
|
1211
|
+
# operation using the long-term security credentials of an IAM user. As
|
1212
|
+
# a result, this call is appropriate in contexts where those credentials
|
1213
|
+
# can be safely stored, usually in a server-based application. For a
|
1214
|
+
# comparison of `GetFederationToken` with the other API operations that
|
1215
|
+
# produce temporary credentials, see [Requesting Temporary Security
|
1216
|
+
# Credentials][1] and [Comparing the AWS STS API operations][2] in the
|
1226
1217
|
# *IAM User Guide*.
|
1227
1218
|
#
|
1228
|
-
# <note markdown="1">
|
1219
|
+
# <note markdown="1"> You can create a mobile-based or browser-based app that can
|
1229
1220
|
# authenticate users using a web identity provider like Login with
|
1230
1221
|
# Amazon, Facebook, Google, or an OpenID Connect-compatible identity
|
1231
|
-
# provider, we recommend that you use [Amazon Cognito][3]
|
1232
|
-
# `AssumeRoleWithWebIdentity`. For more information, see [Federation
|
1222
|
+
# provider. In this case, we recommend that you use [Amazon Cognito][3]
|
1223
|
+
# or `AssumeRoleWithWebIdentity`. For more information, see [Federation
|
1233
1224
|
# Through a Web-based Identity Provider][4].
|
1234
1225
|
#
|
1235
1226
|
# </note>
|
1236
1227
|
#
|
1237
|
-
#
|
1238
|
-
# AWS
|
1239
|
-
#
|
1240
|
-
#
|
1241
|
-
#
|
1242
|
-
#
|
1243
|
-
#
|
1244
|
-
#
|
1245
|
-
#
|
1246
|
-
#
|
1247
|
-
#
|
1248
|
-
#
|
1249
|
-
#
|
1250
|
-
# credentials that are obtained by using AWS root account credentials
|
1251
|
-
# have a maximum duration of 3600 seconds (1 hour).
|
1228
|
+
# You can also call `GetFederationToken` using the security credentials
|
1229
|
+
# of an AWS account root user, but we do not recommend it. Instead, we
|
1230
|
+
# recommend that you create an IAM user for the purpose of the proxy
|
1231
|
+
# application. Then attach a policy to the IAM user that limits
|
1232
|
+
# federated users to only the actions and resources that they need to
|
1233
|
+
# access. For more information, see [IAM Best Practices][5] in the *IAM
|
1234
|
+
# User Guide*.
|
1235
|
+
#
|
1236
|
+
# The temporary credentials are valid for the specified duration, from
|
1237
|
+
# 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
|
1238
|
+
# hours). The default is 43,200 seconds (12 hours). Temporary
|
1239
|
+
# credentials that are obtained by using AWS account root user
|
1240
|
+
# credentials have a maximum duration of 3,600 seconds (1 hour).
|
1252
1241
|
#
|
1253
1242
|
# The temporary security credentials created by `GetFederationToken` can
|
1254
1243
|
# be used to make API calls to any AWS service with the following
|
1255
1244
|
# exceptions:
|
1256
1245
|
#
|
1257
|
-
# * You cannot use these credentials to call any IAM
|
1246
|
+
# * You cannot use these credentials to call any IAM API operations.
|
1258
1247
|
#
|
1259
|
-
# * You cannot call any STS
|
1248
|
+
# * You cannot call any STS API operations except `GetCallerIdentity`.
|
1260
1249
|
#
|
1261
1250
|
# **Permissions**
|
1262
1251
|
#
|
1263
|
-
#
|
1264
|
-
#
|
1265
|
-
#
|
1266
|
-
#
|
1267
|
-
#
|
1268
|
-
#
|
1269
|
-
#
|
1270
|
-
#
|
1271
|
-
#
|
1272
|
-
#
|
1273
|
-
# *federated user*. When the federated user makes an AWS request, AWS
|
1274
|
-
# evaluates the policy attached to the federated user in combination
|
1275
|
-
# with the policy or policies attached to the IAM user whose credentials
|
1276
|
-
# were used to call `GetFederationToken`. AWS allows the federated
|
1277
|
-
# user's request only when both the federated user <i> <b>and</b> </i>
|
1278
|
-
# the IAM user are explicitly allowed to perform the requested action.
|
1279
|
-
# The passed policy cannot grant more permissions than those that are
|
1280
|
-
# defined in the IAM user policy.
|
1281
|
-
#
|
1282
|
-
# A typical use case is that the permissions of the IAM user whose
|
1283
|
-
# credentials are used to call `GetFederationToken` are designed to
|
1284
|
-
# allow access to all the actions and resources that any federated user
|
1285
|
-
# will need. Then, for individual users, you pass a policy to the
|
1286
|
-
# operation that scopes down the permissions to a level that's
|
1287
|
-
# appropriate to that individual user, using a policy that allows only a
|
1288
|
-
# subset of permissions that are granted to the IAM user.
|
1289
|
-
#
|
1290
|
-
# If you do not pass a policy, the resulting temporary security
|
1291
|
-
# credentials have no effective permissions. The only exception is when
|
1292
|
-
# the temporary security credentials are used to access a resource that
|
1293
|
-
# has a resource-based policy that specifically allows the federated
|
1294
|
-
# user to access the resource.
|
1295
|
-
#
|
1296
|
-
# For more information about how permissions work, see [Permissions for
|
1297
|
-
# GetFederationToken][6]. For information about using
|
1252
|
+
# You must pass an IAM permissions policy to `GetFederationToken`. When
|
1253
|
+
# you pass a policy to this operation, the resulting temporary
|
1254
|
+
# credentials are defined by the intersection of your IAM user policies
|
1255
|
+
# and the passed policy . The passed policy defines the permissions of
|
1256
|
+
# the *federated user*. AWS allows the federated user's request only
|
1257
|
+
# when both the attached policy and the IAM user policy explicitly allow
|
1258
|
+
# the federated user to perform the requested action. The passed policy
|
1259
|
+
# cannot grant more permissions than those that are defined in the IAM
|
1260
|
+
# user policy. For more information about how permissions work, see
|
1261
|
+
# [Permissions for GetFederationToken][6]. For information about using
|
1298
1262
|
# `GetFederationToken` to create temporary security credentials, see
|
1299
1263
|
# [GetFederationToken—Federation Through a Custom Identity Broker][7].
|
1300
1264
|
#
|
1301
1265
|
#
|
1302
1266
|
#
|
1303
|
-
# [1]:
|
1304
|
-
# [2]:
|
1267
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
|
1268
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
|
1305
1269
|
# [3]: http://aws.amazon.com/cognito/
|
1306
|
-
# [4]:
|
1307
|
-
# [5]:
|
1308
|
-
# [6]:
|
1309
|
-
# [7]:
|
1270
|
+
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity
|
1271
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
|
1272
|
+
# [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html
|
1273
|
+
# [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken
|
1310
1274
|
#
|
1311
1275
|
# @option params [required, String] :name
|
1312
1276
|
# The name of the federated user. The name is used as an identifier for
|
@@ -1320,22 +1284,15 @@ module Aws::STS
|
|
1320
1284
|
# characters: =,.@-
|
1321
1285
|
#
|
1322
1286
|
# @option params [String] :policy
|
1323
|
-
# An IAM policy in JSON format
|
1324
|
-
# `GetFederationToken
|
1325
|
-
#
|
1326
|
-
#
|
1327
|
-
# the permissions
|
1328
|
-
#
|
1329
|
-
#
|
1330
|
-
#
|
1331
|
-
#
|
1332
|
-
# IAM user policy.
|
1333
|
-
#
|
1334
|
-
# If you do not pass a policy, the resulting temporary security
|
1335
|
-
# credentials have no effective permissions. The only exception is when
|
1336
|
-
# the temporary security credentials are used to access a resource that
|
1337
|
-
# has a resource-based policy that specifically allows the federated
|
1338
|
-
# user to access the resource.
|
1287
|
+
# An IAM policy in JSON format. You must pass an IAM permissions policy
|
1288
|
+
# to `GetFederationToken`. When you pass a policy to this operation, the
|
1289
|
+
# resulting temporary credentials are defined by the intersection of
|
1290
|
+
# your IAM user policies and the policy that you pass. The passed policy
|
1291
|
+
# defines the permissions of the *federated user*. AWS allows the
|
1292
|
+
# federated user's request only when both the attached policy and the
|
1293
|
+
# IAM user policy explicitly allow the federated user to perform the
|
1294
|
+
# requested action. The passed policy cannot grant more permissions than
|
1295
|
+
# those that are defined in the IAM user policy.
|
1339
1296
|
#
|
1340
1297
|
# The format for this parameter, as described by its regex pattern, is a
|
1341
1298
|
# string of characters up to 2048 characters in length. The characters
|
@@ -1344,11 +1301,11 @@ module Aws::STS
|
|
1344
1301
|
# (\\u0009), linefeed (\\u000A), and carriage return (\\u000D)
|
1345
1302
|
# characters.
|
1346
1303
|
#
|
1347
|
-
# <note markdown="1"> The policy
|
1304
|
+
# <note markdown="1"> The policy plaintext must be 2048 bytes or shorter. However, an
|
1348
1305
|
# internal conversion compresses it into a packed binary format with a
|
1349
|
-
# separate limit. The PackedPolicySize response element indicates by
|
1350
|
-
# percentage how close to the upper size limit the policy is,
|
1351
|
-
#
|
1306
|
+
# separate limit. The `PackedPolicySize` response element indicates by
|
1307
|
+
# percentage how close to the upper size limit the policy is, where 100
|
1308
|
+
# percent is the maximum allowed size.
|
1352
1309
|
#
|
1353
1310
|
# </note>
|
1354
1311
|
#
|
@@ -1357,16 +1314,16 @@ module Aws::STS
|
|
1357
1314
|
#
|
1358
1315
|
#
|
1359
1316
|
#
|
1360
|
-
# [1]:
|
1317
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html
|
1361
1318
|
#
|
1362
1319
|
# @option params [Integer] :duration_seconds
|
1363
1320
|
# The duration, in seconds, that the session should last. Acceptable
|
1364
1321
|
# durations for federation sessions range from 900 seconds (15 minutes)
|
1365
|
-
# to
|
1366
|
-
# default. Sessions obtained using AWS account
|
1367
|
-
# restricted to a maximum of
|
1368
|
-
# duration is longer than one hour, the session obtained by using
|
1369
|
-
#
|
1322
|
+
# to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the
|
1323
|
+
# default. Sessions obtained using AWS account root user credentials are
|
1324
|
+
# restricted to a maximum of 3,600 seconds (one hour). If the specified
|
1325
|
+
# duration is longer than one hour, the session obtained by using root
|
1326
|
+
# user credentials defaults to one hour.
|
1370
1327
|
#
|
1371
1328
|
# @return [Types::GetFederationTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1372
1329
|
#
|
@@ -1428,50 +1385,52 @@ module Aws::STS
|
|
1428
1385
|
# Returns a set of temporary credentials for an AWS account or IAM user.
|
1429
1386
|
# The credentials consist of an access key ID, a secret access key, and
|
1430
1387
|
# a security token. Typically, you use `GetSessionToken` if you want to
|
1431
|
-
# use MFA to protect programmatic calls to specific AWS
|
1432
|
-
# EC2 `StopInstances`. MFA-enabled IAM users would need to
|
1433
|
-
# `GetSessionToken` and submit an MFA code that is associated with
|
1434
|
-
# MFA device. Using the temporary security credentials that are
|
1435
|
-
# from the call, IAM users can then make programmatic calls to
|
1436
|
-
# require MFA authentication. If you do not supply a
|
1437
|
-
# then the API returns an access denied error. For a
|
1438
|
-
# `GetSessionToken` with the other
|
1439
|
-
# credentials, see [Requesting Temporary Security
|
1440
|
-
# [Comparing the AWS STS
|
1441
|
-
#
|
1442
|
-
#
|
1443
|
-
#
|
1444
|
-
#
|
1445
|
-
#
|
1446
|
-
#
|
1447
|
-
#
|
1448
|
-
#
|
1449
|
-
#
|
1388
|
+
# use MFA to protect programmatic calls to specific AWS API operations
|
1389
|
+
# like Amazon EC2 `StopInstances`. MFA-enabled IAM users would need to
|
1390
|
+
# call `GetSessionToken` and submit an MFA code that is associated with
|
1391
|
+
# their MFA device. Using the temporary security credentials that are
|
1392
|
+
# returned from the call, IAM users can then make programmatic calls to
|
1393
|
+
# API operations that require MFA authentication. If you do not supply a
|
1394
|
+
# correct MFA code, then the API returns an access denied error. For a
|
1395
|
+
# comparison of `GetSessionToken` with the other API operations that
|
1396
|
+
# produce temporary credentials, see [Requesting Temporary Security
|
1397
|
+
# Credentials][1] and [Comparing the AWS STS API operations][2] in the
|
1398
|
+
# *IAM User Guide*.
|
1399
|
+
#
|
1400
|
+
# The `GetSessionToken` operation must be called by using the long-term
|
1401
|
+
# AWS security credentials of the AWS account or an IAM user.
|
1402
|
+
# Credentials that are created by IAM users are valid for the duration
|
1403
|
+
# that you specify. This duration can range from 900 seconds (15
|
1404
|
+
# minutes) up to a maximum of 129,600 seconds (36 hours), with a default
|
1405
|
+
# of 43,200 seconds (12 hours). Credentials that are created by using
|
1406
|
+
# account credentials can range from 900 seconds (15 minutes) up to a
|
1407
|
+
# maximum of 3,600 seconds (1 hour), with a default of 1 hour.
|
1450
1408
|
#
|
1451
1409
|
# The temporary security credentials created by `GetSessionToken` can be
|
1452
1410
|
# used to make API calls to any AWS service with the following
|
1453
1411
|
# exceptions:
|
1454
1412
|
#
|
1455
|
-
# * You cannot call any IAM
|
1456
|
-
# is included in the request.
|
1413
|
+
# * You cannot call any IAM API operations unless MFA authentication
|
1414
|
+
# information is included in the request.
|
1457
1415
|
#
|
1458
1416
|
# * You cannot call any STS API *except* `AssumeRole` or
|
1459
1417
|
# `GetCallerIdentity`.
|
1460
1418
|
#
|
1461
|
-
# <note markdown="1"> We recommend that you do not call `GetSessionToken` with
|
1462
|
-
# credentials. Instead, follow our [best practices][3] by
|
1463
|
-
# or more IAM users, giving them the necessary permissions,
|
1464
|
-
# IAM users for everyday interaction with AWS.
|
1419
|
+
# <note markdown="1"> We recommend that you do not call `GetSessionToken` with AWS account
|
1420
|
+
# root user credentials. Instead, follow our [best practices][3] by
|
1421
|
+
# creating one or more IAM users, giving them the necessary permissions,
|
1422
|
+
# and using IAM users for everyday interaction with AWS.
|
1465
1423
|
#
|
1466
1424
|
# </note>
|
1467
1425
|
#
|
1468
1426
|
# The permissions associated with the temporary security credentials
|
1469
1427
|
# returned by `GetSessionToken` are based on the permissions associated
|
1470
1428
|
# with account or IAM user whose credentials are used to call the
|
1471
|
-
#
|
1472
|
-
# the temporary credentials have root
|
1473
|
-
# `GetSessionToken` is called using the credentials of an
|
1474
|
-
# temporary credentials have the same permissions as the
|
1429
|
+
# operation. If `GetSessionToken` is called using AWS account root user
|
1430
|
+
# credentials, the temporary credentials have root user permissions.
|
1431
|
+
# Similarly, if `GetSessionToken` is called using the credentials of an
|
1432
|
+
# IAM user, the temporary credentials have the same permissions as the
|
1433
|
+
# IAM user.
|
1475
1434
|
#
|
1476
1435
|
# For more information about using `GetSessionToken` to create temporary
|
1477
1436
|
# credentials, go to [Temporary Credentials for Users in Untrusted
|
@@ -1479,18 +1438,18 @@ module Aws::STS
|
|
1479
1438
|
#
|
1480
1439
|
#
|
1481
1440
|
#
|
1482
|
-
# [1]:
|
1483
|
-
# [2]:
|
1484
|
-
# [3]:
|
1485
|
-
# [4]:
|
1441
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html
|
1442
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison
|
1443
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users
|
1444
|
+
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken
|
1486
1445
|
#
|
1487
1446
|
# @option params [Integer] :duration_seconds
|
1488
1447
|
# The duration, in seconds, that the credentials should remain valid.
|
1489
1448
|
# Acceptable durations for IAM user sessions range from 900 seconds (15
|
1490
|
-
# minutes) to
|
1449
|
+
# minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours)
|
1491
1450
|
# as the default. Sessions for AWS account owners are restricted to a
|
1492
|
-
# maximum of
|
1493
|
-
# hour, the session for AWS account owners defaults to one hour.
|
1451
|
+
# maximum of 3,600 seconds (one hour). If the duration is longer than
|
1452
|
+
# one hour, the session for AWS account owners defaults to one hour.
|
1494
1453
|
#
|
1495
1454
|
# @option params [String] :serial_number
|
1496
1455
|
# The identification number of the MFA device that is associated with
|
@@ -1502,7 +1461,7 @@ module Aws::STS
|
|
1502
1461
|
# device for an IAM user by going to the AWS Management Console and
|
1503
1462
|
# viewing the user's security credentials.
|
1504
1463
|
#
|
1505
|
-
# The regex used to
|
1464
|
+
# The regex used to validate this parameter is a string of characters
|
1506
1465
|
# consisting of upper- and lower-case alphanumeric characters with no
|
1507
1466
|
# spaces. You can also include underscores or any of the following
|
1508
1467
|
# characters: =,.@:/-
|
@@ -1510,9 +1469,9 @@ module Aws::STS
|
|
1510
1469
|
# @option params [String] :token_code
|
1511
1470
|
# The value provided by the MFA device, if MFA is required. If any
|
1512
1471
|
# policy requires the IAM user to submit an MFA code, specify this
|
1513
|
-
# value. If MFA authentication is required,
|
1514
|
-
#
|
1515
|
-
#
|
1472
|
+
# value. If MFA authentication is required, the user must provide a code
|
1473
|
+
# when requesting a set of temporary security credentials. A user who
|
1474
|
+
# fails to provide the code receives an "access denied" response when
|
1516
1475
|
# requesting resources that require MFA authentication.
|
1517
1476
|
#
|
1518
1477
|
# The format for this parameter, as described by its regex pattern, is a
|
@@ -1578,7 +1537,7 @@ module Aws::STS
|
|
1578
1537
|
params: params,
|
1579
1538
|
config: config)
|
1580
1539
|
context[:gem_name] = 'aws-sdk-core'
|
1581
|
-
context[:gem_version] = '3.
|
1540
|
+
context[:gem_version] = '3.50.0'
|
1582
1541
|
Seahorse::Client::Request.new(handlers, context)
|
1583
1542
|
end
|
1584
1543
|
|