aws-sdk-core 3.185.1 → 3.214.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +409 -0
- data/VERSION +1 -1
- data/lib/aws-defaults/default_configuration.rb +1 -2
- data/lib/aws-defaults.rb +4 -1
- data/lib/aws-sdk-core/assume_role_credentials.rb +12 -5
- data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +13 -7
- data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
- data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
- data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
- data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
- data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
- data/lib/aws-sdk-core/cbor/decoder.rb +310 -0
- data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
- data/lib/aws-sdk-core/cbor.rb +53 -0
- data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
- data/lib/aws-sdk-core/client_stubs.rb +23 -19
- data/lib/aws-sdk-core/credential_provider.rb +1 -1
- data/lib/aws-sdk-core/credential_provider_chain.rb +13 -6
- data/lib/aws-sdk-core/credentials.rb +13 -6
- data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
- data/lib/aws-sdk-core/ecs_credentials.rb +78 -11
- data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
- data/lib/aws-sdk-core/endpoints/matchers.rb +6 -9
- data/lib/aws-sdk-core/endpoints.rb +74 -18
- data/lib/aws-sdk-core/error_handler.rb +41 -0
- data/lib/aws-sdk-core/errors.rb +11 -2
- data/lib/aws-sdk-core/event_emitter.rb +0 -16
- data/lib/aws-sdk-core/instance_profile_credentials.rb +55 -32
- data/lib/aws-sdk-core/json/builder.rb +8 -1
- data/lib/aws-sdk-core/json/error_handler.rb +17 -11
- data/lib/aws-sdk-core/json/handler.rb +13 -6
- data/lib/aws-sdk-core/json/json_engine.rb +3 -1
- data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
- data/lib/aws-sdk-core/json/parser.rb +32 -2
- data/lib/aws-sdk-core/json.rb +43 -14
- data/lib/aws-sdk-core/log/param_filter.rb +2 -2
- data/lib/aws-sdk-core/log.rb +10 -0
- data/lib/aws-sdk-core/lru_cache.rb +75 -0
- data/lib/aws-sdk-core/pageable_response.rb +1 -1
- data/lib/aws-sdk-core/param_validator.rb +7 -2
- data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
- data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +6 -3
- data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -0
- data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
- data/lib/aws-sdk-core/plugins/credentials_configuration.rb +9 -3
- data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
- data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -1
- data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
- data/lib/aws-sdk-core/plugins/logging.rb +2 -0
- data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
- data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
- data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
- data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
- data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
- data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
- data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
- data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -25
- data/lib/aws-sdk-core/plugins/request_compression.rb +11 -2
- data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
- data/lib/aws-sdk-core/plugins/sign.rb +27 -15
- data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
- data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
- data/lib/aws-sdk-core/plugins/stub_responses.rb +30 -2
- data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
- data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
- data/lib/aws-sdk-core/plugins/user_agent.rb +70 -26
- data/lib/aws-sdk-core/plugins.rb +39 -0
- data/lib/aws-sdk-core/process_credentials.rb +47 -28
- data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
- data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
- data/lib/aws-sdk-core/query/handler.rb +4 -4
- data/lib/aws-sdk-core/query/param_builder.rb +2 -2
- data/lib/aws-sdk-core/query.rb +2 -1
- data/lib/aws-sdk-core/refreshing_credentials.rb +12 -6
- data/lib/aws-sdk-core/resources.rb +8 -0
- data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
- data/lib/aws-sdk-core/rest/handler.rb +3 -4
- data/lib/aws-sdk-core/rest/request/body.rb +32 -5
- data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
- data/lib/aws-sdk-core/rest/request/headers.rb +14 -6
- data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
- data/lib/aws-sdk-core/rest/response/body.rb +15 -1
- data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
- data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
- data/lib/aws-sdk-core/rest.rb +1 -0
- data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
- data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
- data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
- data/lib/aws-sdk-core/rpc_v2/error_handler.rb +85 -0
- data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
- data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
- data/lib/aws-sdk-core/rpc_v2.rb +69 -0
- data/lib/aws-sdk-core/shared_config.rb +7 -2
- data/lib/aws-sdk-core/shared_credentials.rb +0 -7
- data/lib/aws-sdk-core/sso_credentials.rb +2 -1
- data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
- data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
- data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
- data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
- data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
- data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
- data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
- data/lib/aws-sdk-core/stubbing.rb +22 -0
- data/lib/aws-sdk-core/telemetry/base.rb +177 -0
- data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
- data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
- data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
- data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
- data/lib/aws-sdk-core/telemetry.rb +78 -0
- data/lib/aws-sdk-core/util.rb +39 -0
- data/lib/aws-sdk-core/waiters/poller.rb +10 -5
- data/lib/aws-sdk-core/xml/builder.rb +17 -9
- data/lib/aws-sdk-core/xml/error_handler.rb +32 -42
- data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
- data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
- data/lib/aws-sdk-core/xml/parser.rb +2 -6
- data/lib/aws-sdk-core.rb +82 -107
- data/lib/aws-sdk-sso/client.rb +119 -55
- data/lib/aws-sdk-sso/client_api.rb +7 -0
- data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
- data/lib/aws-sdk-sso/endpoints.rb +2 -54
- data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
- data/lib/aws-sdk-sso/types.rb +1 -0
- data/lib/aws-sdk-sso.rb +15 -11
- data/lib/aws-sdk-ssooidc/client.rb +504 -83
- data/lib/aws-sdk-ssooidc/client_api.rb +83 -1
- data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
- data/lib/aws-sdk-ssooidc/endpoint_provider.rb +2 -2
- data/lib/aws-sdk-ssooidc/endpoints.rb +2 -40
- data/lib/aws-sdk-ssooidc/errors.rb +52 -0
- data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
- data/lib/aws-sdk-ssooidc/types.rb +373 -51
- data/lib/aws-sdk-ssooidc.rb +15 -11
- data/lib/aws-sdk-sts/client.rb +334 -105
- data/lib/aws-sdk-sts/client_api.rb +36 -10
- data/lib/aws-sdk-sts/customizations.rb +5 -1
- data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
- data/lib/aws-sdk-sts/endpoint_provider.rb +2 -2
- data/lib/aws-sdk-sts/endpoints.rb +2 -118
- data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
- data/lib/aws-sdk-sts/presigner.rb +1 -1
- data/lib/aws-sdk-sts/types.rb +188 -30
- data/lib/aws-sdk-sts.rb +15 -11
- data/lib/seahorse/client/async_base.rb +1 -1
- data/lib/seahorse/client/async_response.rb +19 -0
- data/lib/seahorse/client/base.rb +18 -7
- data/lib/seahorse/client/h2/handler.rb +14 -3
- data/lib/seahorse/client/handler.rb +1 -1
- data/lib/seahorse/client/net_http/connection_pool.rb +11 -11
- data/lib/seahorse/client/net_http/handler.rb +21 -9
- data/lib/seahorse/client/net_http/patches.rb +1 -4
- data/lib/seahorse/client/plugin.rb +9 -0
- data/lib/seahorse/client/plugins/endpoint.rb +0 -1
- data/lib/seahorse/client/plugins/h2.rb +3 -3
- data/lib/seahorse/client/plugins/net_http.rb +57 -16
- data/lib/seahorse/client/request_context.rb +8 -1
- data/lib/seahorse/model/shapes.rb +2 -2
- data/sig/aws-sdk-core/client_stubs.rbs +10 -0
- data/sig/aws-sdk-core/errors.rbs +22 -0
- data/sig/aws-sdk-core/resources/collection.rbs +21 -0
- data/sig/aws-sdk-core/structure.rbs +4 -0
- data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
- data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
- data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
- data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
- data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
- data/sig/aws-sdk-core.rbs +7 -0
- data/sig/seahorse/client/base.rbs +25 -0
- data/sig/seahorse/client/handler_builder.rbs +16 -0
- data/sig/seahorse/client/response.rbs +61 -0
- metadata +61 -19
- /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
- /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
data/lib/aws-sdk-sts/types.rb
CHANGED
@@ -26,10 +26,21 @@ module Aws::STS
|
|
26
26
|
# that use the temporary security credentials will expose the role
|
27
27
|
# session name to the external account in their CloudTrail logs.
|
28
28
|
#
|
29
|
+
# For security purposes, administrators can view this field in
|
30
|
+
# [CloudTrail logs][1] to help identify who performed an action in
|
31
|
+
# Amazon Web Services. Your administrator might require that you
|
32
|
+
# specify your user name as the session name when you assume the role.
|
33
|
+
# For more information, see [ `sts:RoleSessionName` ][2].
|
34
|
+
#
|
29
35
|
# The regex used to validate this parameter is a string of characters
|
30
36
|
# consisting of upper- and lower-case alphanumeric characters with no
|
31
37
|
# spaces. You can also include underscores or any of the following
|
32
38
|
# characters: =,.@-
|
39
|
+
#
|
40
|
+
#
|
41
|
+
#
|
42
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html#cloudtrail-integration_signin-tempcreds
|
43
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname
|
33
44
|
# @return [String]
|
34
45
|
#
|
35
46
|
# @!attribute [rw] policy_arns
|
@@ -101,6 +112,9 @@ module Aws::STS
|
|
101
112
|
#
|
102
113
|
# </note>
|
103
114
|
#
|
115
|
+
# For more information about role session permissions, see [Session
|
116
|
+
# policies][1].
|
117
|
+
#
|
104
118
|
#
|
105
119
|
#
|
106
120
|
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
|
@@ -125,8 +139,7 @@ module Aws::STS
|
|
125
139
|
# However, if you assume a role using role chaining and provide a
|
126
140
|
# `DurationSeconds` parameter value greater than one hour, the
|
127
141
|
# operation fails. To learn how to view the maximum value for your
|
128
|
-
# role, see [
|
129
|
-
# in the *IAM User Guide*.
|
142
|
+
# role, see [Update the maximum session duration for a role][1].
|
130
143
|
#
|
131
144
|
# By default, the value is set to `3600` seconds.
|
132
145
|
#
|
@@ -142,7 +155,7 @@ module Aws::STS
|
|
142
155
|
#
|
143
156
|
#
|
144
157
|
#
|
145
|
-
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/
|
158
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-settings.html#id_roles_update-session-duration
|
146
159
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
147
160
|
# @return [Integer]
|
148
161
|
#
|
@@ -199,9 +212,8 @@ module Aws::STS
|
|
199
212
|
# passes to subsequent sessions in a role chain. For more information,
|
200
213
|
# see [Chaining Roles with Session Tags][1] in the *IAM User Guide*.
|
201
214
|
#
|
202
|
-
# This parameter is optional.
|
203
|
-
#
|
204
|
-
# affected.
|
215
|
+
# This parameter is optional. The transitive status of a session tag
|
216
|
+
# does not impact its packed binary size.
|
205
217
|
#
|
206
218
|
# If you choose not to specify a transitive tag key, then no tags are
|
207
219
|
# passed from this session to any subsequent sessions.
|
@@ -263,17 +275,18 @@ module Aws::STS
|
|
263
275
|
#
|
264
276
|
# @!attribute [rw] source_identity
|
265
277
|
# The source identity specified by the principal that is calling the
|
266
|
-
# `AssumeRole` operation.
|
278
|
+
# `AssumeRole` operation. The source identity value persists across
|
279
|
+
# [chained role][1] sessions.
|
267
280
|
#
|
268
281
|
# You can require users to specify a source identity when they assume
|
269
|
-
# a role. You do this by using the `sts:SourceIdentity`
|
270
|
-
# in a role trust policy. You can use source identity
|
271
|
-
# CloudTrail logs to determine who took actions with a
|
272
|
-
# use the `aws:SourceIdentity` condition key to further
|
273
|
-
# to Amazon Web Services resources based on the value
|
274
|
-
# identity. For more information about using source
|
275
|
-
# [Monitor and control actions taken with assumed
|
276
|
-
# *IAM User Guide*.
|
282
|
+
# a role. You do this by using the [ `sts:SourceIdentity` ][2]
|
283
|
+
# condition key in a role trust policy. You can use source identity
|
284
|
+
# information in CloudTrail logs to determine who took actions with a
|
285
|
+
# role. You can use the `aws:SourceIdentity` condition key to further
|
286
|
+
# control access to Amazon Web Services resources based on the value
|
287
|
+
# of source identity. For more information about using source
|
288
|
+
# identity, see [Monitor and control actions taken with assumed
|
289
|
+
# roles][3] in the *IAM User Guide*.
|
277
290
|
#
|
278
291
|
# The regex used to validate this parameter is a string of characters
|
279
292
|
# consisting of upper- and lower-case alphanumeric characters with no
|
@@ -284,11 +297,22 @@ module Aws::STS
|
|
284
297
|
#
|
285
298
|
#
|
286
299
|
#
|
287
|
-
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/
|
300
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-role-chaining
|
301
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceidentity
|
302
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
|
288
303
|
# @return [String]
|
289
304
|
#
|
290
305
|
# @!attribute [rw] provided_contexts
|
291
|
-
#
|
306
|
+
# A list of previously acquired trusted context assertions in the
|
307
|
+
# format of a JSON array. The trusted context assertion is signed and
|
308
|
+
# encrypted by Amazon Web Services STS.
|
309
|
+
#
|
310
|
+
# The following is an example of a `ProvidedContext` value that
|
311
|
+
# includes a single trusted context assertion and the ARN of the
|
312
|
+
# context provider from which the trusted context assertion was
|
313
|
+
# generated.
|
314
|
+
#
|
315
|
+
# `[{"ProviderArn":"arn:aws:iam::aws:contextProvider/IdentityCenter","ContextAssertion":"trusted-context-assertion"}]`
|
292
316
|
# @return [Array<Types::ProvidedContext>]
|
293
317
|
#
|
294
318
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest AWS API Documentation
|
@@ -456,6 +480,9 @@ module Aws::STS
|
|
456
480
|
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
457
481
|
# (\\u000D) characters.
|
458
482
|
#
|
483
|
+
# For more information about role session permissions, see [Session
|
484
|
+
# policies][1].
|
485
|
+
#
|
459
486
|
# <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
|
460
487
|
# session policy, managed policy ARNs, and session tags into a packed
|
461
488
|
# binary format that has a separate limit. Your request can fail for
|
@@ -591,6 +618,8 @@ module Aws::STS
|
|
591
618
|
#
|
592
619
|
# @!attribute [rw] source_identity
|
593
620
|
# The value in the `SourceIdentity` attribute in the SAML assertion.
|
621
|
+
# The source identity value persists across [chained role][1]
|
622
|
+
# sessions.
|
594
623
|
#
|
595
624
|
# You can require users to set a source identity value when they
|
596
625
|
# assume a role. You do this by using the `sts:SourceIdentity`
|
@@ -598,12 +627,12 @@ module Aws::STS
|
|
598
627
|
# taken with the role are associated with that user. After the source
|
599
628
|
# identity is set, the value cannot be changed. It is present in the
|
600
629
|
# request for all actions that are taken by the role and persists
|
601
|
-
# across [chained role][
|
630
|
+
# across [chained role][2] sessions. You can configure your SAML
|
602
631
|
# identity provider to use an attribute associated with your users,
|
603
632
|
# like user name or email, as the source identity when calling
|
604
633
|
# `AssumeRoleWithSAML`. You do this by adding an attribute to the SAML
|
605
634
|
# assertion. For more information about using source identity, see
|
606
|
-
# [Monitor and control actions taken with assumed roles][
|
635
|
+
# [Monitor and control actions taken with assumed roles][3] in the
|
607
636
|
# *IAM User Guide*.
|
608
637
|
#
|
609
638
|
# The regex used to validate this parameter is a string of characters
|
@@ -613,8 +642,9 @@ module Aws::STS
|
|
613
642
|
#
|
614
643
|
#
|
615
644
|
#
|
616
|
-
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/
|
617
|
-
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/
|
645
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-role-chaining
|
646
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts
|
647
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
|
618
648
|
# @return [String]
|
619
649
|
#
|
620
650
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse AWS API Documentation
|
@@ -636,6 +666,24 @@ module Aws::STS
|
|
636
666
|
# @!attribute [rw] role_arn
|
637
667
|
# The Amazon Resource Name (ARN) of the role that the caller is
|
638
668
|
# assuming.
|
669
|
+
#
|
670
|
+
# <note markdown="1"> Additional considerations apply to Amazon Cognito identity pools
|
671
|
+
# that assume [cross-account IAM roles][1]. The trust policies of
|
672
|
+
# these roles must accept the `cognito-identity.amazonaws.com` service
|
673
|
+
# principal and must contain the `cognito-identity.amazonaws.com:aud`
|
674
|
+
# condition key to restrict role assumption to users from your
|
675
|
+
# intended identity pools. A policy that trusts Amazon Cognito
|
676
|
+
# identity pools without this condition creates a risk that a user
|
677
|
+
# from an unintended identity pool can assume the role. For more
|
678
|
+
# information, see [ Trust policies for IAM roles in Basic (Classic)
|
679
|
+
# authentication ][2] in the *Amazon Cognito Developer Guide*.
|
680
|
+
#
|
681
|
+
# </note>
|
682
|
+
#
|
683
|
+
#
|
684
|
+
#
|
685
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html
|
686
|
+
# [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#trust-policies
|
639
687
|
# @return [String]
|
640
688
|
#
|
641
689
|
# @!attribute [rw] role_session_name
|
@@ -646,10 +694,21 @@ module Aws::STS
|
|
646
694
|
# session name is included as part of the ARN and assumed role ID in
|
647
695
|
# the `AssumedRoleUser` response element.
|
648
696
|
#
|
697
|
+
# For security purposes, administrators can view this field in
|
698
|
+
# [CloudTrail logs][1] to help identify who performed an action in
|
699
|
+
# Amazon Web Services. Your administrator might require that you
|
700
|
+
# specify your user name as the session name when you assume the role.
|
701
|
+
# For more information, see [ `sts:RoleSessionName` ][2].
|
702
|
+
#
|
649
703
|
# The regex used to validate this parameter is a string of characters
|
650
704
|
# consisting of upper- and lower-case alphanumeric characters with no
|
651
705
|
# spaces. You can also include underscores or any of the following
|
652
706
|
# characters: =,.@-
|
707
|
+
#
|
708
|
+
#
|
709
|
+
#
|
710
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html#cloudtrail-integration_signin-tempcreds
|
711
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname
|
653
712
|
# @return [String]
|
654
713
|
#
|
655
714
|
# @!attribute [rw] web_identity_token
|
@@ -657,8 +716,9 @@ module Aws::STS
|
|
657
716
|
# provided by the identity provider. Your application must get this
|
658
717
|
# token by authenticating the user who is using your application with
|
659
718
|
# a web identity provider before the application makes an
|
660
|
-
# `AssumeRoleWithWebIdentity` call.
|
661
|
-
#
|
719
|
+
# `AssumeRoleWithWebIdentity` call. Timestamps in the token must be
|
720
|
+
# formatted as either an integer or a long integer. Only tokens with
|
721
|
+
# RSA algorithms (RS256) are supported.
|
662
722
|
# @return [String]
|
663
723
|
#
|
664
724
|
# @!attribute [rw] provider_id
|
@@ -732,6 +792,9 @@ module Aws::STS
|
|
732
792
|
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
733
793
|
# (\\u000D) characters.
|
734
794
|
#
|
795
|
+
# For more information about role session permissions, see [Session
|
796
|
+
# policies][1].
|
797
|
+
#
|
735
798
|
# <note markdown="1"> An Amazon Web Services conversion compresses the passed inline
|
736
799
|
# session policy, managed policy ARNs, and session tags into a packed
|
737
800
|
# binary format that has a separate limit. Your request can fail for
|
@@ -872,7 +935,7 @@ module Aws::STS
|
|
872
935
|
#
|
873
936
|
#
|
874
937
|
#
|
875
|
-
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts
|
938
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts
|
876
939
|
# [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html
|
877
940
|
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
|
878
941
|
# @return [String]
|
@@ -891,6 +954,94 @@ module Aws::STS
|
|
891
954
|
include Aws::Structure
|
892
955
|
end
|
893
956
|
|
957
|
+
# @!attribute [rw] target_principal
|
958
|
+
# The member account principal ARN or account ID.
|
959
|
+
# @return [String]
|
960
|
+
#
|
961
|
+
# @!attribute [rw] task_policy_arn
|
962
|
+
# The identity based policy that scopes the session to the privileged
|
963
|
+
# tasks that can be performed. You can use one of following Amazon Web
|
964
|
+
# Services managed policies to scope root session actions. You can add
|
965
|
+
# additional customer managed policies to further limit the
|
966
|
+
# permissions for the root session.
|
967
|
+
#
|
968
|
+
# * [IAMAuditRootUserCredentials][1]
|
969
|
+
#
|
970
|
+
# * [IAMCreateRootUserPassword][2]
|
971
|
+
#
|
972
|
+
# * [IAMDeleteRootUserCredentials][3]
|
973
|
+
#
|
974
|
+
# * [S3UnlockBucketPolicy][4]
|
975
|
+
#
|
976
|
+
# * [SQSUnlockQueuePolicy][5]
|
977
|
+
#
|
978
|
+
#
|
979
|
+
#
|
980
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMAuditRootUserCredentials
|
981
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMCreateRootUserPassword
|
982
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-IAMDeleteRootUserCredentials
|
983
|
+
# [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-S3UnlockBucketPolicy
|
984
|
+
# [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/security-iam-awsmanpol.html#security-iam-awsmanpol-SQSUnlockQueuePolicy
|
985
|
+
# @return [Types::PolicyDescriptorType]
|
986
|
+
#
|
987
|
+
# @!attribute [rw] duration_seconds
|
988
|
+
# The duration, in seconds, of the privileged session. The value can
|
989
|
+
# range from 0 seconds up to the maximum session duration of 900
|
990
|
+
# seconds (15 minutes). If you specify a value higher than this
|
991
|
+
# setting, the operation fails.
|
992
|
+
#
|
993
|
+
# By default, the value is set to `900` seconds.
|
994
|
+
# @return [Integer]
|
995
|
+
#
|
996
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRootRequest AWS API Documentation
|
997
|
+
#
|
998
|
+
class AssumeRootRequest < Struct.new(
|
999
|
+
:target_principal,
|
1000
|
+
:task_policy_arn,
|
1001
|
+
:duration_seconds)
|
1002
|
+
SENSITIVE = []
|
1003
|
+
include Aws::Structure
|
1004
|
+
end
|
1005
|
+
|
1006
|
+
# @!attribute [rw] credentials
|
1007
|
+
# The temporary security credentials, which include an access key ID,
|
1008
|
+
# a secret access key, and a security token.
|
1009
|
+
#
|
1010
|
+
# <note markdown="1"> The size of the security token that STS API operations return is not
|
1011
|
+
# fixed. We strongly recommend that you make no assumptions about the
|
1012
|
+
# maximum size.
|
1013
|
+
#
|
1014
|
+
# </note>
|
1015
|
+
# @return [Types::Credentials]
|
1016
|
+
#
|
1017
|
+
# @!attribute [rw] source_identity
|
1018
|
+
# The source identity specified by the principal that is calling the
|
1019
|
+
# `AssumeRoot` operation.
|
1020
|
+
#
|
1021
|
+
# You can use the `aws:SourceIdentity` condition key to control access
|
1022
|
+
# based on the value of source identity. For more information about
|
1023
|
+
# using source identity, see [Monitor and control actions taken with
|
1024
|
+
# assumed roles][1] in the *IAM User Guide*.
|
1025
|
+
#
|
1026
|
+
# The regex used to validate this parameter is a string of characters
|
1027
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
1028
|
+
# spaces. You can also include underscores or any of the following
|
1029
|
+
# characters: =,.@-
|
1030
|
+
#
|
1031
|
+
#
|
1032
|
+
#
|
1033
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html
|
1034
|
+
# @return [String]
|
1035
|
+
#
|
1036
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRootResponse AWS API Documentation
|
1037
|
+
#
|
1038
|
+
class AssumeRootResponse < Struct.new(
|
1039
|
+
:credentials,
|
1040
|
+
:source_identity)
|
1041
|
+
SENSITIVE = []
|
1042
|
+
include Aws::Structure
|
1043
|
+
end
|
1044
|
+
|
894
1045
|
# The identifiers for the temporary security credentials that the
|
895
1046
|
# operation returns.
|
896
1047
|
#
|
@@ -1410,7 +1561,8 @@ module Aws::STS
|
|
1410
1561
|
|
1411
1562
|
# The error returned if the message passed to
|
1412
1563
|
# `DecodeAuthorizationMessage` was invalid. This can happen if the token
|
1413
|
-
# contains invalid characters, such as
|
1564
|
+
# contains invalid characters, such as line breaks, or if the message
|
1565
|
+
# has expired.
|
1414
1566
|
#
|
1415
1567
|
# @!attribute [rw] message
|
1416
1568
|
# @return [String]
|
@@ -1503,14 +1655,19 @@ module Aws::STS
|
|
1503
1655
|
include Aws::Structure
|
1504
1656
|
end
|
1505
1657
|
|
1506
|
-
#
|
1658
|
+
# Contains information about the provided context. This includes the
|
1659
|
+
# signed and encrypted trusted context assertion and the context
|
1660
|
+
# provider ARN from which the trusted context assertion was generated.
|
1507
1661
|
#
|
1508
1662
|
# @!attribute [rw] provider_arn
|
1509
|
-
#
|
1663
|
+
# The context provider ARN from which the trusted context assertion
|
1664
|
+
# was generated.
|
1510
1665
|
# @return [String]
|
1511
1666
|
#
|
1512
1667
|
# @!attribute [rw] context_assertion
|
1513
|
-
#
|
1668
|
+
# The signed and encrypted trusted context assertion generated by the
|
1669
|
+
# context provider. The trusted context assertion is signed and
|
1670
|
+
# encrypted by Amazon Web Services STS.
|
1514
1671
|
# @return [String]
|
1515
1672
|
#
|
1516
1673
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/ProvidedContext AWS API Documentation
|
@@ -1525,8 +1682,8 @@ module Aws::STS
|
|
1525
1682
|
# STS is not activated in the requested region for the account that is
|
1526
1683
|
# being asked to generate credentials. The account administrator must
|
1527
1684
|
# use the IAM console to activate STS in that region. For more
|
1528
|
-
# information, see [Activating and Deactivating Amazon Web
|
1529
|
-
#
|
1685
|
+
# information, see [Activating and Deactivating STS in an Amazon Web
|
1686
|
+
# Services Region][1] in the *IAM User Guide*.
|
1530
1687
|
#
|
1531
1688
|
#
|
1532
1689
|
#
|
@@ -1588,3 +1745,4 @@ module Aws::STS
|
|
1588
1745
|
|
1589
1746
|
end
|
1590
1747
|
end
|
1748
|
+
|
data/lib/aws-sdk-sts.rb
CHANGED
@@ -13,16 +13,7 @@ unless Module.const_defined?(:Aws)
|
|
13
13
|
require 'aws-sigv4'
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
require_relative 'aws-sdk-sts/client_api'
|
18
|
-
require_relative 'aws-sdk-sts/plugins/endpoints.rb'
|
19
|
-
require_relative 'aws-sdk-sts/client'
|
20
|
-
require_relative 'aws-sdk-sts/errors'
|
21
|
-
require_relative 'aws-sdk-sts/resource'
|
22
|
-
require_relative 'aws-sdk-sts/endpoint_parameters'
|
23
|
-
require_relative 'aws-sdk-sts/endpoint_provider'
|
24
|
-
require_relative 'aws-sdk-sts/endpoints'
|
25
|
-
require_relative 'aws-sdk-sts/customizations'
|
16
|
+
Aws::Plugins::GlobalConfiguration.add_identifier(:sts)
|
26
17
|
|
27
18
|
# This module provides support for AWS Security Token Service. This module is available in the
|
28
19
|
# `aws-sdk-core` gem.
|
@@ -53,7 +44,20 @@ require_relative 'aws-sdk-sts/customizations'
|
|
53
44
|
#
|
54
45
|
# @!group service
|
55
46
|
module Aws::STS
|
47
|
+
autoload :Types, 'aws-sdk-sts/types'
|
48
|
+
autoload :ClientApi, 'aws-sdk-sts/client_api'
|
49
|
+
module Plugins
|
50
|
+
autoload :Endpoints, 'aws-sdk-sts/plugins/endpoints.rb'
|
51
|
+
end
|
52
|
+
autoload :Client, 'aws-sdk-sts/client'
|
53
|
+
autoload :Errors, 'aws-sdk-sts/errors'
|
54
|
+
autoload :Resource, 'aws-sdk-sts/resource'
|
55
|
+
autoload :EndpointParameters, 'aws-sdk-sts/endpoint_parameters'
|
56
|
+
autoload :EndpointProvider, 'aws-sdk-sts/endpoint_provider'
|
57
|
+
autoload :Endpoints, 'aws-sdk-sts/endpoints'
|
56
58
|
|
57
|
-
GEM_VERSION = '3.
|
59
|
+
GEM_VERSION = '3.214.0'
|
58
60
|
|
59
61
|
end
|
62
|
+
|
63
|
+
require_relative 'aws-sdk-sts/customizations'
|
@@ -5,12 +5,12 @@ module Seahorse
|
|
5
5
|
class AsyncBase < Seahorse::Client::Base
|
6
6
|
|
7
7
|
# default H2 plugins
|
8
|
+
# @api private
|
8
9
|
@plugins = PluginList.new([
|
9
10
|
Plugins::Endpoint,
|
10
11
|
Plugins::H2,
|
11
12
|
Plugins::ResponseTarget
|
12
13
|
])
|
13
|
-
|
14
14
|
def initialize(plugins, options)
|
15
15
|
super
|
16
16
|
@connection = H2::Connection.new(options)
|
@@ -12,24 +12,43 @@ module Seahorse
|
|
12
12
|
@sync_queue = options[:sync_queue]
|
13
13
|
end
|
14
14
|
|
15
|
+
# @return [RequestContext]
|
15
16
|
def context
|
16
17
|
@response.context
|
17
18
|
end
|
18
19
|
|
20
|
+
# @return [StandardError, nil]
|
19
21
|
def error
|
20
22
|
@response.error
|
21
23
|
end
|
22
24
|
|
25
|
+
# @overload on(status_code, &block)
|
26
|
+
# @param [Integer] status_code The block will be
|
27
|
+
# triggered only for responses with the given status code.
|
28
|
+
#
|
29
|
+
# @overload on(status_code_range, &block)
|
30
|
+
# @param [Range<Integer>] status_code_range The block will be
|
31
|
+
# triggered only for responses with a status code that falls
|
32
|
+
# witin the given range.
|
33
|
+
#
|
34
|
+
# @return [self]
|
23
35
|
def on(range, &block)
|
24
36
|
@response.on(range, &block)
|
25
37
|
self
|
26
38
|
end
|
27
39
|
|
40
|
+
# @api private
|
28
41
|
def on_complete(&block)
|
29
42
|
@response.on_complete(&block)
|
30
43
|
self
|
31
44
|
end
|
32
45
|
|
46
|
+
# @return [Boolean] Returns `true` if the response is complete with
|
47
|
+
# no error.
|
48
|
+
def successful?
|
49
|
+
@response.error.nil?
|
50
|
+
end
|
51
|
+
|
33
52
|
def wait
|
34
53
|
if error && context.config.raise_response_errors
|
35
54
|
raise error
|
data/lib/seahorse/client/base.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'thread'
|
4
|
-
|
5
3
|
module Seahorse
|
6
4
|
module Client
|
7
5
|
class Base
|
@@ -9,6 +7,7 @@ module Seahorse
|
|
9
7
|
include HandlerBuilder
|
10
8
|
|
11
9
|
# default plugins
|
10
|
+
# @api private
|
12
11
|
@plugins = PluginList.new([
|
13
12
|
Plugins::Endpoint,
|
14
13
|
Plugins::NetHttp,
|
@@ -59,6 +58,7 @@ module Seahorse
|
|
59
58
|
def build_config(plugins, options)
|
60
59
|
config = Configuration.new
|
61
60
|
config.add_option(:api)
|
61
|
+
config.add_option(:plugins)
|
62
62
|
plugins.each do |plugin|
|
63
63
|
plugin.add_options(config) if plugin.respond_to?(:add_options)
|
64
64
|
end
|
@@ -95,9 +95,9 @@ module Seahorse
|
|
95
95
|
class << self
|
96
96
|
|
97
97
|
def new(options = {})
|
98
|
-
plugins = build_plugins
|
99
98
|
options = options.dup
|
100
|
-
|
99
|
+
plugins = build_plugins(self.plugins + options.fetch(:plugins, []))
|
100
|
+
plugins = before_initialize(plugins, options)
|
101
101
|
client = allocate
|
102
102
|
client.send(:initialize, plugins, options)
|
103
103
|
client
|
@@ -208,17 +208,28 @@ module Seahorse
|
|
208
208
|
include(operations_module)
|
209
209
|
end
|
210
210
|
|
211
|
-
def build_plugins
|
211
|
+
def build_plugins(plugins)
|
212
212
|
plugins.map { |plugin| plugin.is_a?(Class) ? plugin.new : plugin }
|
213
213
|
end
|
214
214
|
|
215
215
|
def before_initialize(plugins, options)
|
216
|
-
|
217
|
-
|
216
|
+
queue = Queue.new
|
217
|
+
plugins.each { |plugin| queue.push(plugin) }
|
218
|
+
until queue.empty?
|
219
|
+
plugin = queue.pop
|
220
|
+
next unless plugin.respond_to?(:before_initialize)
|
221
|
+
|
222
|
+
plugins_before = options.fetch(:plugins, [])
|
223
|
+
plugin.before_initialize(self, options)
|
224
|
+
plugins_after = build_plugins(options.fetch(:plugins, []) - plugins_before)
|
225
|
+
# Plugins with before_initialize can add other plugins
|
226
|
+
plugins_after.each { |p| queue.push(p); plugins << p }
|
218
227
|
end
|
228
|
+
plugins
|
219
229
|
end
|
220
230
|
|
221
231
|
def inherited(subclass)
|
232
|
+
super
|
222
233
|
subclass.instance_variable_set('@plugins', PluginList.new(@plugins))
|
223
234
|
end
|
224
235
|
|
@@ -27,6 +27,12 @@ module Seahorse
|
|
27
27
|
class Handler < Client::Handler
|
28
28
|
|
29
29
|
def call(context)
|
30
|
+
span_wrapper(context) { _call(context) }
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def _call(context)
|
30
36
|
stream = nil
|
31
37
|
begin
|
32
38
|
conn = context.client.connection
|
@@ -80,8 +86,6 @@ module Seahorse
|
|
80
86
|
)
|
81
87
|
end
|
82
88
|
|
83
|
-
private
|
84
|
-
|
85
89
|
def _register_callbacks(resp, stream, stream_mutex, close_condition, sync_queue)
|
86
90
|
stream.on(:headers) do |headers|
|
87
91
|
resp.signal_headers(headers)
|
@@ -126,6 +130,7 @@ module Seahorse
|
|
126
130
|
# https://http2.github.io/http2-spec/#rfc.section.8.1.2.3
|
127
131
|
def _h2_headers(req)
|
128
132
|
headers = {}
|
133
|
+
headers[':authority'] = req.endpoint.host
|
129
134
|
headers[':method'] = req.http_method.upcase
|
130
135
|
headers[':scheme'] = req.endpoint.scheme
|
131
136
|
headers[':path'] = req.endpoint.path.empty? ? '/' : req.endpoint.path
|
@@ -145,8 +150,14 @@ module Seahorse
|
|
145
150
|
end
|
146
151
|
end
|
147
152
|
|
153
|
+
def span_wrapper(context, &block)
|
154
|
+
context.tracer.in_span(
|
155
|
+
'Handler.H2',
|
156
|
+
attributes: Aws::Telemetry.http_request_attrs(context),
|
157
|
+
&block
|
158
|
+
)
|
159
|
+
end
|
148
160
|
end
|
149
|
-
|
150
161
|
end
|
151
162
|
end
|
152
163
|
end
|
@@ -34,7 +34,9 @@ module Seahorse
|
|
34
34
|
ssl_ca_bundle: nil,
|
35
35
|
ssl_ca_directory: nil,
|
36
36
|
ssl_ca_store: nil,
|
37
|
-
ssl_timeout: nil
|
37
|
+
ssl_timeout: nil,
|
38
|
+
ssl_cert: nil,
|
39
|
+
ssl_key: nil
|
38
40
|
}
|
39
41
|
|
40
42
|
# @api private
|
@@ -119,11 +121,7 @@ module Seahorse
|
|
119
121
|
# pool, not counting those currently in use.
|
120
122
|
def size
|
121
123
|
@pool_mutex.synchronize do
|
122
|
-
size
|
123
|
-
@pool.each_pair do |endpoint,sessions|
|
124
|
-
size += sessions.size
|
125
|
-
end
|
126
|
-
size
|
124
|
+
@pool.values.flatten.size
|
127
125
|
end
|
128
126
|
end
|
129
127
|
|
@@ -142,9 +140,7 @@ module Seahorse
|
|
142
140
|
# @return [nil]
|
143
141
|
def empty!
|
144
142
|
@pool_mutex.synchronize do
|
145
|
-
@pool.
|
146
|
-
sessions.each(&:finish)
|
147
|
-
end
|
143
|
+
@pool.values.flatten.map(&:finish)
|
148
144
|
@pool.clear
|
149
145
|
end
|
150
146
|
nil
|
@@ -252,7 +248,9 @@ module Seahorse
|
|
252
248
|
:ssl_ca_bundle => options[:ssl_ca_bundle],
|
253
249
|
:ssl_ca_directory => options[:ssl_ca_directory],
|
254
250
|
:ssl_ca_store => options[:ssl_ca_store],
|
255
|
-
:ssl_timeout => options[:ssl_timeout]
|
251
|
+
:ssl_timeout => options[:ssl_timeout],
|
252
|
+
:ssl_cert => options[:ssl_cert],
|
253
|
+
:ssl_key => options[:ssl_key]
|
256
254
|
}
|
257
255
|
end
|
258
256
|
|
@@ -297,6 +295,8 @@ module Seahorse
|
|
297
295
|
http.ca_file = ssl_ca_bundle if ssl_ca_bundle
|
298
296
|
http.ca_path = ssl_ca_directory if ssl_ca_directory
|
299
297
|
http.cert_store = ssl_ca_store if ssl_ca_store
|
298
|
+
http.cert = ssl_cert if ssl_cert
|
299
|
+
http.key = ssl_key if ssl_key
|
300
300
|
else
|
301
301
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
302
302
|
end
|
@@ -312,7 +312,7 @@ module Seahorse
|
|
312
312
|
# @note **Must** be called behind a `@pool_mutex` synchronize block.
|
313
313
|
def _clean
|
314
314
|
now = Aws::Util.monotonic_milliseconds
|
315
|
-
@pool.
|
315
|
+
@pool.values.each do |sessions|
|
316
316
|
sessions.delete_if do |session|
|
317
317
|
if session.last_used.nil? or now - session.last_used > http_idle_timeout * 1000
|
318
318
|
session.finish
|