aws-sdk-core 3.46.2 → 3.126.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +1258 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -1
- data/lib/aws-defaults/default_configuration.rb +153 -0
- data/lib/aws-defaults/defaults_mode_config_resolver.rb +107 -0
- data/lib/aws-defaults.rb +3 -0
- data/lib/aws-sdk-core/arn.rb +92 -0
- data/lib/aws-sdk-core/arn_parser.rb +40 -0
- data/lib/aws-sdk-core/assume_role_credentials.rb +20 -0
- data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +109 -0
- data/lib/aws-sdk-core/async_client_stubs.rb +82 -0
- data/lib/aws-sdk-core/binary/decode_handler.rb +11 -1
- data/lib/aws-sdk-core/binary/encode_handler.rb +34 -0
- data/lib/aws-sdk-core/binary/event_builder.rb +124 -0
- data/lib/aws-sdk-core/binary/event_parser.rb +50 -18
- data/lib/aws-sdk-core/binary/event_stream_decoder.rb +7 -2
- data/lib/aws-sdk-core/binary/event_stream_encoder.rb +55 -0
- data/lib/aws-sdk-core/binary.rb +5 -0
- data/lib/aws-sdk-core/client_side_monitoring/publisher.rb +11 -1
- data/lib/aws-sdk-core/client_side_monitoring/request_metrics.rb +2 -0
- data/lib/aws-sdk-core/client_stubs.rb +16 -13
- data/lib/aws-sdk-core/credential_provider.rb +1 -30
- data/lib/aws-sdk-core/credential_provider_chain.rb +102 -40
- data/lib/aws-sdk-core/credentials.rb +2 -0
- data/lib/aws-sdk-core/deprecations.rb +17 -11
- data/lib/aws-sdk-core/eager_loader.rb +2 -0
- data/lib/aws-sdk-core/ec2_metadata.rb +238 -0
- data/lib/aws-sdk-core/ecs_credentials.rb +18 -9
- data/lib/aws-sdk-core/endpoint_cache.rb +16 -11
- data/lib/aws-sdk-core/errors.rb +138 -15
- data/lib/aws-sdk-core/event_emitter.rb +44 -0
- data/lib/aws-sdk-core/ini_parser.rb +2 -0
- data/lib/aws-sdk-core/instance_profile_credentials.rb +179 -42
- data/lib/aws-sdk-core/json/builder.rb +2 -0
- data/lib/aws-sdk-core/json/error_handler.rb +21 -2
- data/lib/aws-sdk-core/json/handler.rb +21 -1
- data/lib/aws-sdk-core/json/json_engine.rb +12 -8
- data/lib/aws-sdk-core/json/oj_engine.rb +35 -6
- data/lib/aws-sdk-core/json/parser.rb +10 -0
- data/lib/aws-sdk-core/json.rb +11 -28
- data/lib/aws-sdk-core/log/formatter.rb +16 -4
- data/lib/aws-sdk-core/log/handler.rb +2 -0
- data/lib/aws-sdk-core/log/param_filter.rb +38 -13
- data/lib/aws-sdk-core/log/param_formatter.rb +2 -0
- data/lib/aws-sdk-core/pageable_response.rb +48 -24
- data/lib/aws-sdk-core/pager.rb +5 -0
- data/lib/aws-sdk-core/param_converter.rb +2 -0
- data/lib/aws-sdk-core/param_validator.rb +63 -7
- data/lib/aws-sdk-core/plugins/api_key.rb +5 -1
- data/lib/aws-sdk-core/plugins/apig_authorizer_token.rb +2 -0
- data/lib/aws-sdk-core/plugins/apig_credentials_configuration.rb +2 -0
- data/lib/aws-sdk-core/plugins/apig_user_agent.rb +2 -0
- data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +28 -1
- data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +2 -0
- data/lib/aws-sdk-core/plugins/credentials_configuration.rb +26 -7
- data/lib/aws-sdk-core/plugins/defaults_mode.rb +40 -0
- data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +12 -4
- data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +8 -6
- data/lib/aws-sdk-core/plugins/event_stream_configuration.rb +16 -0
- data/lib/aws-sdk-core/plugins/global_configuration.rb +2 -0
- data/lib/aws-sdk-core/plugins/helpful_socket_errors.rb +2 -0
- data/lib/aws-sdk-core/plugins/http_checksum.rb +57 -0
- data/lib/aws-sdk-core/plugins/idempotency_token.rb +2 -0
- data/lib/aws-sdk-core/plugins/invocation_id.rb +35 -0
- data/lib/aws-sdk-core/plugins/jsonvalue_converter.rb +2 -0
- data/lib/aws-sdk-core/plugins/logging.rb +2 -0
- data/lib/aws-sdk-core/plugins/param_converter.rb +2 -0
- data/lib/aws-sdk-core/plugins/param_validator.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +19 -0
- data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/query.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +18 -1
- data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +2 -0
- data/lib/aws-sdk-core/plugins/recursion_detection.rb +27 -0
- data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -16
- data/lib/aws-sdk-core/plugins/response_paging.rb +2 -0
- data/lib/aws-sdk-core/plugins/retries/client_rate_limiter.rb +139 -0
- data/lib/aws-sdk-core/plugins/retries/clock_skew.rb +100 -0
- data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +146 -0
- data/lib/aws-sdk-core/plugins/retries/retry_quota.rb +59 -0
- data/lib/aws-sdk-core/plugins/retry_errors.rb +295 -107
- data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -0
- data/lib/aws-sdk-core/plugins/signature_v4.rb +28 -25
- data/lib/aws-sdk-core/plugins/stub_responses.rb +24 -7
- data/lib/aws-sdk-core/plugins/transfer_encoding.rb +53 -0
- data/lib/aws-sdk-core/plugins/user_agent.rb +6 -8
- data/lib/aws-sdk-core/process_credentials.rb +12 -5
- data/lib/aws-sdk-core/query/ec2_param_builder.rb +2 -0
- data/lib/aws-sdk-core/query/handler.rb +2 -0
- data/lib/aws-sdk-core/query/param.rb +2 -0
- data/lib/aws-sdk-core/query/param_builder.rb +2 -0
- data/lib/aws-sdk-core/query/param_list.rb +2 -0
- data/lib/aws-sdk-core/query.rb +2 -0
- data/lib/aws-sdk-core/refreshing_credentials.rb +15 -2
- data/lib/aws-sdk-core/resources/collection.rb +2 -0
- data/lib/aws-sdk-core/rest/handler.rb +2 -0
- data/lib/aws-sdk-core/rest/request/body.rb +21 -1
- data/lib/aws-sdk-core/rest/request/builder.rb +2 -0
- data/lib/aws-sdk-core/rest/request/endpoint.rb +10 -3
- data/lib/aws-sdk-core/rest/request/headers.rb +20 -6
- data/lib/aws-sdk-core/rest/request/querystring_builder.rb +4 -2
- data/lib/aws-sdk-core/rest/response/body.rb +2 -0
- data/lib/aws-sdk-core/rest/response/headers.rb +6 -3
- data/lib/aws-sdk-core/rest/response/parser.rb +2 -0
- data/lib/aws-sdk-core/rest/response/status_code.rb +2 -0
- data/lib/aws-sdk-core/rest.rb +2 -0
- data/lib/aws-sdk-core/shared_config.rb +153 -127
- data/lib/aws-sdk-core/shared_credentials.rb +9 -1
- data/lib/aws-sdk-core/sso_credentials.rb +136 -0
- data/lib/aws-sdk-core/structure.rb +14 -4
- data/lib/aws-sdk-core/stubbing/data_applicator.rb +2 -0
- data/lib/aws-sdk-core/stubbing/empty_stub.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/api_gateway.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +2 -0
- data/lib/aws-sdk-core/stubbing/protocols/json.rb +3 -1
- data/lib/aws-sdk-core/stubbing/protocols/query.rb +4 -2
- data/lib/aws-sdk-core/stubbing/protocols/rest.rb +52 -7
- data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +3 -1
- data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +2 -2
- data/lib/aws-sdk-core/stubbing/stub_data.rb +15 -4
- data/lib/aws-sdk-core/stubbing/xml_error.rb +2 -0
- data/lib/aws-sdk-core/type_builder.rb +2 -0
- data/lib/aws-sdk-core/util.rb +6 -0
- data/lib/aws-sdk-core/waiters/errors.rb +2 -0
- data/lib/aws-sdk-core/waiters/poller.rb +2 -0
- data/lib/aws-sdk-core/waiters/waiter.rb +4 -2
- data/lib/aws-sdk-core/waiters.rb +2 -0
- data/lib/aws-sdk-core/xml/builder.rb +5 -3
- data/lib/aws-sdk-core/xml/default_list.rb +2 -0
- data/lib/aws-sdk-core/xml/default_map.rb +2 -0
- data/lib/aws-sdk-core/xml/doc_builder.rb +15 -4
- data/lib/aws-sdk-core/xml/error_handler.rb +29 -4
- data/lib/aws-sdk-core/xml/parser/engines/libxml.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/engines/oga.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/engines/ox.rb +3 -1
- data/lib/aws-sdk-core/xml/parser/engines/rexml.rb +4 -1
- data/lib/aws-sdk-core/xml/parser/frame.rb +25 -0
- data/lib/aws-sdk-core/xml/parser/parsing_error.rb +2 -0
- data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
- data/lib/aws-sdk-core/xml/parser.rb +7 -0
- data/lib/aws-sdk-core/xml.rb +2 -0
- data/lib/aws-sdk-core.rb +23 -4
- data/lib/aws-sdk-sso/client.rb +568 -0
- data/lib/aws-sdk-sso/client_api.rb +190 -0
- data/lib/aws-sdk-sso/customizations.rb +1 -0
- data/lib/aws-sdk-sso/errors.rb +102 -0
- data/lib/aws-sdk-sso/resource.rb +26 -0
- data/lib/aws-sdk-sso/types.rb +352 -0
- data/lib/aws-sdk-sso.rb +55 -0
- data/lib/aws-sdk-sts/client.rb +1282 -531
- data/lib/aws-sdk-sts/client_api.rb +76 -1
- data/lib/aws-sdk-sts/customizations.rb +4 -0
- data/lib/aws-sdk-sts/errors.rb +153 -1
- data/lib/aws-sdk-sts/plugins/sts_regional_endpoints.rb +38 -0
- data/lib/aws-sdk-sts/presigner.rb +75 -0
- data/lib/aws-sdk-sts/resource.rb +4 -1
- data/lib/aws-sdk-sts/types.rb +958 -229
- data/lib/aws-sdk-sts.rb +16 -6
- data/lib/seahorse/client/async_base.rb +52 -0
- data/lib/seahorse/client/async_response.rb +64 -0
- data/lib/seahorse/client/base.rb +7 -2
- data/lib/seahorse/client/block_io.rb +6 -2
- data/lib/seahorse/client/configuration.rb +7 -1
- data/lib/seahorse/client/events.rb +3 -1
- data/lib/seahorse/client/h2/connection.rb +250 -0
- data/lib/seahorse/client/h2/handler.rb +152 -0
- data/lib/seahorse/client/handler.rb +2 -0
- data/lib/seahorse/client/handler_builder.rb +2 -0
- data/lib/seahorse/client/handler_list.rb +2 -0
- data/lib/seahorse/client/handler_list_entry.rb +6 -4
- data/lib/seahorse/client/http/async_response.rb +44 -0
- data/lib/seahorse/client/http/headers.rb +2 -0
- data/lib/seahorse/client/http/request.rb +5 -3
- data/lib/seahorse/client/http/response.rb +18 -11
- data/lib/seahorse/client/logging/formatter.rb +6 -2
- data/lib/seahorse/client/logging/handler.rb +2 -0
- data/lib/seahorse/client/managed_file.rb +2 -0
- data/lib/seahorse/client/net_http/connection_pool.rb +30 -23
- data/lib/seahorse/client/net_http/handler.rb +24 -7
- data/lib/seahorse/client/net_http/patches.rb +15 -84
- data/lib/seahorse/client/networking_error.rb +30 -0
- data/lib/seahorse/client/plugin.rb +10 -7
- data/lib/seahorse/client/plugin_list.rb +2 -0
- data/lib/seahorse/client/plugins/content_length.rb +14 -3
- data/lib/seahorse/client/plugins/endpoint.rb +4 -2
- data/lib/seahorse/client/plugins/h2.rb +69 -0
- data/lib/seahorse/client/plugins/logging.rb +2 -0
- data/lib/seahorse/client/plugins/net_http.rb +39 -3
- data/lib/seahorse/client/plugins/operation_methods.rb +2 -0
- data/lib/seahorse/client/plugins/raise_response_errors.rb +2 -0
- data/lib/seahorse/client/plugins/request_callback.rb +110 -0
- data/lib/seahorse/client/plugins/response_target.rb +23 -14
- data/lib/seahorse/client/request.rb +2 -0
- data/lib/seahorse/client/request_context.rb +2 -0
- data/lib/seahorse/client/response.rb +5 -5
- data/lib/seahorse/model/api.rb +10 -0
- data/lib/seahorse/model/authorizer.rb +2 -0
- data/lib/seahorse/model/operation.rb +9 -0
- data/lib/seahorse/model/shapes.rb +29 -2
- data/lib/seahorse/util.rb +8 -1
- data/lib/seahorse/version.rb +2 -0
- data/lib/seahorse.rb +12 -0
- metadata +64 -14
data/lib/aws-sdk-sts/types.rb
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
# WARNING ABOUT GENERATED CODE
|
|
2
4
|
#
|
|
3
5
|
# This file is generated. See the contributing guide for more information:
|
|
4
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
|
5
7
|
#
|
|
6
8
|
# WARNING ABOUT GENERATED CODE
|
|
7
9
|
|
|
@@ -14,11 +16,24 @@ module Aws::STS
|
|
|
14
16
|
# {
|
|
15
17
|
# role_arn: "arnType", # required
|
|
16
18
|
# role_session_name: "roleSessionNameType", # required
|
|
19
|
+
# policy_arns: [
|
|
20
|
+
# {
|
|
21
|
+
# arn: "arnType",
|
|
22
|
+
# },
|
|
23
|
+
# ],
|
|
17
24
|
# policy: "sessionPolicyDocumentType",
|
|
18
25
|
# duration_seconds: 1,
|
|
26
|
+
# tags: [
|
|
27
|
+
# {
|
|
28
|
+
# key: "tagKeyType", # required
|
|
29
|
+
# value: "tagValueType", # required
|
|
30
|
+
# },
|
|
31
|
+
# ],
|
|
32
|
+
# transitive_tag_keys: ["tagKeyType"],
|
|
19
33
|
# external_id: "externalIdType",
|
|
20
34
|
# serial_number: "serialNumberType",
|
|
21
35
|
# token_code: "tokenCodeType",
|
|
36
|
+
# source_identity: "sourceIdentityType",
|
|
22
37
|
# }
|
|
23
38
|
#
|
|
24
39
|
# @!attribute [rw] role_arn
|
|
@@ -34,7 +49,7 @@ module Aws::STS
|
|
|
34
49
|
# visible to, and can be logged by the account that owns the role. The
|
|
35
50
|
# role session name is also used in the ARN of the assumed role
|
|
36
51
|
# principal. This means that subsequent cross-account API requests
|
|
37
|
-
#
|
|
52
|
+
# that use the temporary security credentials will expose the role
|
|
38
53
|
# session name to the external account in their CloudTrail logs.
|
|
39
54
|
#
|
|
40
55
|
# The regex used to validate this parameter is a string of characters
|
|
@@ -43,90 +58,204 @@ module Aws::STS
|
|
|
43
58
|
# characters: =,.@-
|
|
44
59
|
# @return [String]
|
|
45
60
|
#
|
|
46
|
-
# @!attribute [rw]
|
|
47
|
-
#
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
#
|
|
61
|
+
# @!attribute [rw] policy_arns
|
|
62
|
+
# The Amazon Resource Names (ARNs) of the IAM managed policies that
|
|
63
|
+
# you want to use as managed session policies. The policies must exist
|
|
64
|
+
# in the same account as the role.
|
|
65
|
+
#
|
|
66
|
+
# This parameter is optional. You can provide up to 10 managed policy
|
|
67
|
+
# ARNs. However, the plaintext that you use for both inline and
|
|
68
|
+
# managed session policies can't exceed 2,048 characters. For more
|
|
69
|
+
# information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
|
|
70
|
+
# Web Services Service Namespaces][1] in the Amazon Web Services
|
|
71
|
+
# General Reference.
|
|
72
|
+
#
|
|
73
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
74
|
+
# policies and session tags into a packed binary format that has a
|
|
75
|
+
# separate limit. Your request can fail for this limit even if your
|
|
76
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
77
|
+
# response element indicates by percentage how close the policies and
|
|
78
|
+
# tags for your request are to the upper size limit.
|
|
60
79
|
#
|
|
61
|
-
#
|
|
62
|
-
#
|
|
63
|
-
#
|
|
64
|
-
#
|
|
80
|
+
# </note>
|
|
81
|
+
#
|
|
82
|
+
# Passing policies to this operation returns new temporary
|
|
83
|
+
# credentials. The resulting session's permissions are the
|
|
84
|
+
# intersection of the role's identity-based policy and the session
|
|
85
|
+
# policies. You can use the role's temporary credentials in
|
|
86
|
+
# subsequent Amazon Web Services API calls to access resources in the
|
|
87
|
+
# account that owns the role. You cannot use session policies to grant
|
|
88
|
+
# more permissions than those allowed by the identity-based policy of
|
|
89
|
+
# the role that is being assumed. For more information, see [Session
|
|
90
|
+
# Policies][2] in the *IAM User Guide*.
|
|
91
|
+
#
|
|
92
|
+
#
|
|
93
|
+
#
|
|
94
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
95
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
|
96
|
+
# @return [Array<Types::PolicyDescriptorType>]
|
|
97
|
+
#
|
|
98
|
+
# @!attribute [rw] policy
|
|
99
|
+
# An IAM policy in JSON format that you want to use as an inline
|
|
100
|
+
# session policy.
|
|
101
|
+
#
|
|
102
|
+
# This parameter is optional. Passing policies to this operation
|
|
103
|
+
# returns new temporary credentials. The resulting session's
|
|
104
|
+
# permissions are the intersection of the role's identity-based
|
|
105
|
+
# policy and the session policies. You can use the role's temporary
|
|
106
|
+
# credentials in subsequent Amazon Web Services API calls to access
|
|
107
|
+
# resources in the account that owns the role. You cannot use session
|
|
108
|
+
# policies to grant more permissions than those allowed by the
|
|
109
|
+
# identity-based policy of the role that is being assumed. For more
|
|
110
|
+
# information, see [Session Policies][1] in the *IAM User Guide*.
|
|
111
|
+
#
|
|
112
|
+
# The plaintext that you use for both inline and managed session
|
|
113
|
+
# policies can't exceed 2,048 characters. The JSON policy characters
|
|
114
|
+
# can be any ASCII character from the space character to the end of
|
|
115
|
+
# the valid character list (\\u0020 through \\u00FF). It can also
|
|
65
116
|
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
|
66
117
|
# (\\u000D) characters.
|
|
67
118
|
#
|
|
68
|
-
# <note markdown="1">
|
|
69
|
-
#
|
|
70
|
-
# separate limit.
|
|
71
|
-
#
|
|
72
|
-
#
|
|
119
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
120
|
+
# policies and session tags into a packed binary format that has a
|
|
121
|
+
# separate limit. Your request can fail for this limit even if your
|
|
122
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
123
|
+
# response element indicates by percentage how close the policies and
|
|
124
|
+
# tags for your request are to the upper size limit.
|
|
73
125
|
#
|
|
74
126
|
# </note>
|
|
75
127
|
#
|
|
76
128
|
#
|
|
77
129
|
#
|
|
78
|
-
# [1]:
|
|
130
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
|
79
131
|
# @return [String]
|
|
80
132
|
#
|
|
81
133
|
# @!attribute [rw] duration_seconds
|
|
82
|
-
# The duration, in seconds, of the role session. The value
|
|
83
|
-
# from 900 seconds (15 minutes) up to the maximum session
|
|
84
|
-
#
|
|
85
|
-
# 12 hours. If you specify a value higher
|
|
86
|
-
#
|
|
87
|
-
#
|
|
88
|
-
#
|
|
89
|
-
#
|
|
90
|
-
#
|
|
134
|
+
# The duration, in seconds, of the role session. The value specified
|
|
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*.
|
|
91
154
|
#
|
|
92
|
-
# By default, the value is set to 3600 seconds.
|
|
155
|
+
# By default, the value is set to `3600` seconds.
|
|
93
156
|
#
|
|
94
157
|
# <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
|
|
95
158
|
# console session that you might request using the returned
|
|
96
159
|
# credentials. The request to the federation endpoint for a console
|
|
97
160
|
# sign-in token takes a `SessionDuration` parameter that specifies the
|
|
98
161
|
# maximum length of the console session. For more information, see
|
|
99
|
-
# [Creating a URL that Enables Federated Users to Access the
|
|
100
|
-
# 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*.
|
|
101
164
|
#
|
|
102
165
|
# </note>
|
|
103
166
|
#
|
|
104
167
|
#
|
|
105
168
|
#
|
|
106
|
-
# [1]:
|
|
107
|
-
# [2]:
|
|
169
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
|
170
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
|
108
171
|
# @return [Integer]
|
|
109
172
|
#
|
|
173
|
+
# @!attribute [rw] tags
|
|
174
|
+
# A list of session tags that you want to pass. Each session tag
|
|
175
|
+
# consists of a key name and an associated value. For more information
|
|
176
|
+
# about session tags, see [Tagging Amazon Web Services STS
|
|
177
|
+
# Sessions][1] in the *IAM User Guide*.
|
|
178
|
+
#
|
|
179
|
+
# This parameter is optional. You can pass up to 50 session tags. The
|
|
180
|
+
# plaintext session tag keys can’t exceed 128 characters, and the
|
|
181
|
+
# values can’t exceed 256 characters. For these and additional limits,
|
|
182
|
+
# see [IAM and STS Character Limits][2] in the *IAM User Guide*.
|
|
183
|
+
#
|
|
184
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
185
|
+
# policies and session tags into a packed binary format that has a
|
|
186
|
+
# separate limit. Your request can fail for this limit even if your
|
|
187
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
188
|
+
# response element indicates by percentage how close the policies and
|
|
189
|
+
# tags for your request are to the upper size limit.
|
|
190
|
+
#
|
|
191
|
+
# </note>
|
|
192
|
+
#
|
|
193
|
+
# You can pass a session tag with the same key as a tag that is
|
|
194
|
+
# already attached to the role. When you do, session tags override a
|
|
195
|
+
# role tag with the same key.
|
|
196
|
+
#
|
|
197
|
+
# Tag key–value pairs are not case sensitive, but case is preserved.
|
|
198
|
+
# This means that you cannot have separate `Department` and
|
|
199
|
+
# `department` tag keys. Assume that the role has the
|
|
200
|
+
# `Department`=`Marketing` tag and you pass the
|
|
201
|
+
# `department`=`engineering` session tag. `Department` and
|
|
202
|
+
# `department` are not saved as separate tags, and the session tag
|
|
203
|
+
# passed in the request takes precedence over the role tag.
|
|
204
|
+
#
|
|
205
|
+
# Additionally, if you used temporary credentials to perform this
|
|
206
|
+
# operation, the new session inherits any transitive session tags from
|
|
207
|
+
# the calling session. If you pass a session tag with the same key as
|
|
208
|
+
# an inherited tag, the operation fails. To view the inherited tags
|
|
209
|
+
# for a session, see the CloudTrail logs. For more information, see
|
|
210
|
+
# [Viewing Session Tags in CloudTrail][3] in the *IAM User Guide*.
|
|
211
|
+
#
|
|
212
|
+
#
|
|
213
|
+
#
|
|
214
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
|
|
215
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
|
|
216
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/session-tags.html#id_session-tags_ctlogs
|
|
217
|
+
# @return [Array<Types::Tag>]
|
|
218
|
+
#
|
|
219
|
+
# @!attribute [rw] transitive_tag_keys
|
|
220
|
+
# A list of keys for session tags that you want to set as transitive.
|
|
221
|
+
# If you set a tag key as transitive, the corresponding key and value
|
|
222
|
+
# passes to subsequent sessions in a role chain. For more information,
|
|
223
|
+
# see [Chaining Roles with Session Tags][1] in the *IAM User Guide*.
|
|
224
|
+
#
|
|
225
|
+
# This parameter is optional. When you set session tags as transitive,
|
|
226
|
+
# the session policy and session tags packed binary limit is not
|
|
227
|
+
# affected.
|
|
228
|
+
#
|
|
229
|
+
# If you choose not to specify a transitive tag key, then no tags are
|
|
230
|
+
# passed from this session to any subsequent sessions.
|
|
231
|
+
#
|
|
232
|
+
#
|
|
233
|
+
#
|
|
234
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
|
|
235
|
+
# @return [Array<String>]
|
|
236
|
+
#
|
|
110
237
|
# @!attribute [rw] external_id
|
|
111
|
-
# A unique identifier that
|
|
112
|
-
#
|
|
113
|
-
#
|
|
114
|
-
#
|
|
115
|
-
#
|
|
116
|
-
#
|
|
117
|
-
#
|
|
118
|
-
#
|
|
119
|
-
#
|
|
120
|
-
#
|
|
121
|
-
#
|
|
122
|
-
#
|
|
238
|
+
# A unique identifier that might be required when you assume a role in
|
|
239
|
+
# another account. If the administrator of the account to which the
|
|
240
|
+
# role belongs provided you with an external ID, then provide that
|
|
241
|
+
# value in the `ExternalId` parameter. This value can be any string,
|
|
242
|
+
# such as a passphrase or account number. A cross-account role is
|
|
243
|
+
# usually set up to trust everyone in an account. Therefore, the
|
|
244
|
+
# administrator of the trusting account might send an external ID to
|
|
245
|
+
# the administrator of the trusted account. That way, only someone
|
|
246
|
+
# with the ID can assume the role, rather than everyone in the
|
|
247
|
+
# account. For more information about the external ID, see [How to Use
|
|
248
|
+
# an External ID When Granting Access to Your Amazon Web Services
|
|
249
|
+
# Resources to a Third Party][1] in the *IAM User Guide*.
|
|
250
|
+
#
|
|
251
|
+
# The regex used to validate this parameter is a string of characters
|
|
123
252
|
# consisting of upper- and lower-case alphanumeric characters with no
|
|
124
253
|
# spaces. You can also include underscores or any of the following
|
|
125
254
|
# characters: =,.@:/-
|
|
126
255
|
#
|
|
127
256
|
#
|
|
128
257
|
#
|
|
129
|
-
# [1]:
|
|
258
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
|
|
130
259
|
# @return [String]
|
|
131
260
|
#
|
|
132
261
|
# @!attribute [rw] serial_number
|
|
@@ -146,40 +275,72 @@ module Aws::STS
|
|
|
146
275
|
#
|
|
147
276
|
# @!attribute [rw] token_code
|
|
148
277
|
# The value provided by the MFA device, if the trust policy of the
|
|
149
|
-
# role being assumed requires MFA (
|
|
150
|
-
# condition that tests for MFA). If the role being assumed
|
|
151
|
-
# MFA and if the `TokenCode` value is missing or expired, the
|
|
278
|
+
# role being assumed requires MFA. (In other words, if the policy
|
|
279
|
+
# includes a condition that tests for MFA). If the role being assumed
|
|
280
|
+
# requires MFA and if the `TokenCode` value is missing or expired, the
|
|
152
281
|
# `AssumeRole` call returns an "access denied" error.
|
|
153
282
|
#
|
|
154
283
|
# The format for this parameter, as described by its regex pattern, is
|
|
155
284
|
# a sequence of six numeric digits.
|
|
156
285
|
# @return [String]
|
|
157
286
|
#
|
|
287
|
+
# @!attribute [rw] source_identity
|
|
288
|
+
# The source identity specified by the principal that is calling the
|
|
289
|
+
# `AssumeRole` operation.
|
|
290
|
+
#
|
|
291
|
+
# You can require users to specify a source identity when they assume
|
|
292
|
+
# a role. You do this by using the `sts:SourceIdentity` condition key
|
|
293
|
+
# in a role trust policy. You can use source identity information in
|
|
294
|
+
# CloudTrail logs to determine who took actions with a role. You can
|
|
295
|
+
# use the `aws:SourceIdentity` condition key to further control access
|
|
296
|
+
# to Amazon Web Services resources based on the value of source
|
|
297
|
+
# identity. For more information about using source identity, see
|
|
298
|
+
# [Monitor and control actions taken with assumed roles][1] in the
|
|
299
|
+
# *IAM User Guide*.
|
|
300
|
+
#
|
|
301
|
+
# The regex used to validate this parameter is a string of characters
|
|
302
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
|
303
|
+
# spaces. You can also include underscores or any of the following
|
|
304
|
+
# characters: =,.@-. You cannot use a value that begins with the text
|
|
305
|
+
# `aws:`. This prefix is reserved for Amazon Web Services internal
|
|
306
|
+
# use.
|
|
307
|
+
#
|
|
308
|
+
#
|
|
309
|
+
#
|
|
310
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
|
|
311
|
+
# @return [String]
|
|
312
|
+
#
|
|
158
313
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest AWS API Documentation
|
|
159
314
|
#
|
|
160
315
|
class AssumeRoleRequest < Struct.new(
|
|
161
316
|
:role_arn,
|
|
162
317
|
:role_session_name,
|
|
318
|
+
:policy_arns,
|
|
163
319
|
:policy,
|
|
164
320
|
:duration_seconds,
|
|
321
|
+
:tags,
|
|
322
|
+
:transitive_tag_keys,
|
|
165
323
|
:external_id,
|
|
166
324
|
:serial_number,
|
|
167
|
-
:token_code
|
|
325
|
+
:token_code,
|
|
326
|
+
:source_identity)
|
|
327
|
+
SENSITIVE = []
|
|
168
328
|
include Aws::Structure
|
|
169
329
|
end
|
|
170
330
|
|
|
171
331
|
# Contains the response to a successful AssumeRole request, including
|
|
172
|
-
# temporary
|
|
332
|
+
# temporary Amazon Web Services credentials that can be used to make
|
|
333
|
+
# Amazon Web Services requests.
|
|
173
334
|
#
|
|
174
335
|
# @!attribute [rw] credentials
|
|
175
336
|
# The temporary security credentials, which include an access key ID,
|
|
176
337
|
# a secret access key, and a security (or session) token.
|
|
177
338
|
#
|
|
178
|
-
#
|
|
339
|
+
# <note markdown="1"> The size of the security token that STS API operations return is not
|
|
179
340
|
# fixed. We strongly recommend that you make no assumptions about the
|
|
180
|
-
# maximum size.
|
|
181
|
-
#
|
|
182
|
-
#
|
|
341
|
+
# maximum size.
|
|
342
|
+
#
|
|
343
|
+
# </note>
|
|
183
344
|
# @return [Types::Credentials]
|
|
184
345
|
#
|
|
185
346
|
# @!attribute [rw] assumed_role_user
|
|
@@ -192,17 +353,44 @@ module Aws::STS
|
|
|
192
353
|
# @return [Types::AssumedRoleUser]
|
|
193
354
|
#
|
|
194
355
|
# @!attribute [rw] packed_policy_size
|
|
195
|
-
# A percentage value that indicates the size of the
|
|
196
|
-
#
|
|
197
|
-
#
|
|
356
|
+
# A percentage value that indicates the packed size of the session
|
|
357
|
+
# policies and session tags combined passed in the request. The
|
|
358
|
+
# request fails if the packed size is greater than 100 percent, which
|
|
359
|
+
# means the policies and tags exceeded the allowed space.
|
|
198
360
|
# @return [Integer]
|
|
199
361
|
#
|
|
362
|
+
# @!attribute [rw] source_identity
|
|
363
|
+
# The source identity specified by the principal that is calling the
|
|
364
|
+
# `AssumeRole` operation.
|
|
365
|
+
#
|
|
366
|
+
# You can require users to specify a source identity when they assume
|
|
367
|
+
# a role. You do this by using the `sts:SourceIdentity` condition key
|
|
368
|
+
# in a role trust policy. You can use source identity information in
|
|
369
|
+
# CloudTrail logs to determine who took actions with a role. You can
|
|
370
|
+
# use the `aws:SourceIdentity` condition key to further control access
|
|
371
|
+
# to Amazon Web Services resources based on the value of source
|
|
372
|
+
# identity. For more information about using source identity, see
|
|
373
|
+
# [Monitor and control actions taken with assumed roles][1] in the
|
|
374
|
+
# *IAM User Guide*.
|
|
375
|
+
#
|
|
376
|
+
# The regex used to validate this parameter is a string of characters
|
|
377
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
|
378
|
+
# spaces. You can also include underscores or any of the following
|
|
379
|
+
# characters: =,.@-
|
|
380
|
+
#
|
|
381
|
+
#
|
|
382
|
+
#
|
|
383
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
|
|
384
|
+
# @return [String]
|
|
385
|
+
#
|
|
200
386
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse AWS API Documentation
|
|
201
387
|
#
|
|
202
388
|
class AssumeRoleResponse < Struct.new(
|
|
203
389
|
:credentials,
|
|
204
390
|
:assumed_role_user,
|
|
205
|
-
:packed_policy_size
|
|
391
|
+
:packed_policy_size,
|
|
392
|
+
:source_identity)
|
|
393
|
+
SENSITIVE = []
|
|
206
394
|
include Aws::Structure
|
|
207
395
|
end
|
|
208
396
|
|
|
@@ -213,6 +401,11 @@ module Aws::STS
|
|
|
213
401
|
# role_arn: "arnType", # required
|
|
214
402
|
# principal_arn: "arnType", # required
|
|
215
403
|
# saml_assertion: "SAMLAssertionType", # required
|
|
404
|
+
# policy_arns: [
|
|
405
|
+
# {
|
|
406
|
+
# arn: "arnType",
|
|
407
|
+
# },
|
|
408
|
+
# ],
|
|
216
409
|
# policy: "sessionPolicyDocumentType",
|
|
217
410
|
# duration_seconds: 1,
|
|
218
411
|
# }
|
|
@@ -228,49 +421,86 @@ module Aws::STS
|
|
|
228
421
|
# @return [String]
|
|
229
422
|
#
|
|
230
423
|
# @!attribute [rw] saml_assertion
|
|
231
|
-
# The
|
|
232
|
-
# IdP.
|
|
424
|
+
# The base64 encoded SAML authentication response provided by the IdP.
|
|
233
425
|
#
|
|
234
426
|
# For more information, see [Configuring a Relying Party and Adding
|
|
235
|
-
# Claims][1] in the *
|
|
427
|
+
# Claims][1] in the *IAM User Guide*.
|
|
236
428
|
#
|
|
237
429
|
#
|
|
238
430
|
#
|
|
239
|
-
# [1]:
|
|
431
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
|
|
240
432
|
# @return [String]
|
|
241
433
|
#
|
|
242
|
-
# @!attribute [rw]
|
|
243
|
-
#
|
|
434
|
+
# @!attribute [rw] policy_arns
|
|
435
|
+
# The Amazon Resource Names (ARNs) of the IAM managed policies that
|
|
436
|
+
# you want to use as managed session policies. The policies must exist
|
|
437
|
+
# in the same account as the role.
|
|
438
|
+
#
|
|
439
|
+
# This parameter is optional. You can provide up to 10 managed policy
|
|
440
|
+
# ARNs. However, the plaintext that you use for both inline and
|
|
441
|
+
# managed session policies can't exceed 2,048 characters. For more
|
|
442
|
+
# information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
|
|
443
|
+
# Web Services Service Namespaces][1] in the Amazon Web Services
|
|
444
|
+
# General Reference.
|
|
445
|
+
#
|
|
446
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
447
|
+
# policies and session tags into a packed binary format that has a
|
|
448
|
+
# separate limit. Your request can fail for this limit even if your
|
|
449
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
450
|
+
# response element indicates by percentage how close the policies and
|
|
451
|
+
# tags for your request are to the upper size limit.
|
|
244
452
|
#
|
|
245
|
-
#
|
|
246
|
-
# temporary security credentials that are returned by the operation
|
|
247
|
-
# have the permissions that are allowed by both the access policy of
|
|
248
|
-
# the role that is being assumed, <i> <b>and</b> </i> the policy that
|
|
249
|
-
# you pass. This gives you a way to further restrict the permissions
|
|
250
|
-
# for the resulting temporary security credentials. You cannot use the
|
|
251
|
-
# passed policy to grant permissions that are in excess of those
|
|
252
|
-
# allowed by the access policy of the role that is being assumed. For
|
|
253
|
-
# more information, [Permissions for AssumeRole, AssumeRoleWithSAML,
|
|
254
|
-
# and AssumeRoleWithWebIdentity][1] in the *IAM User Guide*.
|
|
453
|
+
# </note>
|
|
255
454
|
#
|
|
256
|
-
#
|
|
257
|
-
#
|
|
258
|
-
#
|
|
259
|
-
#
|
|
455
|
+
# Passing policies to this operation returns new temporary
|
|
456
|
+
# credentials. The resulting session's permissions are the
|
|
457
|
+
# intersection of the role's identity-based policy and the session
|
|
458
|
+
# policies. You can use the role's temporary credentials in
|
|
459
|
+
# subsequent Amazon Web Services API calls to access resources in the
|
|
460
|
+
# account that owns the role. You cannot use session policies to grant
|
|
461
|
+
# more permissions than those allowed by the identity-based policy of
|
|
462
|
+
# the role that is being assumed. For more information, see [Session
|
|
463
|
+
# Policies][2] in the *IAM User Guide*.
|
|
464
|
+
#
|
|
465
|
+
#
|
|
466
|
+
#
|
|
467
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
468
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
|
469
|
+
# @return [Array<Types::PolicyDescriptorType>]
|
|
470
|
+
#
|
|
471
|
+
# @!attribute [rw] policy
|
|
472
|
+
# An IAM policy in JSON format that you want to use as an inline
|
|
473
|
+
# session policy.
|
|
474
|
+
#
|
|
475
|
+
# This parameter is optional. Passing policies to this operation
|
|
476
|
+
# returns new temporary credentials. The resulting session's
|
|
477
|
+
# permissions are the intersection of the role's identity-based
|
|
478
|
+
# policy and the session policies. You can use the role's temporary
|
|
479
|
+
# credentials in subsequent Amazon Web Services API calls to access
|
|
480
|
+
# resources in the account that owns the role. You cannot use session
|
|
481
|
+
# policies to grant more permissions than those allowed by the
|
|
482
|
+
# identity-based policy of the role that is being assumed. For more
|
|
483
|
+
# information, see [Session Policies][1] in the *IAM User Guide*.
|
|
484
|
+
#
|
|
485
|
+
# The plaintext that you use for both inline and managed session
|
|
486
|
+
# policies can't exceed 2,048 characters. The JSON policy characters
|
|
487
|
+
# can be any ASCII character from the space character to the end of
|
|
488
|
+
# the valid character list (\\u0020 through \\u00FF). It can also
|
|
260
489
|
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
|
261
490
|
# (\\u000D) characters.
|
|
262
491
|
#
|
|
263
|
-
# <note markdown="1">
|
|
264
|
-
#
|
|
265
|
-
# separate limit.
|
|
266
|
-
#
|
|
267
|
-
#
|
|
492
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
493
|
+
# policies and session tags into a packed binary format that has a
|
|
494
|
+
# separate limit. Your request can fail for this limit even if your
|
|
495
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
496
|
+
# response element indicates by percentage how close the policies and
|
|
497
|
+
# tags for your request are to the upper size limit.
|
|
268
498
|
#
|
|
269
499
|
# </note>
|
|
270
500
|
#
|
|
271
501
|
#
|
|
272
502
|
#
|
|
273
|
-
# [1]:
|
|
503
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
|
274
504
|
# @return [String]
|
|
275
505
|
#
|
|
276
506
|
# @!attribute [rw] duration_seconds
|
|
@@ -288,22 +518,22 @@ module Aws::STS
|
|
|
288
518
|
# Maximum Session Duration Setting for a Role][1] in the *IAM User
|
|
289
519
|
# Guide*.
|
|
290
520
|
#
|
|
291
|
-
# By default, the value is set to 3600 seconds.
|
|
521
|
+
# By default, the value is set to `3600` seconds.
|
|
292
522
|
#
|
|
293
523
|
# <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
|
|
294
524
|
# console session that you might request using the returned
|
|
295
525
|
# credentials. The request to the federation endpoint for a console
|
|
296
526
|
# sign-in token takes a `SessionDuration` parameter that specifies the
|
|
297
527
|
# maximum length of the console session. For more information, see
|
|
298
|
-
# [Creating a URL that Enables Federated Users to Access the
|
|
299
|
-
# 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*.
|
|
300
530
|
#
|
|
301
531
|
# </note>
|
|
302
532
|
#
|
|
303
533
|
#
|
|
304
534
|
#
|
|
305
|
-
# [1]:
|
|
306
|
-
# [2]:
|
|
535
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
|
536
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
|
307
537
|
# @return [Integer]
|
|
308
538
|
#
|
|
309
539
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest AWS API Documentation
|
|
@@ -312,24 +542,26 @@ module Aws::STS
|
|
|
312
542
|
:role_arn,
|
|
313
543
|
:principal_arn,
|
|
314
544
|
:saml_assertion,
|
|
545
|
+
:policy_arns,
|
|
315
546
|
:policy,
|
|
316
547
|
:duration_seconds)
|
|
548
|
+
SENSITIVE = []
|
|
317
549
|
include Aws::Structure
|
|
318
550
|
end
|
|
319
551
|
|
|
320
552
|
# Contains the response to a successful AssumeRoleWithSAML request,
|
|
321
|
-
# including temporary
|
|
322
|
-
# requests.
|
|
553
|
+
# including temporary Amazon Web Services credentials that can be used
|
|
554
|
+
# to make Amazon Web Services requests.
|
|
323
555
|
#
|
|
324
556
|
# @!attribute [rw] credentials
|
|
325
557
|
# The temporary security credentials, which include an access key ID,
|
|
326
558
|
# a secret access key, and a security (or session) token.
|
|
327
559
|
#
|
|
328
|
-
#
|
|
560
|
+
# <note markdown="1"> The size of the security token that STS API operations return is not
|
|
329
561
|
# fixed. We strongly recommend that you make no assumptions about the
|
|
330
|
-
# maximum size.
|
|
331
|
-
#
|
|
332
|
-
#
|
|
562
|
+
# maximum size.
|
|
563
|
+
#
|
|
564
|
+
# </note>
|
|
333
565
|
# @return [Types::Credentials]
|
|
334
566
|
#
|
|
335
567
|
# @!attribute [rw] assumed_role_user
|
|
@@ -338,9 +570,10 @@ module Aws::STS
|
|
|
338
570
|
# @return [Types::AssumedRoleUser]
|
|
339
571
|
#
|
|
340
572
|
# @!attribute [rw] packed_policy_size
|
|
341
|
-
# A percentage value that indicates the size of the
|
|
342
|
-
#
|
|
343
|
-
#
|
|
573
|
+
# A percentage value that indicates the packed size of the session
|
|
574
|
+
# policies and session tags combined passed in the request. The
|
|
575
|
+
# request fails if the packed size is greater than 100 percent, which
|
|
576
|
+
# means the policies and tags exceeded the allowed space.
|
|
344
577
|
# @return [Integer]
|
|
345
578
|
#
|
|
346
579
|
# @!attribute [rw] subject
|
|
@@ -370,11 +603,17 @@ module Aws::STS
|
|
|
370
603
|
# @return [String]
|
|
371
604
|
#
|
|
372
605
|
# @!attribute [rw] name_qualifier
|
|
373
|
-
# A hash value based on the concatenation of the
|
|
374
|
-
#
|
|
375
|
-
#
|
|
376
|
-
#
|
|
377
|
-
#
|
|
606
|
+
# A hash value based on the concatenation of the following:
|
|
607
|
+
#
|
|
608
|
+
# * The `Issuer` response value.
|
|
609
|
+
#
|
|
610
|
+
# * The Amazon Web Services account ID.
|
|
611
|
+
#
|
|
612
|
+
# * The friendly name (the last part of the ARN) of the SAML provider
|
|
613
|
+
# in IAM.
|
|
614
|
+
#
|
|
615
|
+
# The combination of `NameQualifier` and `Subject` can be used to
|
|
616
|
+
# uniquely identify a federated user.
|
|
378
617
|
#
|
|
379
618
|
# The following pseudocode shows how the hash value is calculated:
|
|
380
619
|
#
|
|
@@ -382,6 +621,34 @@ module Aws::STS
|
|
|
382
621
|
# "/MySAMLIdP" ) )`
|
|
383
622
|
# @return [String]
|
|
384
623
|
#
|
|
624
|
+
# @!attribute [rw] source_identity
|
|
625
|
+
# The value in the `SourceIdentity` attribute in the SAML assertion.
|
|
626
|
+
#
|
|
627
|
+
# You can require users to set a source identity value when they
|
|
628
|
+
# assume a role. You do this by using the `sts:SourceIdentity`
|
|
629
|
+
# condition key in a role trust policy. That way, actions that are
|
|
630
|
+
# taken with the role are associated with that user. After the source
|
|
631
|
+
# identity is set, the value cannot be changed. It is present in the
|
|
632
|
+
# request for all actions that are taken by the role and persists
|
|
633
|
+
# across [chained role][1] sessions. You can configure your SAML
|
|
634
|
+
# identity provider to use an attribute associated with your users,
|
|
635
|
+
# like user name or email, as the source identity when calling
|
|
636
|
+
# `AssumeRoleWithSAML`. You do this by adding an attribute to the SAML
|
|
637
|
+
# assertion. For more information about using source identity, see
|
|
638
|
+
# [Monitor and control actions taken with assumed roles][2] in the
|
|
639
|
+
# *IAM User Guide*.
|
|
640
|
+
#
|
|
641
|
+
# The regex used to validate this parameter is a string of characters
|
|
642
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
|
643
|
+
# spaces. You can also include underscores or any of the following
|
|
644
|
+
# characters: =,.@-
|
|
645
|
+
#
|
|
646
|
+
#
|
|
647
|
+
#
|
|
648
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining
|
|
649
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
|
|
650
|
+
# @return [String]
|
|
651
|
+
#
|
|
385
652
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse AWS API Documentation
|
|
386
653
|
#
|
|
387
654
|
class AssumeRoleWithSAMLResponse < Struct.new(
|
|
@@ -392,7 +659,9 @@ module Aws::STS
|
|
|
392
659
|
:subject_type,
|
|
393
660
|
:issuer,
|
|
394
661
|
:audience,
|
|
395
|
-
:name_qualifier
|
|
662
|
+
:name_qualifier,
|
|
663
|
+
:source_identity)
|
|
664
|
+
SENSITIVE = []
|
|
396
665
|
include Aws::Structure
|
|
397
666
|
end
|
|
398
667
|
|
|
@@ -404,6 +673,11 @@ module Aws::STS
|
|
|
404
673
|
# role_session_name: "roleSessionNameType", # required
|
|
405
674
|
# web_identity_token: "clientTokenType", # required
|
|
406
675
|
# provider_id: "urlType",
|
|
676
|
+
# policy_arns: [
|
|
677
|
+
# {
|
|
678
|
+
# arn: "arnType",
|
|
679
|
+
# },
|
|
680
|
+
# ],
|
|
407
681
|
# policy: "sessionPolicyDocumentType",
|
|
408
682
|
# duration_seconds: 1,
|
|
409
683
|
# }
|
|
@@ -447,38 +721,76 @@ module Aws::STS
|
|
|
447
721
|
# Do not specify this value for OpenID Connect ID tokens.
|
|
448
722
|
# @return [String]
|
|
449
723
|
#
|
|
450
|
-
# @!attribute [rw]
|
|
451
|
-
#
|
|
724
|
+
# @!attribute [rw] policy_arns
|
|
725
|
+
# The Amazon Resource Names (ARNs) of the IAM managed policies that
|
|
726
|
+
# you want to use as managed session policies. The policies must exist
|
|
727
|
+
# in the same account as the role.
|
|
728
|
+
#
|
|
729
|
+
# This parameter is optional. You can provide up to 10 managed policy
|
|
730
|
+
# ARNs. However, the plaintext that you use for both inline and
|
|
731
|
+
# managed session policies can't exceed 2,048 characters. For more
|
|
732
|
+
# information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
|
|
733
|
+
# Web Services Service Namespaces][1] in the Amazon Web Services
|
|
734
|
+
# General Reference.
|
|
735
|
+
#
|
|
736
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
737
|
+
# policies and session tags into a packed binary format that has a
|
|
738
|
+
# separate limit. Your request can fail for this limit even if your
|
|
739
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
740
|
+
# response element indicates by percentage how close the policies and
|
|
741
|
+
# tags for your request are to the upper size limit.
|
|
452
742
|
#
|
|
453
|
-
#
|
|
454
|
-
# temporary security credentials that are returned by the operation
|
|
455
|
-
# have the permissions that are allowed by both the access policy of
|
|
456
|
-
# the role that is being assumed, <i> <b>and</b> </i> the policy that
|
|
457
|
-
# you pass. This gives you a way to further restrict the permissions
|
|
458
|
-
# for the resulting temporary security credentials. You cannot use the
|
|
459
|
-
# passed policy to grant permissions that are in excess of those
|
|
460
|
-
# allowed by the access policy of the role that is being assumed. For
|
|
461
|
-
# more information, see [Permissions for AssumeRoleWithWebIdentity][1]
|
|
462
|
-
# in the *IAM User Guide*.
|
|
743
|
+
# </note>
|
|
463
744
|
#
|
|
464
|
-
#
|
|
465
|
-
#
|
|
466
|
-
#
|
|
467
|
-
#
|
|
745
|
+
# Passing policies to this operation returns new temporary
|
|
746
|
+
# credentials. The resulting session's permissions are the
|
|
747
|
+
# intersection of the role's identity-based policy and the session
|
|
748
|
+
# policies. You can use the role's temporary credentials in
|
|
749
|
+
# subsequent Amazon Web Services API calls to access resources in the
|
|
750
|
+
# account that owns the role. You cannot use session policies to grant
|
|
751
|
+
# more permissions than those allowed by the identity-based policy of
|
|
752
|
+
# the role that is being assumed. For more information, see [Session
|
|
753
|
+
# Policies][2] in the *IAM User Guide*.
|
|
754
|
+
#
|
|
755
|
+
#
|
|
756
|
+
#
|
|
757
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
758
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
|
759
|
+
# @return [Array<Types::PolicyDescriptorType>]
|
|
760
|
+
#
|
|
761
|
+
# @!attribute [rw] policy
|
|
762
|
+
# An IAM policy in JSON format that you want to use as an inline
|
|
763
|
+
# session policy.
|
|
764
|
+
#
|
|
765
|
+
# This parameter is optional. Passing policies to this operation
|
|
766
|
+
# returns new temporary credentials. The resulting session's
|
|
767
|
+
# permissions are the intersection of the role's identity-based
|
|
768
|
+
# policy and the session policies. You can use the role's temporary
|
|
769
|
+
# credentials in subsequent Amazon Web Services API calls to access
|
|
770
|
+
# resources in the account that owns the role. You cannot use session
|
|
771
|
+
# policies to grant more permissions than those allowed by the
|
|
772
|
+
# identity-based policy of the role that is being assumed. For more
|
|
773
|
+
# information, see [Session Policies][1] in the *IAM User Guide*.
|
|
774
|
+
#
|
|
775
|
+
# The plaintext that you use for both inline and managed session
|
|
776
|
+
# policies can't exceed 2,048 characters. The JSON policy characters
|
|
777
|
+
# can be any ASCII character from the space character to the end of
|
|
778
|
+
# the valid character list (\\u0020 through \\u00FF). It can also
|
|
468
779
|
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
|
469
780
|
# (\\u000D) characters.
|
|
470
781
|
#
|
|
471
|
-
# <note markdown="1">
|
|
472
|
-
#
|
|
473
|
-
# separate limit.
|
|
474
|
-
#
|
|
475
|
-
#
|
|
782
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
783
|
+
# policies and session tags into a packed binary format that has a
|
|
784
|
+
# separate limit. Your request can fail for this limit even if your
|
|
785
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
786
|
+
# response element indicates by percentage how close the policies and
|
|
787
|
+
# tags for your request are to the upper size limit.
|
|
476
788
|
#
|
|
477
789
|
# </note>
|
|
478
790
|
#
|
|
479
791
|
#
|
|
480
792
|
#
|
|
481
|
-
# [1]:
|
|
793
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
|
482
794
|
# @return [String]
|
|
483
795
|
#
|
|
484
796
|
# @!attribute [rw] duration_seconds
|
|
@@ -492,22 +804,22 @@ module Aws::STS
|
|
|
492
804
|
# value for your role, see [View the Maximum Session Duration Setting
|
|
493
805
|
# for a Role][1] in the *IAM User Guide*.
|
|
494
806
|
#
|
|
495
|
-
# By default, the value is set to 3600 seconds.
|
|
807
|
+
# By default, the value is set to `3600` seconds.
|
|
496
808
|
#
|
|
497
809
|
# <note markdown="1"> The `DurationSeconds` parameter is separate from the duration of a
|
|
498
810
|
# console session that you might request using the returned
|
|
499
811
|
# credentials. The request to the federation endpoint for a console
|
|
500
812
|
# sign-in token takes a `SessionDuration` parameter that specifies the
|
|
501
813
|
# maximum length of the console session. For more information, see
|
|
502
|
-
# [Creating a URL that Enables Federated Users to Access the
|
|
503
|
-
# 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*.
|
|
504
816
|
#
|
|
505
817
|
# </note>
|
|
506
818
|
#
|
|
507
819
|
#
|
|
508
820
|
#
|
|
509
|
-
# [1]:
|
|
510
|
-
# [2]:
|
|
821
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
|
|
822
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
|
511
823
|
# @return [Integer]
|
|
512
824
|
#
|
|
513
825
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest AWS API Documentation
|
|
@@ -517,24 +829,26 @@ module Aws::STS
|
|
|
517
829
|
:role_session_name,
|
|
518
830
|
:web_identity_token,
|
|
519
831
|
:provider_id,
|
|
832
|
+
:policy_arns,
|
|
520
833
|
:policy,
|
|
521
834
|
:duration_seconds)
|
|
835
|
+
SENSITIVE = []
|
|
522
836
|
include Aws::Structure
|
|
523
837
|
end
|
|
524
838
|
|
|
525
839
|
# Contains the response to a successful AssumeRoleWithWebIdentity
|
|
526
|
-
# request, including temporary
|
|
527
|
-
#
|
|
840
|
+
# request, including temporary Amazon Web Services credentials that can
|
|
841
|
+
# be used to make Amazon Web Services requests.
|
|
528
842
|
#
|
|
529
843
|
# @!attribute [rw] credentials
|
|
530
844
|
# The temporary security credentials, which include an access key ID,
|
|
531
845
|
# a secret access key, and a security token.
|
|
532
846
|
#
|
|
533
|
-
#
|
|
847
|
+
# <note markdown="1"> The size of the security token that STS API operations return is not
|
|
534
848
|
# fixed. We strongly recommend that you make no assumptions about the
|
|
535
|
-
# maximum size.
|
|
536
|
-
#
|
|
537
|
-
#
|
|
849
|
+
# maximum size.
|
|
850
|
+
#
|
|
851
|
+
# </note>
|
|
538
852
|
# @return [Types::Credentials]
|
|
539
853
|
#
|
|
540
854
|
# @!attribute [rw] subject_from_web_identity_token
|
|
@@ -557,15 +871,16 @@ module Aws::STS
|
|
|
557
871
|
# @return [Types::AssumedRoleUser]
|
|
558
872
|
#
|
|
559
873
|
# @!attribute [rw] packed_policy_size
|
|
560
|
-
# A percentage value that indicates the size of the
|
|
561
|
-
#
|
|
562
|
-
#
|
|
874
|
+
# A percentage value that indicates the packed size of the session
|
|
875
|
+
# policies and session tags combined passed in the request. The
|
|
876
|
+
# request fails if the packed size is greater than 100 percent, which
|
|
877
|
+
# means the policies and tags exceeded the allowed space.
|
|
563
878
|
# @return [Integer]
|
|
564
879
|
#
|
|
565
880
|
# @!attribute [rw] provider
|
|
566
881
|
# The issuing authority of the web identity token presented. For
|
|
567
|
-
# OpenID Connect ID
|
|
568
|
-
# For OAuth 2.0 access tokens, this contains the value of the
|
|
882
|
+
# OpenID Connect ID tokens, this contains the value of the `iss`
|
|
883
|
+
# field. For OAuth 2.0 access tokens, this contains the value of the
|
|
569
884
|
# `ProviderId` parameter that was passed in the
|
|
570
885
|
# `AssumeRoleWithWebIdentity` request.
|
|
571
886
|
# @return [String]
|
|
@@ -576,6 +891,38 @@ module Aws::STS
|
|
|
576
891
|
# application that requested the web identity token.
|
|
577
892
|
# @return [String]
|
|
578
893
|
#
|
|
894
|
+
# @!attribute [rw] source_identity
|
|
895
|
+
# The value of the source identity that is returned in the JSON web
|
|
896
|
+
# token (JWT) from the identity provider.
|
|
897
|
+
#
|
|
898
|
+
# You can require users to set a source identity value when they
|
|
899
|
+
# assume a role. You do this by using the `sts:SourceIdentity`
|
|
900
|
+
# condition key in a role trust policy. That way, actions that are
|
|
901
|
+
# taken with the role are associated with that user. After the source
|
|
902
|
+
# identity is set, the value cannot be changed. It is present in the
|
|
903
|
+
# request for all actions that are taken by the role and persists
|
|
904
|
+
# across [chained role][1] sessions. You can configure your identity
|
|
905
|
+
# provider to use an attribute associated with your users, like user
|
|
906
|
+
# name or email, as the source identity when calling
|
|
907
|
+
# `AssumeRoleWithWebIdentity`. You do this by adding a claim to the
|
|
908
|
+
# JSON web token. To learn more about OIDC tokens and claims, see
|
|
909
|
+
# [Using Tokens with User Pools][2] in the *Amazon Cognito Developer
|
|
910
|
+
# Guide*. For more information about using source identity, see
|
|
911
|
+
# [Monitor and control actions taken with assumed roles][3] in the
|
|
912
|
+
# *IAM User Guide*.
|
|
913
|
+
#
|
|
914
|
+
# The regex used to validate this parameter is a string of characters
|
|
915
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
|
916
|
+
# spaces. You can also include underscores or any of the following
|
|
917
|
+
# characters: =,.@-
|
|
918
|
+
#
|
|
919
|
+
#
|
|
920
|
+
#
|
|
921
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining
|
|
922
|
+
# [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html
|
|
923
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
|
|
924
|
+
# @return [String]
|
|
925
|
+
#
|
|
579
926
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse AWS API Documentation
|
|
580
927
|
#
|
|
581
928
|
class AssumeRoleWithWebIdentityResponse < Struct.new(
|
|
@@ -584,7 +931,9 @@ module Aws::STS
|
|
|
584
931
|
:assumed_role_user,
|
|
585
932
|
:packed_policy_size,
|
|
586
933
|
:provider,
|
|
587
|
-
:audience
|
|
934
|
+
:audience,
|
|
935
|
+
:source_identity)
|
|
936
|
+
SENSITIVE = []
|
|
588
937
|
include Aws::Structure
|
|
589
938
|
end
|
|
590
939
|
|
|
@@ -594,17 +943,18 @@ module Aws::STS
|
|
|
594
943
|
# @!attribute [rw] assumed_role_id
|
|
595
944
|
# A unique identifier that contains the role ID and the role session
|
|
596
945
|
# name of the role that is being assumed. The role ID is generated by
|
|
597
|
-
#
|
|
946
|
+
# Amazon Web Services when the role is created.
|
|
598
947
|
# @return [String]
|
|
599
948
|
#
|
|
600
949
|
# @!attribute [rw] arn
|
|
601
950
|
# The ARN of the temporary security credentials that are returned from
|
|
602
951
|
# the AssumeRole action. For more information about ARNs and how to
|
|
603
|
-
# use them in policies, see [IAM Identifiers][1] in *
|
|
952
|
+
# use them in policies, see [IAM Identifiers][1] in the *IAM User
|
|
953
|
+
# Guide*.
|
|
604
954
|
#
|
|
605
955
|
#
|
|
606
956
|
#
|
|
607
|
-
# [1]:
|
|
957
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
|
|
608
958
|
# @return [String]
|
|
609
959
|
#
|
|
610
960
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser AWS API Documentation
|
|
@@ -612,10 +962,11 @@ module Aws::STS
|
|
|
612
962
|
class AssumedRoleUser < Struct.new(
|
|
613
963
|
:assumed_role_id,
|
|
614
964
|
:arn)
|
|
965
|
+
SENSITIVE = []
|
|
615
966
|
include Aws::Structure
|
|
616
967
|
end
|
|
617
968
|
|
|
618
|
-
#
|
|
969
|
+
# Amazon Web Services credentials for API authentication.
|
|
619
970
|
#
|
|
620
971
|
# @!attribute [rw] access_key_id
|
|
621
972
|
# The access key ID that identifies the temporary security
|
|
@@ -642,6 +993,7 @@ module Aws::STS
|
|
|
642
993
|
:secret_access_key,
|
|
643
994
|
:session_token,
|
|
644
995
|
:expiration)
|
|
996
|
+
SENSITIVE = []
|
|
645
997
|
include Aws::Structure
|
|
646
998
|
end
|
|
647
999
|
|
|
@@ -660,21 +1012,38 @@ module Aws::STS
|
|
|
660
1012
|
#
|
|
661
1013
|
class DecodeAuthorizationMessageRequest < Struct.new(
|
|
662
1014
|
:encoded_message)
|
|
1015
|
+
SENSITIVE = []
|
|
663
1016
|
include Aws::Structure
|
|
664
1017
|
end
|
|
665
1018
|
|
|
666
1019
|
# A document that contains additional information about the
|
|
667
1020
|
# authorization status of a request from an encoded message that is
|
|
668
|
-
# returned in response to an
|
|
1021
|
+
# returned in response to an Amazon Web Services request.
|
|
669
1022
|
#
|
|
670
1023
|
# @!attribute [rw] decoded_message
|
|
671
|
-
#
|
|
1024
|
+
# The API returns a response with the decoded message.
|
|
672
1025
|
# @return [String]
|
|
673
1026
|
#
|
|
674
1027
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse AWS API Documentation
|
|
675
1028
|
#
|
|
676
1029
|
class DecodeAuthorizationMessageResponse < Struct.new(
|
|
677
1030
|
:decoded_message)
|
|
1031
|
+
SENSITIVE = []
|
|
1032
|
+
include Aws::Structure
|
|
1033
|
+
end
|
|
1034
|
+
|
|
1035
|
+
# The web identity token that was passed is expired or is not valid. Get
|
|
1036
|
+
# a new identity token from the identity provider and then retry the
|
|
1037
|
+
# request.
|
|
1038
|
+
#
|
|
1039
|
+
# @!attribute [rw] message
|
|
1040
|
+
# @return [String]
|
|
1041
|
+
#
|
|
1042
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/ExpiredTokenException AWS API Documentation
|
|
1043
|
+
#
|
|
1044
|
+
class ExpiredTokenException < Struct.new(
|
|
1045
|
+
:message)
|
|
1046
|
+
SENSITIVE = []
|
|
678
1047
|
include Aws::Structure
|
|
679
1048
|
end
|
|
680
1049
|
|
|
@@ -689,11 +1058,11 @@ module Aws::STS
|
|
|
689
1058
|
# @!attribute [rw] arn
|
|
690
1059
|
# The ARN that specifies the federated user that is associated with
|
|
691
1060
|
# the credentials. For more information about ARNs and how to use them
|
|
692
|
-
# in policies, see [IAM Identifiers][1] in *
|
|
1061
|
+
# in policies, see [IAM Identifiers][1] in the *IAM User Guide*.
|
|
693
1062
|
#
|
|
694
1063
|
#
|
|
695
1064
|
#
|
|
696
|
-
# [1]:
|
|
1065
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
|
|
697
1066
|
# @return [String]
|
|
698
1067
|
#
|
|
699
1068
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser AWS API Documentation
|
|
@@ -701,6 +1070,42 @@ module Aws::STS
|
|
|
701
1070
|
class FederatedUser < Struct.new(
|
|
702
1071
|
:federated_user_id,
|
|
703
1072
|
:arn)
|
|
1073
|
+
SENSITIVE = []
|
|
1074
|
+
include Aws::Structure
|
|
1075
|
+
end
|
|
1076
|
+
|
|
1077
|
+
# @note When making an API call, you may pass GetAccessKeyInfoRequest
|
|
1078
|
+
# data as a hash:
|
|
1079
|
+
#
|
|
1080
|
+
# {
|
|
1081
|
+
# access_key_id: "accessKeyIdType", # required
|
|
1082
|
+
# }
|
|
1083
|
+
#
|
|
1084
|
+
# @!attribute [rw] access_key_id
|
|
1085
|
+
# The identifier of an access key.
|
|
1086
|
+
#
|
|
1087
|
+
# This parameter allows (through its regex pattern) a string of
|
|
1088
|
+
# characters that can consist of any upper- or lowercase letter or
|
|
1089
|
+
# digit.
|
|
1090
|
+
# @return [String]
|
|
1091
|
+
#
|
|
1092
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetAccessKeyInfoRequest AWS API Documentation
|
|
1093
|
+
#
|
|
1094
|
+
class GetAccessKeyInfoRequest < Struct.new(
|
|
1095
|
+
:access_key_id)
|
|
1096
|
+
SENSITIVE = []
|
|
1097
|
+
include Aws::Structure
|
|
1098
|
+
end
|
|
1099
|
+
|
|
1100
|
+
# @!attribute [rw] account
|
|
1101
|
+
# The number used to identify the Amazon Web Services account.
|
|
1102
|
+
# @return [String]
|
|
1103
|
+
#
|
|
1104
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetAccessKeyInfoResponse AWS API Documentation
|
|
1105
|
+
#
|
|
1106
|
+
class GetAccessKeyInfoResponse < Struct.new(
|
|
1107
|
+
:account)
|
|
1108
|
+
SENSITIVE = []
|
|
704
1109
|
include Aws::Structure
|
|
705
1110
|
end
|
|
706
1111
|
|
|
@@ -715,23 +1120,23 @@ module Aws::STS
|
|
|
715
1120
|
#
|
|
716
1121
|
# @!attribute [rw] user_id
|
|
717
1122
|
# The unique identifier of the calling entity. The exact value depends
|
|
718
|
-
# on the type of entity making the call. The values returned
|
|
719
|
-
# listed in the **aws:userid** column in the [Principal
|
|
720
|
-
# found on the **Policy Variables** reference page in the
|
|
721
|
-
# Guide*.
|
|
1123
|
+
# on the type of entity that is making the call. The values returned
|
|
1124
|
+
# are those listed in the **aws:userid** column in the [Principal
|
|
1125
|
+
# table][1] found on the **Policy Variables** reference page in the
|
|
1126
|
+
# *IAM User Guide*.
|
|
722
1127
|
#
|
|
723
1128
|
#
|
|
724
1129
|
#
|
|
725
|
-
# [1]:
|
|
1130
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
|
|
726
1131
|
# @return [String]
|
|
727
1132
|
#
|
|
728
1133
|
# @!attribute [rw] account
|
|
729
|
-
# The
|
|
730
|
-
# calling entity.
|
|
1134
|
+
# The Amazon Web Services account ID number of the account that owns
|
|
1135
|
+
# or contains the calling entity.
|
|
731
1136
|
# @return [String]
|
|
732
1137
|
#
|
|
733
1138
|
# @!attribute [rw] arn
|
|
734
|
-
# The
|
|
1139
|
+
# The Amazon Web Services ARN associated with the calling entity.
|
|
735
1140
|
# @return [String]
|
|
736
1141
|
#
|
|
737
1142
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse AWS API Documentation
|
|
@@ -740,6 +1145,7 @@ module Aws::STS
|
|
|
740
1145
|
:user_id,
|
|
741
1146
|
:account,
|
|
742
1147
|
:arn)
|
|
1148
|
+
SENSITIVE = []
|
|
743
1149
|
include Aws::Structure
|
|
744
1150
|
end
|
|
745
1151
|
|
|
@@ -749,7 +1155,18 @@ module Aws::STS
|
|
|
749
1155
|
# {
|
|
750
1156
|
# name: "userNameType", # required
|
|
751
1157
|
# policy: "sessionPolicyDocumentType",
|
|
1158
|
+
# policy_arns: [
|
|
1159
|
+
# {
|
|
1160
|
+
# arn: "arnType",
|
|
1161
|
+
# },
|
|
1162
|
+
# ],
|
|
752
1163
|
# duration_seconds: 1,
|
|
1164
|
+
# tags: [
|
|
1165
|
+
# {
|
|
1166
|
+
# key: "tagKeyType", # required
|
|
1167
|
+
# value: "tagValueType", # required
|
|
1168
|
+
# },
|
|
1169
|
+
# ],
|
|
753
1170
|
# }
|
|
754
1171
|
#
|
|
755
1172
|
# @!attribute [rw] name
|
|
@@ -765,79 +1182,177 @@ module Aws::STS
|
|
|
765
1182
|
# @return [String]
|
|
766
1183
|
#
|
|
767
1184
|
# @!attribute [rw] policy
|
|
768
|
-
# An IAM policy in JSON format that
|
|
769
|
-
#
|
|
770
|
-
# policies that are attached to the IAM user whose credentials are
|
|
771
|
-
# used to call `GetFederationToken`. The passed policy is used to
|
|
772
|
-
# scope down the permissions that are available to the IAM user, by
|
|
773
|
-
# allowing only a subset of the permissions that are granted to the
|
|
774
|
-
# IAM user. The passed policy cannot grant more permissions than those
|
|
775
|
-
# granted to the IAM user. The final permissions for the federated
|
|
776
|
-
# user are the most restrictive set based on the intersection of the
|
|
777
|
-
# passed policy and the IAM user policy.
|
|
778
|
-
#
|
|
779
|
-
# If you do not pass a policy, the resulting temporary security
|
|
780
|
-
# credentials have no effective permissions. The only exception is
|
|
781
|
-
# when the temporary security credentials are used to access a
|
|
782
|
-
# resource that has a resource-based policy that specifically allows
|
|
783
|
-
# the federated user to access the resource.
|
|
1185
|
+
# An IAM policy in JSON format that you want to use as an inline
|
|
1186
|
+
# session policy.
|
|
784
1187
|
#
|
|
785
|
-
#
|
|
786
|
-
# a
|
|
787
|
-
#
|
|
788
|
-
#
|
|
1188
|
+
# You must pass an inline or managed [session policy][1] to this
|
|
1189
|
+
# operation. You can pass a single JSON policy document to use as an
|
|
1190
|
+
# inline session policy. You can also specify up to 10 managed
|
|
1191
|
+
# policies to use as managed session policies.
|
|
1192
|
+
#
|
|
1193
|
+
# This parameter is optional. However, if you do not pass any session
|
|
1194
|
+
# policies, then the resulting federated user session has no
|
|
1195
|
+
# permissions.
|
|
1196
|
+
#
|
|
1197
|
+
# When you pass session policies, the session permissions are the
|
|
1198
|
+
# intersection of the IAM user policies and the session policies that
|
|
1199
|
+
# you pass. This gives you a way to further restrict the permissions
|
|
1200
|
+
# for a federated user. You cannot use session policies to grant more
|
|
1201
|
+
# permissions than those that are defined in the permissions policy of
|
|
1202
|
+
# the IAM user. For more information, see [Session Policies][1] in the
|
|
1203
|
+
# *IAM User Guide*.
|
|
1204
|
+
#
|
|
1205
|
+
# The resulting credentials can be used to access a resource that has
|
|
1206
|
+
# a resource-based policy. If that policy specifically references the
|
|
1207
|
+
# federated user session in the `Principal` element of the policy, the
|
|
1208
|
+
# session has the permissions allowed by the policy. These permissions
|
|
1209
|
+
# are granted in addition to the permissions that are granted by the
|
|
1210
|
+
# session policies.
|
|
1211
|
+
#
|
|
1212
|
+
# The plaintext that you use for both inline and managed session
|
|
1213
|
+
# policies can't exceed 2,048 characters. The JSON policy characters
|
|
1214
|
+
# can be any ASCII character from the space character to the end of
|
|
1215
|
+
# the valid character list (\\u0020 through \\u00FF). It can also
|
|
789
1216
|
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
|
790
1217
|
# (\\u000D) characters.
|
|
791
1218
|
#
|
|
792
|
-
# <note markdown="1">
|
|
793
|
-
#
|
|
794
|
-
# separate limit.
|
|
795
|
-
#
|
|
796
|
-
#
|
|
1219
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
1220
|
+
# policies and session tags into a packed binary format that has a
|
|
1221
|
+
# separate limit. Your request can fail for this limit even if your
|
|
1222
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
1223
|
+
# response element indicates by percentage how close the policies and
|
|
1224
|
+
# tags for your request are to the upper size limit.
|
|
797
1225
|
#
|
|
798
1226
|
# </note>
|
|
799
1227
|
#
|
|
800
|
-
# For more information about how permissions work, see [Permissions
|
|
801
|
-
# for GetFederationToken][1].
|
|
802
|
-
#
|
|
803
1228
|
#
|
|
804
1229
|
#
|
|
805
|
-
# [1]:
|
|
1230
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
|
806
1231
|
# @return [String]
|
|
807
1232
|
#
|
|
1233
|
+
# @!attribute [rw] policy_arns
|
|
1234
|
+
# The Amazon Resource Names (ARNs) of the IAM managed policies that
|
|
1235
|
+
# you want to use as a managed session policy. The policies must exist
|
|
1236
|
+
# in the same account as the IAM user that is requesting federated
|
|
1237
|
+
# access.
|
|
1238
|
+
#
|
|
1239
|
+
# You must pass an inline or managed [session policy][1] to this
|
|
1240
|
+
# operation. You can pass a single JSON policy document to use as an
|
|
1241
|
+
# inline session policy. You can also specify up to 10 managed
|
|
1242
|
+
# policies to use as managed session policies. The plaintext that you
|
|
1243
|
+
# use for both inline and managed session policies can't exceed 2,048
|
|
1244
|
+
# characters. You can provide up to 10 managed policy ARNs. For more
|
|
1245
|
+
# information about ARNs, see [Amazon Resource Names (ARNs) and Amazon
|
|
1246
|
+
# Web Services Service Namespaces][2] in the Amazon Web Services
|
|
1247
|
+
# General Reference.
|
|
1248
|
+
#
|
|
1249
|
+
# This parameter is optional. However, if you do not pass any session
|
|
1250
|
+
# policies, then the resulting federated user session has no
|
|
1251
|
+
# permissions.
|
|
1252
|
+
#
|
|
1253
|
+
# When you pass session policies, the session permissions are the
|
|
1254
|
+
# intersection of the IAM user policies and the session policies that
|
|
1255
|
+
# you pass. This gives you a way to further restrict the permissions
|
|
1256
|
+
# for a federated user. You cannot use session policies to grant more
|
|
1257
|
+
# permissions than those that are defined in the permissions policy of
|
|
1258
|
+
# the IAM user. For more information, see [Session Policies][1] in the
|
|
1259
|
+
# *IAM User Guide*.
|
|
1260
|
+
#
|
|
1261
|
+
# The resulting credentials can be used to access a resource that has
|
|
1262
|
+
# a resource-based policy. If that policy specifically references the
|
|
1263
|
+
# federated user session in the `Principal` element of the policy, the
|
|
1264
|
+
# session has the permissions allowed by the policy. These permissions
|
|
1265
|
+
# are granted in addition to the permissions that are granted by the
|
|
1266
|
+
# session policies.
|
|
1267
|
+
#
|
|
1268
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
1269
|
+
# policies and session tags into a packed binary format that has a
|
|
1270
|
+
# separate limit. Your request can fail for this limit even if your
|
|
1271
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
1272
|
+
# response element indicates by percentage how close the policies and
|
|
1273
|
+
# tags for your request are to the upper size limit.
|
|
1274
|
+
#
|
|
1275
|
+
# </note>
|
|
1276
|
+
#
|
|
1277
|
+
#
|
|
1278
|
+
#
|
|
1279
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
|
1280
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
1281
|
+
# @return [Array<Types::PolicyDescriptorType>]
|
|
1282
|
+
#
|
|
808
1283
|
# @!attribute [rw] duration_seconds
|
|
809
1284
|
# The duration, in seconds, that the session should last. Acceptable
|
|
810
1285
|
# durations for federation sessions range from 900 seconds (15
|
|
811
|
-
# minutes) to
|
|
812
|
-
# as the default. Sessions obtained using
|
|
813
|
-
# credentials are restricted to a maximum of
|
|
814
|
-
# If the specified duration is longer than one
|
|
815
|
-
# obtained by using
|
|
816
|
-
# hour.
|
|
1286
|
+
# minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
|
|
1287
|
+
# hours) as the default. Sessions obtained using Amazon Web Services
|
|
1288
|
+
# account root user credentials are restricted to a maximum of 3,600
|
|
1289
|
+
# seconds (one hour). If the specified duration is longer than one
|
|
1290
|
+
# hour, the session obtained by using root user credentials defaults
|
|
1291
|
+
# to one hour.
|
|
817
1292
|
# @return [Integer]
|
|
818
1293
|
#
|
|
1294
|
+
# @!attribute [rw] tags
|
|
1295
|
+
# A list of session tags. Each session tag consists of a key name and
|
|
1296
|
+
# an associated value. For more information about session tags, see
|
|
1297
|
+
# [Passing Session Tags in STS][1] in the *IAM User Guide*.
|
|
1298
|
+
#
|
|
1299
|
+
# This parameter is optional. You can pass up to 50 session tags. The
|
|
1300
|
+
# plaintext session tag keys can’t exceed 128 characters and the
|
|
1301
|
+
# values can’t exceed 256 characters. For these and additional limits,
|
|
1302
|
+
# see [IAM and STS Character Limits][2] in the *IAM User Guide*.
|
|
1303
|
+
#
|
|
1304
|
+
# <note markdown="1"> An Amazon Web Services conversion compresses the passed session
|
|
1305
|
+
# policies and session tags into a packed binary format that has a
|
|
1306
|
+
# separate limit. Your request can fail for this limit even if your
|
|
1307
|
+
# plaintext meets the other requirements. The `PackedPolicySize`
|
|
1308
|
+
# response element indicates by percentage how close the policies and
|
|
1309
|
+
# tags for your request are to the upper size limit.
|
|
1310
|
+
#
|
|
1311
|
+
# </note>
|
|
1312
|
+
#
|
|
1313
|
+
# You can pass a session tag with the same key as a tag that is
|
|
1314
|
+
# already attached to the user you are federating. When you do,
|
|
1315
|
+
# session tags override a user tag with the same key.
|
|
1316
|
+
#
|
|
1317
|
+
# Tag key–value pairs are not case sensitive, but case is preserved.
|
|
1318
|
+
# This means that you cannot have separate `Department` and
|
|
1319
|
+
# `department` tag keys. Assume that the role has the
|
|
1320
|
+
# `Department`=`Marketing` tag and you pass the
|
|
1321
|
+
# `department`=`engineering` session tag. `Department` and
|
|
1322
|
+
# `department` are not saved as separate tags, and the session tag
|
|
1323
|
+
# passed in the request takes precedence over the role tag.
|
|
1324
|
+
#
|
|
1325
|
+
#
|
|
1326
|
+
#
|
|
1327
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
|
|
1328
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
|
|
1329
|
+
# @return [Array<Types::Tag>]
|
|
1330
|
+
#
|
|
819
1331
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest AWS API Documentation
|
|
820
1332
|
#
|
|
821
1333
|
class GetFederationTokenRequest < Struct.new(
|
|
822
1334
|
:name,
|
|
823
1335
|
:policy,
|
|
824
|
-
:
|
|
1336
|
+
:policy_arns,
|
|
1337
|
+
:duration_seconds,
|
|
1338
|
+
:tags)
|
|
1339
|
+
SENSITIVE = []
|
|
825
1340
|
include Aws::Structure
|
|
826
1341
|
end
|
|
827
1342
|
|
|
828
1343
|
# Contains the response to a successful GetFederationToken request,
|
|
829
|
-
# including temporary
|
|
830
|
-
# requests.
|
|
1344
|
+
# including temporary Amazon Web Services credentials that can be used
|
|
1345
|
+
# to make Amazon Web Services requests.
|
|
831
1346
|
#
|
|
832
1347
|
# @!attribute [rw] credentials
|
|
833
1348
|
# The temporary security credentials, which include an access key ID,
|
|
834
1349
|
# a secret access key, and a security (or session) token.
|
|
835
1350
|
#
|
|
836
|
-
#
|
|
1351
|
+
# <note markdown="1"> The size of the security token that STS API operations return is not
|
|
837
1352
|
# fixed. We strongly recommend that you make no assumptions about the
|
|
838
|
-
# maximum size.
|
|
839
|
-
#
|
|
840
|
-
#
|
|
1353
|
+
# maximum size.
|
|
1354
|
+
#
|
|
1355
|
+
# </note>
|
|
841
1356
|
# @return [Types::Credentials]
|
|
842
1357
|
#
|
|
843
1358
|
# @!attribute [rw] federated_user
|
|
@@ -848,9 +1363,10 @@ module Aws::STS
|
|
|
848
1363
|
# @return [Types::FederatedUser]
|
|
849
1364
|
#
|
|
850
1365
|
# @!attribute [rw] packed_policy_size
|
|
851
|
-
# A percentage value
|
|
852
|
-
#
|
|
853
|
-
# than 100 percent
|
|
1366
|
+
# A percentage value that indicates the packed size of the session
|
|
1367
|
+
# policies and session tags combined passed in the request. The
|
|
1368
|
+
# request fails if the packed size is greater than 100 percent, which
|
|
1369
|
+
# means the policies and tags exceeded the allowed space.
|
|
854
1370
|
# @return [Integer]
|
|
855
1371
|
#
|
|
856
1372
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenResponse AWS API Documentation
|
|
@@ -859,6 +1375,7 @@ module Aws::STS
|
|
|
859
1375
|
:credentials,
|
|
860
1376
|
:federated_user,
|
|
861
1377
|
:packed_policy_size)
|
|
1378
|
+
SENSITIVE = []
|
|
862
1379
|
include Aws::Structure
|
|
863
1380
|
end
|
|
864
1381
|
|
|
@@ -874,11 +1391,11 @@ module Aws::STS
|
|
|
874
1391
|
# @!attribute [rw] duration_seconds
|
|
875
1392
|
# The duration, in seconds, that the credentials should remain valid.
|
|
876
1393
|
# Acceptable durations for IAM user sessions range from 900 seconds
|
|
877
|
-
# (15 minutes) to
|
|
878
|
-
# hours) as the default. Sessions for
|
|
879
|
-
# restricted to a maximum of
|
|
880
|
-
# is longer than one hour, the session for
|
|
881
|
-
# to one hour.
|
|
1394
|
+
# (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
|
|
1395
|
+
# hours) as the default. Sessions for Amazon Web Services account
|
|
1396
|
+
# owners are restricted to a maximum of 3,600 seconds (one hour). If
|
|
1397
|
+
# the duration is longer than one hour, the session for Amazon Web
|
|
1398
|
+
# Services account owners defaults to one hour.
|
|
882
1399
|
# @return [Integer]
|
|
883
1400
|
#
|
|
884
1401
|
# @!attribute [rw] serial_number
|
|
@@ -888,10 +1405,10 @@ module Aws::STS
|
|
|
888
1405
|
# The value is either the serial number for a hardware device (such as
|
|
889
1406
|
# `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual
|
|
890
1407
|
# device (such as `arn:aws:iam::123456789012:mfa/user`). You can find
|
|
891
|
-
# the device for an IAM user by going to the
|
|
892
|
-
# and 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.
|
|
893
1410
|
#
|
|
894
|
-
# The regex used to
|
|
1411
|
+
# The regex used to validate this parameter is a string of characters
|
|
895
1412
|
# consisting of upper- and lower-case alphanumeric characters with no
|
|
896
1413
|
# spaces. You can also include underscores or any of the following
|
|
897
1414
|
# characters: =,.@:/-
|
|
@@ -900,9 +1417,9 @@ module Aws::STS
|
|
|
900
1417
|
# @!attribute [rw] token_code
|
|
901
1418
|
# The value provided by the MFA device, if MFA is required. If any
|
|
902
1419
|
# policy requires the IAM user to submit an MFA code, specify this
|
|
903
|
-
# value. If MFA authentication is required,
|
|
904
|
-
#
|
|
905
|
-
#
|
|
1420
|
+
# value. If MFA authentication is required, the user must provide a
|
|
1421
|
+
# code when requesting a set of temporary security credentials. A user
|
|
1422
|
+
# who fails to provide the code receives an "access denied" response
|
|
906
1423
|
# when requesting resources that require MFA authentication.
|
|
907
1424
|
#
|
|
908
1425
|
# The format for this parameter, as described by its regex pattern, is
|
|
@@ -915,28 +1432,240 @@ module Aws::STS
|
|
|
915
1432
|
:duration_seconds,
|
|
916
1433
|
:serial_number,
|
|
917
1434
|
:token_code)
|
|
1435
|
+
SENSITIVE = []
|
|
918
1436
|
include Aws::Structure
|
|
919
1437
|
end
|
|
920
1438
|
|
|
921
1439
|
# Contains the response to a successful GetSessionToken request,
|
|
922
|
-
# including temporary
|
|
923
|
-
# requests.
|
|
1440
|
+
# including temporary Amazon Web Services credentials that can be used
|
|
1441
|
+
# to make Amazon Web Services requests.
|
|
924
1442
|
#
|
|
925
1443
|
# @!attribute [rw] credentials
|
|
926
1444
|
# The temporary security credentials, which include an access key ID,
|
|
927
1445
|
# a secret access key, and a security (or session) token.
|
|
928
1446
|
#
|
|
929
|
-
#
|
|
1447
|
+
# <note markdown="1"> The size of the security token that STS API operations return is not
|
|
930
1448
|
# fixed. We strongly recommend that you make no assumptions about the
|
|
931
|
-
# maximum size.
|
|
932
|
-
#
|
|
933
|
-
#
|
|
1449
|
+
# maximum size.
|
|
1450
|
+
#
|
|
1451
|
+
# </note>
|
|
934
1452
|
# @return [Types::Credentials]
|
|
935
1453
|
#
|
|
936
1454
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse AWS API Documentation
|
|
937
1455
|
#
|
|
938
1456
|
class GetSessionTokenResponse < Struct.new(
|
|
939
1457
|
:credentials)
|
|
1458
|
+
SENSITIVE = []
|
|
1459
|
+
include Aws::Structure
|
|
1460
|
+
end
|
|
1461
|
+
|
|
1462
|
+
# The request could not be fulfilled because the identity provider (IDP)
|
|
1463
|
+
# that was asked to verify the incoming identity token could not be
|
|
1464
|
+
# reached. This is often a transient error caused by network conditions.
|
|
1465
|
+
# Retry the request a limited number of times so that you don't exceed
|
|
1466
|
+
# the request rate. If the error persists, the identity provider might
|
|
1467
|
+
# be down or not responding.
|
|
1468
|
+
#
|
|
1469
|
+
# @!attribute [rw] message
|
|
1470
|
+
# @return [String]
|
|
1471
|
+
#
|
|
1472
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/IDPCommunicationErrorException AWS API Documentation
|
|
1473
|
+
#
|
|
1474
|
+
class IDPCommunicationErrorException < Struct.new(
|
|
1475
|
+
:message)
|
|
1476
|
+
SENSITIVE = []
|
|
1477
|
+
include Aws::Structure
|
|
1478
|
+
end
|
|
1479
|
+
|
|
1480
|
+
# The identity provider (IdP) reported that authentication failed. This
|
|
1481
|
+
# might be because the claim is invalid.
|
|
1482
|
+
#
|
|
1483
|
+
# If this error is returned for the `AssumeRoleWithWebIdentity`
|
|
1484
|
+
# operation, it can also mean that the claim has expired or has been
|
|
1485
|
+
# explicitly revoked.
|
|
1486
|
+
#
|
|
1487
|
+
# @!attribute [rw] message
|
|
1488
|
+
# @return [String]
|
|
1489
|
+
#
|
|
1490
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/IDPRejectedClaimException AWS API Documentation
|
|
1491
|
+
#
|
|
1492
|
+
class IDPRejectedClaimException < Struct.new(
|
|
1493
|
+
:message)
|
|
1494
|
+
SENSITIVE = []
|
|
1495
|
+
include Aws::Structure
|
|
1496
|
+
end
|
|
1497
|
+
|
|
1498
|
+
# The error returned if the message passed to
|
|
1499
|
+
# `DecodeAuthorizationMessage` was invalid. This can happen if the token
|
|
1500
|
+
# contains invalid characters, such as linebreaks.
|
|
1501
|
+
#
|
|
1502
|
+
# @!attribute [rw] message
|
|
1503
|
+
# @return [String]
|
|
1504
|
+
#
|
|
1505
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/InvalidAuthorizationMessageException AWS API Documentation
|
|
1506
|
+
#
|
|
1507
|
+
class InvalidAuthorizationMessageException < Struct.new(
|
|
1508
|
+
:message)
|
|
1509
|
+
SENSITIVE = []
|
|
1510
|
+
include Aws::Structure
|
|
1511
|
+
end
|
|
1512
|
+
|
|
1513
|
+
# The web identity token that was passed could not be validated by
|
|
1514
|
+
# Amazon Web Services. Get a new identity token from the identity
|
|
1515
|
+
# provider and then retry the request.
|
|
1516
|
+
#
|
|
1517
|
+
# @!attribute [rw] message
|
|
1518
|
+
# @return [String]
|
|
1519
|
+
#
|
|
1520
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/InvalidIdentityTokenException AWS API Documentation
|
|
1521
|
+
#
|
|
1522
|
+
class InvalidIdentityTokenException < Struct.new(
|
|
1523
|
+
:message)
|
|
1524
|
+
SENSITIVE = []
|
|
1525
|
+
include Aws::Structure
|
|
1526
|
+
end
|
|
1527
|
+
|
|
1528
|
+
# The request was rejected because the policy document was malformed.
|
|
1529
|
+
# The error message describes the specific error.
|
|
1530
|
+
#
|
|
1531
|
+
# @!attribute [rw] message
|
|
1532
|
+
# @return [String]
|
|
1533
|
+
#
|
|
1534
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/MalformedPolicyDocumentException AWS API Documentation
|
|
1535
|
+
#
|
|
1536
|
+
class MalformedPolicyDocumentException < Struct.new(
|
|
1537
|
+
:message)
|
|
1538
|
+
SENSITIVE = []
|
|
1539
|
+
include Aws::Structure
|
|
1540
|
+
end
|
|
1541
|
+
|
|
1542
|
+
# The request was rejected because the total packed size of the session
|
|
1543
|
+
# policies and session tags combined was too large. An Amazon Web
|
|
1544
|
+
# Services conversion compresses the session policy document, session
|
|
1545
|
+
# policy ARNs, and session tags into a packed binary format that has a
|
|
1546
|
+
# separate limit. The error message indicates by percentage how close
|
|
1547
|
+
# the policies and tags are to the upper size limit. For more
|
|
1548
|
+
# information, see [Passing Session Tags in STS][1] in the *IAM User
|
|
1549
|
+
# Guide*.
|
|
1550
|
+
#
|
|
1551
|
+
# You could receive this error even though you meet other defined
|
|
1552
|
+
# session policy and session tag limits. For more information, see [IAM
|
|
1553
|
+
# and STS Entity Character Limits][2] in the *IAM User Guide*.
|
|
1554
|
+
#
|
|
1555
|
+
#
|
|
1556
|
+
#
|
|
1557
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
|
|
1558
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length
|
|
1559
|
+
#
|
|
1560
|
+
# @!attribute [rw] message
|
|
1561
|
+
# @return [String]
|
|
1562
|
+
#
|
|
1563
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/PackedPolicyTooLargeException AWS API Documentation
|
|
1564
|
+
#
|
|
1565
|
+
class PackedPolicyTooLargeException < Struct.new(
|
|
1566
|
+
:message)
|
|
1567
|
+
SENSITIVE = []
|
|
1568
|
+
include Aws::Structure
|
|
1569
|
+
end
|
|
1570
|
+
|
|
1571
|
+
# A reference to the IAM managed policy that is passed as a session
|
|
1572
|
+
# policy for a role session or a federated user session.
|
|
1573
|
+
#
|
|
1574
|
+
# @note When making an API call, you may pass PolicyDescriptorType
|
|
1575
|
+
# data as a hash:
|
|
1576
|
+
#
|
|
1577
|
+
# {
|
|
1578
|
+
# arn: "arnType",
|
|
1579
|
+
# }
|
|
1580
|
+
#
|
|
1581
|
+
# @!attribute [rw] arn
|
|
1582
|
+
# The Amazon Resource Name (ARN) of the IAM managed policy to use as a
|
|
1583
|
+
# session policy for the role. For more information about ARNs, see
|
|
1584
|
+
# [Amazon Resource Names (ARNs) and Amazon Web Services Service
|
|
1585
|
+
# Namespaces][1] in the *Amazon Web Services General Reference*.
|
|
1586
|
+
#
|
|
1587
|
+
#
|
|
1588
|
+
#
|
|
1589
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
1590
|
+
# @return [String]
|
|
1591
|
+
#
|
|
1592
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/PolicyDescriptorType AWS API Documentation
|
|
1593
|
+
#
|
|
1594
|
+
class PolicyDescriptorType < Struct.new(
|
|
1595
|
+
:arn)
|
|
1596
|
+
SENSITIVE = []
|
|
1597
|
+
include Aws::Structure
|
|
1598
|
+
end
|
|
1599
|
+
|
|
1600
|
+
# STS is not activated in the requested region for the account that is
|
|
1601
|
+
# being asked to generate credentials. The account administrator must
|
|
1602
|
+
# use the IAM console to activate STS in that region. For more
|
|
1603
|
+
# information, see [Activating and Deactivating Amazon Web Services STS
|
|
1604
|
+
# in an Amazon Web Services Region][1] in the *IAM User Guide*.
|
|
1605
|
+
#
|
|
1606
|
+
#
|
|
1607
|
+
#
|
|
1608
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
|
|
1609
|
+
#
|
|
1610
|
+
# @!attribute [rw] message
|
|
1611
|
+
# @return [String]
|
|
1612
|
+
#
|
|
1613
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/RegionDisabledException AWS API Documentation
|
|
1614
|
+
#
|
|
1615
|
+
class RegionDisabledException < Struct.new(
|
|
1616
|
+
:message)
|
|
1617
|
+
SENSITIVE = []
|
|
1618
|
+
include Aws::Structure
|
|
1619
|
+
end
|
|
1620
|
+
|
|
1621
|
+
# You can pass custom key-value pair attributes when you assume a role
|
|
1622
|
+
# or federate a user. These are called session tags. You can then use
|
|
1623
|
+
# the session tags to control access to resources. For more information,
|
|
1624
|
+
# see [Tagging Amazon Web Services STS Sessions][1] in the *IAM User
|
|
1625
|
+
# Guide*.
|
|
1626
|
+
#
|
|
1627
|
+
#
|
|
1628
|
+
#
|
|
1629
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
|
|
1630
|
+
#
|
|
1631
|
+
# @note When making an API call, you may pass Tag
|
|
1632
|
+
# data as a hash:
|
|
1633
|
+
#
|
|
1634
|
+
# {
|
|
1635
|
+
# key: "tagKeyType", # required
|
|
1636
|
+
# value: "tagValueType", # required
|
|
1637
|
+
# }
|
|
1638
|
+
#
|
|
1639
|
+
# @!attribute [rw] key
|
|
1640
|
+
# The key for a session tag.
|
|
1641
|
+
#
|
|
1642
|
+
# You can pass up to 50 session tags. The plain text session tag keys
|
|
1643
|
+
# can’t exceed 128 characters. For these and additional limits, see
|
|
1644
|
+
# [IAM and STS Character Limits][1] in the *IAM User Guide*.
|
|
1645
|
+
#
|
|
1646
|
+
#
|
|
1647
|
+
#
|
|
1648
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
|
|
1649
|
+
# @return [String]
|
|
1650
|
+
#
|
|
1651
|
+
# @!attribute [rw] value
|
|
1652
|
+
# The value for a session tag.
|
|
1653
|
+
#
|
|
1654
|
+
# You can pass up to 50 session tags. The plain text session tag
|
|
1655
|
+
# values can’t exceed 256 characters. For these and additional limits,
|
|
1656
|
+
# see [IAM and STS Character Limits][1] in the *IAM User Guide*.
|
|
1657
|
+
#
|
|
1658
|
+
#
|
|
1659
|
+
#
|
|
1660
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
|
|
1661
|
+
# @return [String]
|
|
1662
|
+
#
|
|
1663
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/Tag AWS API Documentation
|
|
1664
|
+
#
|
|
1665
|
+
class Tag < Struct.new(
|
|
1666
|
+
:key,
|
|
1667
|
+
:value)
|
|
1668
|
+
SENSITIVE = []
|
|
940
1669
|
include Aws::Structure
|
|
941
1670
|
end
|
|
942
1671
|
|