aws-sdk-core 3.0.0.rc2 → 3.0.0.rc3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/aws-sdk-core/log/param_filter.rb +1 -1
- data/lib/aws-sdk-core/plugins/retry_errors.rb +1 -0
- data/lib/aws-sdk-core/plugins/signature_v4.rb +1 -1
- data/lib/aws-sdk-core/rest/request/endpoint.rb +1 -1
- data/lib/aws-sdk-core/version.rb +1 -1
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +1213 -1152
- data/lib/aws-sdk-sts/client_api.rb +254 -256
- data/lib/aws-sdk-sts/errors.rb +4 -13
- data/lib/aws-sdk-sts/resource.rb +12 -14
- data/lib/aws-sdk-sts/types.rb +859 -828
- data/lib/seahorse/client/net_http/handler.rb +5 -2
- data/lib/seahorse/client/plugin_list.rb +3 -1
- metadata +2 -2
data/lib/aws-sdk-sts/errors.rb
CHANGED
@@ -1,23 +1,14 @@
|
|
1
1
|
# WARNING ABOUT GENERATED CODE
|
2
2
|
#
|
3
|
-
# This file is generated. See the contributing for
|
3
|
+
# This file is generated. See the contributing guide for more information:
|
4
4
|
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
5
|
#
|
6
6
|
# WARNING ABOUT GENERATED CODE
|
7
7
|
|
8
|
-
module Aws
|
9
|
-
module
|
10
|
-
module Errors
|
8
|
+
module Aws::STS
|
9
|
+
module Errors
|
11
10
|
|
12
|
-
|
11
|
+
extend Aws::Errors::DynamicErrors
|
13
12
|
|
14
|
-
# Raised when calling #load or #data on a resource class that can not be
|
15
|
-
# loaded. This can happen when:
|
16
|
-
#
|
17
|
-
# * A resource class has identifiers, but no data attributes.
|
18
|
-
# * Resource data is only available when making an API call that
|
19
|
-
# enumerates all resources of that type.
|
20
|
-
class ResourceNotLoadable < RuntimeError; end
|
21
|
-
end
|
22
13
|
end
|
23
14
|
end
|
data/lib/aws-sdk-sts/resource.rb
CHANGED
@@ -1,25 +1,23 @@
|
|
1
1
|
# WARNING ABOUT GENERATED CODE
|
2
2
|
#
|
3
|
-
# This file is generated. See the contributing for
|
3
|
+
# This file is generated. See the contributing guide for more information:
|
4
4
|
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
5
|
#
|
6
6
|
# WARNING ABOUT GENERATED CODE
|
7
7
|
|
8
|
-
module Aws
|
9
|
-
|
10
|
-
class Resource
|
8
|
+
module Aws::STS
|
9
|
+
class Resource
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
# @return [Client]
|
19
|
-
def client
|
20
|
-
@client
|
21
|
-
end
|
11
|
+
# @param options ({})
|
12
|
+
# @option options [Client] :client
|
13
|
+
def initialize(options = {})
|
14
|
+
@client = options[:client] || Client.new(options)
|
15
|
+
end
|
22
16
|
|
17
|
+
# @return [Client]
|
18
|
+
def client
|
19
|
+
@client
|
23
20
|
end
|
21
|
+
|
24
22
|
end
|
25
23
|
end
|
data/lib/aws-sdk-sts/types.rb
CHANGED
@@ -1,854 +1,885 @@
|
|
1
1
|
# WARNING ABOUT GENERATED CODE
|
2
2
|
#
|
3
|
-
# This file is generated. See the contributing for
|
3
|
+
# This file is generated. See the contributing guide for more information:
|
4
4
|
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
5
|
#
|
6
6
|
# WARNING ABOUT GENERATED CODE
|
7
7
|
|
8
|
-
module Aws
|
9
|
-
module
|
10
|
-
module Types
|
8
|
+
module Aws::STS
|
9
|
+
module Types
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
# temporary AWS credentials that can be used to make AWS requests.
|
162
|
-
# @!attribute [rw] credentials
|
163
|
-
# The temporary security credentials, which include an access key ID,
|
164
|
-
# a secret access key, and a security (or session) token.
|
165
|
-
#
|
166
|
-
# **Note:** The size of the security token that STS APIs return is not
|
167
|
-
# fixed. We strongly recommend that you make no assumptions about the
|
168
|
-
# maximum size. As of this writing, the typical size is less than 4096
|
169
|
-
# bytes, but that can vary. Also, future updates to AWS might require
|
170
|
-
# larger sizes.
|
171
|
-
# @return [Types::Credentials]
|
172
|
-
#
|
173
|
-
# @!attribute [rw] assumed_role_user
|
174
|
-
# The Amazon Resource Name (ARN) and the assumed role ID, which are
|
175
|
-
# identifiers that you can use to refer to the resulting temporary
|
176
|
-
# security credentials. For example, you can reference these
|
177
|
-
# credentials as a principal in a resource-based policy by using the
|
178
|
-
# ARN or assumed role ID. The ARN and ID include the `RoleSessionName`
|
179
|
-
# that you specified when you called `AssumeRole`.
|
180
|
-
# @return [Types::AssumedRoleUser]
|
181
|
-
#
|
182
|
-
# @!attribute [rw] packed_policy_size
|
183
|
-
# A percentage value that indicates the size of the policy in packed
|
184
|
-
# form. The service rejects any policy with a packed size greater than
|
185
|
-
# 100 percent, which means the policy exceeded the allowed space.
|
186
|
-
# @return [Integer]
|
187
|
-
class AssumeRoleResponse < Struct.new(
|
188
|
-
:credentials,
|
189
|
-
:assumed_role_user,
|
190
|
-
:packed_policy_size)
|
191
|
-
include Aws::Structure
|
192
|
-
end
|
11
|
+
# @note When making an API call, you may pass AssumeRoleRequest
|
12
|
+
# data as a hash:
|
13
|
+
#
|
14
|
+
# {
|
15
|
+
# role_arn: "arnType", # required
|
16
|
+
# role_session_name: "roleSessionNameType", # required
|
17
|
+
# policy: "sessionPolicyDocumentType",
|
18
|
+
# duration_seconds: 1,
|
19
|
+
# external_id: "externalIdType",
|
20
|
+
# serial_number: "serialNumberType",
|
21
|
+
# token_code: "tokenCodeType",
|
22
|
+
# }
|
23
|
+
#
|
24
|
+
# @!attribute [rw] role_arn
|
25
|
+
# The Amazon Resource Name (ARN) of the role to assume.
|
26
|
+
# @return [String]
|
27
|
+
#
|
28
|
+
# @!attribute [rw] role_session_name
|
29
|
+
# An identifier for the assumed role session.
|
30
|
+
#
|
31
|
+
# Use the role session name to uniquely identify a session when the
|
32
|
+
# same role is assumed by different principals or for different
|
33
|
+
# reasons. In cross-account scenarios, the role session name is
|
34
|
+
# visible to, and can be logged by the account that owns the role. The
|
35
|
+
# role session name is also used in the ARN of the assumed role
|
36
|
+
# principal. This means that subsequent cross-account API requests
|
37
|
+
# using the temporary security credentials will expose the role
|
38
|
+
# session name to the external account in their CloudTrail logs.
|
39
|
+
#
|
40
|
+
# The regex used to validate this parameter is a string of characters
|
41
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
42
|
+
# spaces. You can also include underscores or any of the following
|
43
|
+
# characters: =,.@-
|
44
|
+
# @return [String]
|
45
|
+
#
|
46
|
+
# @!attribute [rw] policy
|
47
|
+
# An IAM policy in JSON format.
|
48
|
+
#
|
49
|
+
# This parameter is optional. If you pass a policy, the temporary
|
50
|
+
# security credentials that are returned by the operation have the
|
51
|
+
# permissions that are allowed by both (the intersection of) the
|
52
|
+
# access policy of the role that is being assumed, *and* the policy
|
53
|
+
# that you pass. This gives you a way to further restrict the
|
54
|
+
# permissions for the resulting temporary security credentials. You
|
55
|
+
# cannot use the passed policy to grant permissions that are in excess
|
56
|
+
# of those allowed by the access policy of the role that is being
|
57
|
+
# assumed. For more information, see [Permissions for AssumeRole,
|
58
|
+
# AssumeRoleWithSAML, and AssumeRoleWithWebIdentity][1] in the *IAM
|
59
|
+
# User Guide*.
|
60
|
+
#
|
61
|
+
# The format for this parameter, as described by its regex pattern, is
|
62
|
+
# a string of characters up to 2048 characters in length. The
|
63
|
+
# characters can be any ASCII character from the space character to
|
64
|
+
# the end of the valid character list (\\u0020-\\u00FF). It can also
|
65
|
+
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
66
|
+
# (\\u000D) characters.
|
67
|
+
#
|
68
|
+
# <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
|
69
|
+
# internal conversion compresses it into a packed binary format with a
|
70
|
+
# separate limit. The PackedPolicySize response element indicates by
|
71
|
+
# percentage how close to the upper size limit the policy is, with
|
72
|
+
# 100% equaling the maximum allowed size.
|
73
|
+
#
|
74
|
+
# </note>
|
75
|
+
#
|
76
|
+
#
|
77
|
+
#
|
78
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
79
|
+
# @return [String]
|
80
|
+
#
|
81
|
+
# @!attribute [rw] duration_seconds
|
82
|
+
# The duration, in seconds, of the role session. The value can range
|
83
|
+
# from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default,
|
84
|
+
# the value is set to 3600 seconds.
|
85
|
+
#
|
86
|
+
# <note markdown="1"> This is separate from the duration of a console session that you
|
87
|
+
# might request using the returned credentials. The request to the
|
88
|
+
# federation endpoint for a console sign-in token takes a
|
89
|
+
# `SessionDuration` parameter that specifies the maximum length of the
|
90
|
+
# console session, separately from the `DurationSeconds` parameter on
|
91
|
+
# this API. For more information, see [Creating a URL that Enables
|
92
|
+
# Federated Users to Access the AWS Management Console][1] in the *IAM
|
93
|
+
# User Guide*.
|
94
|
+
#
|
95
|
+
# </note>
|
96
|
+
#
|
97
|
+
#
|
98
|
+
#
|
99
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
100
|
+
# @return [Integer]
|
101
|
+
#
|
102
|
+
# @!attribute [rw] external_id
|
103
|
+
# A unique identifier that is used by third parties when assuming
|
104
|
+
# roles in their customers' accounts. For each role that the third
|
105
|
+
# party can assume, they should instruct their customers to ensure the
|
106
|
+
# role's trust policy checks for the external ID that the third party
|
107
|
+
# generated. Each time the third party assumes the role, they should
|
108
|
+
# pass the customer's external ID. The external ID is useful in order
|
109
|
+
# to help third parties bind a role to the customer who created it.
|
110
|
+
# For more information about the external ID, see [How to Use an
|
111
|
+
# External ID When Granting Access to Your AWS Resources to a Third
|
112
|
+
# Party][1] in the *IAM User Guide*.
|
113
|
+
#
|
114
|
+
# The regex used to validated this parameter is a string of characters
|
115
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
116
|
+
# spaces. You can also include underscores or any of the following
|
117
|
+
# characters: =,.@:\\/-
|
118
|
+
#
|
119
|
+
#
|
120
|
+
#
|
121
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
|
122
|
+
# @return [String]
|
123
|
+
#
|
124
|
+
# @!attribute [rw] serial_number
|
125
|
+
# The identification number of the MFA device that is associated with
|
126
|
+
# the user who is making the `AssumeRole` call. Specify this value if
|
127
|
+
# the trust policy of the role being assumed includes a condition that
|
128
|
+
# requires MFA authentication. The value is either the serial number
|
129
|
+
# for a hardware device (such as `GAHT12345678`) or an Amazon Resource
|
130
|
+
# Name (ARN) for a virtual device (such as
|
131
|
+
# `arn:aws:iam::123456789012:mfa/user`).
|
132
|
+
#
|
133
|
+
# The regex used to validate this parameter is a string of characters
|
134
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
135
|
+
# spaces. You can also include underscores or any of the following
|
136
|
+
# characters: =,.@-
|
137
|
+
# @return [String]
|
138
|
+
#
|
139
|
+
# @!attribute [rw] token_code
|
140
|
+
# The value provided by the MFA device, if the trust policy of the
|
141
|
+
# role being assumed requires MFA (that is, if the policy includes a
|
142
|
+
# condition that tests for MFA). If the role being assumed requires
|
143
|
+
# MFA and if the `TokenCode` value is missing or expired, the
|
144
|
+
# `AssumeRole` call returns an "access denied" error.
|
145
|
+
#
|
146
|
+
# The format for this parameter, as described by its regex pattern, is
|
147
|
+
# a sequence of six numeric digits.
|
148
|
+
# @return [String]
|
149
|
+
#
|
150
|
+
class AssumeRoleRequest < Struct.new(
|
151
|
+
:role_arn,
|
152
|
+
:role_session_name,
|
153
|
+
:policy,
|
154
|
+
:duration_seconds,
|
155
|
+
:external_id,
|
156
|
+
:serial_number,
|
157
|
+
:token_code)
|
158
|
+
include Aws::Structure
|
159
|
+
end
|
193
160
|
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
# The policy parameter is optional. If you pass a policy, the
|
230
|
-
# temporary security credentials that are returned by the operation
|
231
|
-
# have the permissions that are allowed by both the access policy of
|
232
|
-
# the role that is being assumed, <i> <b>and</b> </i> the policy that
|
233
|
-
# you pass. This gives you a way to further restrict the permissions
|
234
|
-
# for the resulting temporary security credentials. You cannot use the
|
235
|
-
# passed policy to grant permissions that are in excess of those
|
236
|
-
# allowed by the access policy of the role that is being assumed. For
|
237
|
-
# more information, [Permissions for AssumeRole, AssumeRoleWithSAML,
|
238
|
-
# and AssumeRoleWithWebIdentity][1] in the *IAM User Guide*.
|
239
|
-
#
|
240
|
-
# The format for this parameter, as described by its regex pattern, is
|
241
|
-
# a string of characters up to 2048 characters in length. The
|
242
|
-
# characters can be any ASCII character from the space character to
|
243
|
-
# the end of the valid character list (\\u0020-\\u00FF). It can also
|
244
|
-
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
245
|
-
# (\\u000D) characters.
|
246
|
-
#
|
247
|
-
# <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
|
248
|
-
# internal conversion compresses it into a packed binary format with a
|
249
|
-
# separate limit. The PackedPolicySize response element indicates by
|
250
|
-
# percentage how close to the upper size limit the policy is, with
|
251
|
-
# 100% equaling the maximum allowed size.
|
252
|
-
#
|
253
|
-
# </note>
|
254
|
-
#
|
255
|
-
#
|
256
|
-
#
|
257
|
-
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
258
|
-
# @return [String]
|
259
|
-
#
|
260
|
-
# @!attribute [rw] duration_seconds
|
261
|
-
# The duration, in seconds, of the role session. The value can range
|
262
|
-
# from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default,
|
263
|
-
# the value is set to 3600 seconds. An expiration can also be
|
264
|
-
# specified in the SAML authentication response's
|
265
|
-
# `SessionNotOnOrAfter` value. The actual expiration time is whichever
|
266
|
-
# value is shorter.
|
267
|
-
#
|
268
|
-
# <note markdown="1"> This is separate from the duration of a console session that you
|
269
|
-
# might request using the returned credentials. The request to the
|
270
|
-
# federation endpoint for a console sign-in token takes a
|
271
|
-
# `SessionDuration` parameter that specifies the maximum length of the
|
272
|
-
# console session, separately from the `DurationSeconds` parameter on
|
273
|
-
# this API. For more information, see [Enabling SAML 2.0 Federated
|
274
|
-
# Users to Access the AWS Management Console][1] in the *IAM User
|
275
|
-
# Guide*.
|
276
|
-
#
|
277
|
-
# </note>
|
278
|
-
#
|
279
|
-
#
|
280
|
-
#
|
281
|
-
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html
|
282
|
-
# @return [Integer]
|
283
|
-
class AssumeRoleWithSAMLRequest < Struct.new(
|
284
|
-
:role_arn,
|
285
|
-
:principal_arn,
|
286
|
-
:saml_assertion,
|
287
|
-
:policy,
|
288
|
-
:duration_seconds)
|
289
|
-
include Aws::Structure
|
290
|
-
end
|
161
|
+
# Contains the response to a successful AssumeRole request, including
|
162
|
+
# temporary AWS credentials that can be used to make AWS requests.
|
163
|
+
#
|
164
|
+
# @!attribute [rw] credentials
|
165
|
+
# The temporary security credentials, which include an access key ID,
|
166
|
+
# a secret access key, and a security (or session) token.
|
167
|
+
#
|
168
|
+
# **Note:** The size of the security token that STS APIs return is not
|
169
|
+
# fixed. We strongly recommend that you make no assumptions about the
|
170
|
+
# maximum size. As of this writing, the typical size is less than 4096
|
171
|
+
# bytes, but that can vary. Also, future updates to AWS might require
|
172
|
+
# larger sizes.
|
173
|
+
# @return [Types::Credentials]
|
174
|
+
#
|
175
|
+
# @!attribute [rw] assumed_role_user
|
176
|
+
# The Amazon Resource Name (ARN) and the assumed role ID, which are
|
177
|
+
# identifiers that you can use to refer to the resulting temporary
|
178
|
+
# security credentials. For example, you can reference these
|
179
|
+
# credentials as a principal in a resource-based policy by using the
|
180
|
+
# ARN or assumed role ID. The ARN and ID include the `RoleSessionName`
|
181
|
+
# that you specified when you called `AssumeRole`.
|
182
|
+
# @return [Types::AssumedRoleUser]
|
183
|
+
#
|
184
|
+
# @!attribute [rw] packed_policy_size
|
185
|
+
# A percentage value that indicates the size of the policy in packed
|
186
|
+
# form. The service rejects any policy with a packed size greater than
|
187
|
+
# 100 percent, which means the policy exceeded the allowed space.
|
188
|
+
# @return [Integer]
|
189
|
+
#
|
190
|
+
class AssumeRoleResponse < Struct.new(
|
191
|
+
:credentials,
|
192
|
+
:assumed_role_user,
|
193
|
+
:packed_policy_size)
|
194
|
+
include Aws::Structure
|
195
|
+
end
|
291
196
|
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
197
|
+
# @note When making an API call, you may pass AssumeRoleWithSAMLRequest
|
198
|
+
# data as a hash:
|
199
|
+
#
|
200
|
+
# {
|
201
|
+
# role_arn: "arnType", # required
|
202
|
+
# principal_arn: "arnType", # required
|
203
|
+
# saml_assertion: "SAMLAssertionType", # required
|
204
|
+
# policy: "sessionPolicyDocumentType",
|
205
|
+
# duration_seconds: 1,
|
206
|
+
# }
|
207
|
+
#
|
208
|
+
# @!attribute [rw] role_arn
|
209
|
+
# The Amazon Resource Name (ARN) of the role that the caller is
|
210
|
+
# assuming.
|
211
|
+
# @return [String]
|
212
|
+
#
|
213
|
+
# @!attribute [rw] principal_arn
|
214
|
+
# The Amazon Resource Name (ARN) of the SAML provider in IAM that
|
215
|
+
# describes the IdP.
|
216
|
+
# @return [String]
|
217
|
+
#
|
218
|
+
# @!attribute [rw] saml_assertion
|
219
|
+
# The base-64 encoded SAML authentication response provided by the
|
220
|
+
# IdP.
|
221
|
+
#
|
222
|
+
# For more information, see [Configuring a Relying Party and Adding
|
223
|
+
# Claims][1] in the *Using IAM* guide.
|
224
|
+
#
|
225
|
+
#
|
226
|
+
#
|
227
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
|
228
|
+
# @return [String]
|
229
|
+
#
|
230
|
+
# @!attribute [rw] policy
|
231
|
+
# An IAM policy in JSON format.
|
232
|
+
#
|
233
|
+
# The policy parameter is optional. If you pass a policy, the
|
234
|
+
# temporary security credentials that are returned by the operation
|
235
|
+
# have the permissions that are allowed by both the access policy of
|
236
|
+
# the role that is being assumed, <i> <b>and</b> </i> the policy that
|
237
|
+
# you pass. This gives you a way to further restrict the permissions
|
238
|
+
# for the resulting temporary security credentials. You cannot use the
|
239
|
+
# passed policy to grant permissions that are in excess of those
|
240
|
+
# allowed by the access policy of the role that is being assumed. For
|
241
|
+
# more information, [Permissions for AssumeRole, AssumeRoleWithSAML,
|
242
|
+
# and AssumeRoleWithWebIdentity][1] in the *IAM User Guide*.
|
243
|
+
#
|
244
|
+
# The format for this parameter, as described by its regex pattern, is
|
245
|
+
# a string of characters up to 2048 characters in length. The
|
246
|
+
# characters can be any ASCII character from the space character to
|
247
|
+
# the end of the valid character list (\\u0020-\\u00FF). It can also
|
248
|
+
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
249
|
+
# (\\u000D) characters.
|
250
|
+
#
|
251
|
+
# <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
|
252
|
+
# internal conversion compresses it into a packed binary format with a
|
253
|
+
# separate limit. The PackedPolicySize response element indicates by
|
254
|
+
# percentage how close to the upper size limit the policy is, with
|
255
|
+
# 100% equaling the maximum allowed size.
|
256
|
+
#
|
257
|
+
# </note>
|
258
|
+
#
|
259
|
+
#
|
260
|
+
#
|
261
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
262
|
+
# @return [String]
|
263
|
+
#
|
264
|
+
# @!attribute [rw] duration_seconds
|
265
|
+
# The duration, in seconds, of the role session. The value can range
|
266
|
+
# from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default,
|
267
|
+
# the value is set to 3600 seconds. An expiration can also be
|
268
|
+
# specified in the SAML authentication response's
|
269
|
+
# `SessionNotOnOrAfter` value. The actual expiration time is whichever
|
270
|
+
# value is shorter.
|
271
|
+
#
|
272
|
+
# <note markdown="1"> This is separate from the duration of a console session that you
|
273
|
+
# might request using the returned credentials. The request to the
|
274
|
+
# federation endpoint for a console sign-in token takes a
|
275
|
+
# `SessionDuration` parameter that specifies the maximum length of the
|
276
|
+
# console session, separately from the `DurationSeconds` parameter on
|
277
|
+
# this API. For more information, see [Enabling SAML 2.0 Federated
|
278
|
+
# Users to Access the AWS Management Console][1] in the *IAM User
|
279
|
+
# Guide*.
|
280
|
+
#
|
281
|
+
# </note>
|
282
|
+
#
|
283
|
+
#
|
284
|
+
#
|
285
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html
|
286
|
+
# @return [Integer]
|
287
|
+
#
|
288
|
+
class AssumeRoleWithSAMLRequest < Struct.new(
|
289
|
+
:role_arn,
|
290
|
+
:principal_arn,
|
291
|
+
:saml_assertion,
|
292
|
+
:policy,
|
293
|
+
:duration_seconds)
|
294
|
+
include Aws::Structure
|
295
|
+
end
|
366
296
|
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
#
|
444
|
-
# </note>
|
445
|
-
#
|
446
|
-
#
|
447
|
-
#
|
448
|
-
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
449
|
-
# @return [String]
|
450
|
-
#
|
451
|
-
# @!attribute [rw] duration_seconds
|
452
|
-
# The duration, in seconds, of the role session. The value can range
|
453
|
-
# from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default,
|
454
|
-
# the value is set to 3600 seconds.
|
455
|
-
#
|
456
|
-
# <note markdown="1"> This is separate from the duration of a console session that you
|
457
|
-
# might request using the returned credentials. The request to the
|
458
|
-
# federation endpoint for a console sign-in token takes a
|
459
|
-
# `SessionDuration` parameter that specifies the maximum length of the
|
460
|
-
# console session, separately from the `DurationSeconds` parameter on
|
461
|
-
# this API. For more information, see [Creating a URL that Enables
|
462
|
-
# Federated Users to Access the AWS Management Console][1] in the *IAM
|
463
|
-
# User Guide*.
|
464
|
-
#
|
465
|
-
# </note>
|
466
|
-
#
|
467
|
-
#
|
468
|
-
#
|
469
|
-
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
470
|
-
# @return [Integer]
|
471
|
-
class AssumeRoleWithWebIdentityRequest < Struct.new(
|
472
|
-
:role_arn,
|
473
|
-
:role_session_name,
|
474
|
-
:web_identity_token,
|
475
|
-
:provider_id,
|
476
|
-
:policy,
|
477
|
-
:duration_seconds)
|
478
|
-
include Aws::Structure
|
479
|
-
end
|
297
|
+
# Contains the response to a successful AssumeRoleWithSAML request,
|
298
|
+
# including temporary AWS credentials that can be used to make AWS
|
299
|
+
# requests.
|
300
|
+
#
|
301
|
+
# @!attribute [rw] credentials
|
302
|
+
# The temporary security credentials, which include an access key ID,
|
303
|
+
# a secret access key, and a security (or session) token.
|
304
|
+
#
|
305
|
+
# **Note:** The size of the security token that STS APIs return is not
|
306
|
+
# fixed. We strongly recommend that you make no assumptions about the
|
307
|
+
# maximum size. As of this writing, the typical size is less than 4096
|
308
|
+
# bytes, but that can vary. Also, future updates to AWS might require
|
309
|
+
# larger sizes.
|
310
|
+
# @return [Types::Credentials]
|
311
|
+
#
|
312
|
+
# @!attribute [rw] assumed_role_user
|
313
|
+
# The identifiers for the temporary security credentials that the
|
314
|
+
# operation returns.
|
315
|
+
# @return [Types::AssumedRoleUser]
|
316
|
+
#
|
317
|
+
# @!attribute [rw] packed_policy_size
|
318
|
+
# A percentage value that indicates the size of the policy in packed
|
319
|
+
# form. The service rejects any policy with a packed size greater than
|
320
|
+
# 100 percent, which means the policy exceeded the allowed space.
|
321
|
+
# @return [Integer]
|
322
|
+
#
|
323
|
+
# @!attribute [rw] subject
|
324
|
+
# The value of the `NameID` element in the `Subject` element of the
|
325
|
+
# SAML assertion.
|
326
|
+
# @return [String]
|
327
|
+
#
|
328
|
+
# @!attribute [rw] subject_type
|
329
|
+
# The format of the name ID, as defined by the `Format` attribute in
|
330
|
+
# the `NameID` element of the SAML assertion. Typical examples of the
|
331
|
+
# format are `transient` or `persistent`.
|
332
|
+
#
|
333
|
+
# If the format includes the prefix
|
334
|
+
# `urn:oasis:names:tc:SAML:2.0:nameid-format`, that prefix is removed.
|
335
|
+
# For example, `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`
|
336
|
+
# is returned as `transient`. If the format includes any other prefix,
|
337
|
+
# the format is returned with no modifications.
|
338
|
+
# @return [String]
|
339
|
+
#
|
340
|
+
# @!attribute [rw] issuer
|
341
|
+
# The value of the `Issuer` element of the SAML assertion.
|
342
|
+
# @return [String]
|
343
|
+
#
|
344
|
+
# @!attribute [rw] audience
|
345
|
+
# The value of the `Recipient` attribute of the
|
346
|
+
# `SubjectConfirmationData` element of the SAML assertion.
|
347
|
+
# @return [String]
|
348
|
+
#
|
349
|
+
# @!attribute [rw] name_qualifier
|
350
|
+
# A hash value based on the concatenation of the `Issuer` response
|
351
|
+
# value, the AWS account ID, and the friendly name (the last part of
|
352
|
+
# the ARN) of the SAML provider in IAM. The combination of
|
353
|
+
# `NameQualifier` and `Subject` can be used to uniquely identify a
|
354
|
+
# federated user.
|
355
|
+
#
|
356
|
+
# The following pseudocode shows how the hash value is calculated:
|
357
|
+
#
|
358
|
+
# `BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" +
|
359
|
+
# "/MySAMLIdP" ) )`
|
360
|
+
# @return [String]
|
361
|
+
#
|
362
|
+
class AssumeRoleWithSAMLResponse < Struct.new(
|
363
|
+
:credentials,
|
364
|
+
:assumed_role_user,
|
365
|
+
:packed_policy_size,
|
366
|
+
:subject,
|
367
|
+
:subject_type,
|
368
|
+
:issuer,
|
369
|
+
:audience,
|
370
|
+
:name_qualifier)
|
371
|
+
include Aws::Structure
|
372
|
+
end
|
480
373
|
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
374
|
+
# @note When making an API call, you may pass AssumeRoleWithWebIdentityRequest
|
375
|
+
# data as a hash:
|
376
|
+
#
|
377
|
+
# {
|
378
|
+
# role_arn: "arnType", # required
|
379
|
+
# role_session_name: "roleSessionNameType", # required
|
380
|
+
# web_identity_token: "clientTokenType", # required
|
381
|
+
# provider_id: "urlType",
|
382
|
+
# policy: "sessionPolicyDocumentType",
|
383
|
+
# duration_seconds: 1,
|
384
|
+
# }
|
385
|
+
#
|
386
|
+
# @!attribute [rw] role_arn
|
387
|
+
# The Amazon Resource Name (ARN) of the role that the caller is
|
388
|
+
# assuming.
|
389
|
+
# @return [String]
|
390
|
+
#
|
391
|
+
# @!attribute [rw] role_session_name
|
392
|
+
# An identifier for the assumed role session. Typically, you pass the
|
393
|
+
# name or identifier that is associated with the user who is using
|
394
|
+
# your application. That way, the temporary security credentials that
|
395
|
+
# your application will use are associated with that user. This
|
396
|
+
# session name is included as part of the ARN and assumed role ID in
|
397
|
+
# the `AssumedRoleUser` response element.
|
398
|
+
#
|
399
|
+
# The regex used to validate this parameter is a string of characters
|
400
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
401
|
+
# spaces. You can also include underscores or any of the following
|
402
|
+
# characters: =,.@-
|
403
|
+
# @return [String]
|
404
|
+
#
|
405
|
+
# @!attribute [rw] web_identity_token
|
406
|
+
# The OAuth 2.0 access token or OpenID Connect ID token that is
|
407
|
+
# provided by the identity provider. Your application must get this
|
408
|
+
# token by authenticating the user who is using your application with
|
409
|
+
# a web identity provider before the application makes an
|
410
|
+
# `AssumeRoleWithWebIdentity` call.
|
411
|
+
# @return [String]
|
412
|
+
#
|
413
|
+
# @!attribute [rw] provider_id
|
414
|
+
# The fully qualified host component of the domain name of the
|
415
|
+
# identity provider.
|
416
|
+
#
|
417
|
+
# Specify this value only for OAuth 2.0 access tokens. Currently
|
418
|
+
# `www.amazon.com` and `graph.facebook.com` are the only supported
|
419
|
+
# identity providers for OAuth 2.0 access tokens. Do not include URL
|
420
|
+
# schemes and port numbers.
|
421
|
+
#
|
422
|
+
# Do not specify this value for OpenID Connect ID tokens.
|
423
|
+
# @return [String]
|
424
|
+
#
|
425
|
+
# @!attribute [rw] policy
|
426
|
+
# An IAM policy in JSON format.
|
427
|
+
#
|
428
|
+
# The policy parameter is optional. If you pass a policy, the
|
429
|
+
# temporary security credentials that are returned by the operation
|
430
|
+
# have the permissions that are allowed by both the access policy of
|
431
|
+
# the role that is being assumed, <i> <b>and</b> </i> the policy that
|
432
|
+
# you pass. This gives you a way to further restrict the permissions
|
433
|
+
# for the resulting temporary security credentials. You cannot use the
|
434
|
+
# passed policy to grant permissions that are in excess of those
|
435
|
+
# allowed by the access policy of the role that is being assumed. For
|
436
|
+
# more information, see [Permissions for AssumeRoleWithWebIdentity][1]
|
437
|
+
# in the *IAM User Guide*.
|
438
|
+
#
|
439
|
+
# The format for this parameter, as described by its regex pattern, is
|
440
|
+
# a string of characters up to 2048 characters in length. The
|
441
|
+
# characters can be any ASCII character from the space character to
|
442
|
+
# the end of the valid character list (\\u0020-\\u00FF). It can also
|
443
|
+
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
444
|
+
# (\\u000D) characters.
|
445
|
+
#
|
446
|
+
# <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
|
447
|
+
# internal conversion compresses it into a packed binary format with a
|
448
|
+
# separate limit. The PackedPolicySize response element indicates by
|
449
|
+
# percentage how close to the upper size limit the policy is, with
|
450
|
+
# 100% equaling the maximum allowed size.
|
451
|
+
#
|
452
|
+
# </note>
|
453
|
+
#
|
454
|
+
#
|
455
|
+
#
|
456
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
|
457
|
+
# @return [String]
|
458
|
+
#
|
459
|
+
# @!attribute [rw] duration_seconds
|
460
|
+
# The duration, in seconds, of the role session. The value can range
|
461
|
+
# from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default,
|
462
|
+
# the value is set to 3600 seconds.
|
463
|
+
#
|
464
|
+
# <note markdown="1"> This is separate from the duration of a console session that you
|
465
|
+
# might request using the returned credentials. The request to the
|
466
|
+
# federation endpoint for a console sign-in token takes a
|
467
|
+
# `SessionDuration` parameter that specifies the maximum length of the
|
468
|
+
# console session, separately from the `DurationSeconds` parameter on
|
469
|
+
# this API. For more information, see [Creating a URL that Enables
|
470
|
+
# Federated Users to Access the AWS Management Console][1] in the *IAM
|
471
|
+
# User Guide*.
|
472
|
+
#
|
473
|
+
# </note>
|
474
|
+
#
|
475
|
+
#
|
476
|
+
#
|
477
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
|
478
|
+
# @return [Integer]
|
479
|
+
#
|
480
|
+
class AssumeRoleWithWebIdentityRequest < Struct.new(
|
481
|
+
:role_arn,
|
482
|
+
:role_session_name,
|
483
|
+
:web_identity_token,
|
484
|
+
:provider_id,
|
485
|
+
:policy,
|
486
|
+
:duration_seconds)
|
487
|
+
include Aws::Structure
|
488
|
+
end
|
542
489
|
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
490
|
+
# Contains the response to a successful AssumeRoleWithWebIdentity
|
491
|
+
# request, including temporary AWS credentials that can be used to make
|
492
|
+
# AWS requests.
|
493
|
+
#
|
494
|
+
# @!attribute [rw] credentials
|
495
|
+
# The temporary security credentials, which include an access key ID,
|
496
|
+
# a secret access key, and a security token.
|
497
|
+
#
|
498
|
+
# **Note:** The size of the security token that STS APIs return is not
|
499
|
+
# fixed. We strongly recommend that you make no assumptions about the
|
500
|
+
# maximum size. As of this writing, the typical size is less than 4096
|
501
|
+
# bytes, but that can vary. Also, future updates to AWS might require
|
502
|
+
# larger sizes.
|
503
|
+
# @return [Types::Credentials]
|
504
|
+
#
|
505
|
+
# @!attribute [rw] subject_from_web_identity_token
|
506
|
+
# The unique user identifier that is returned by the identity
|
507
|
+
# provider. This identifier is associated with the `WebIdentityToken`
|
508
|
+
# that was submitted with the `AssumeRoleWithWebIdentity` call. The
|
509
|
+
# identifier is typically unique to the user and the application that
|
510
|
+
# acquired the `WebIdentityToken` (pairwise identifier). For OpenID
|
511
|
+
# Connect ID tokens, this field contains the value returned by the
|
512
|
+
# identity provider as the token's `sub` (Subject) claim.
|
513
|
+
# @return [String]
|
514
|
+
#
|
515
|
+
# @!attribute [rw] assumed_role_user
|
516
|
+
# The Amazon Resource Name (ARN) and the assumed role ID, which are
|
517
|
+
# identifiers that you can use to refer to the resulting temporary
|
518
|
+
# security credentials. For example, you can reference these
|
519
|
+
# credentials as a principal in a resource-based policy by using the
|
520
|
+
# ARN or assumed role ID. The ARN and ID include the `RoleSessionName`
|
521
|
+
# that you specified when you called `AssumeRole`.
|
522
|
+
# @return [Types::AssumedRoleUser]
|
523
|
+
#
|
524
|
+
# @!attribute [rw] packed_policy_size
|
525
|
+
# A percentage value that indicates the size of the policy in packed
|
526
|
+
# form. The service rejects any policy with a packed size greater than
|
527
|
+
# 100 percent, which means the policy exceeded the allowed space.
|
528
|
+
# @return [Integer]
|
529
|
+
#
|
530
|
+
# @!attribute [rw] provider
|
531
|
+
# The issuing authority of the web identity token presented. For
|
532
|
+
# OpenID Connect ID Tokens this contains the value of the `iss` field.
|
533
|
+
# For OAuth 2.0 access tokens, this contains the value of the
|
534
|
+
# `ProviderId` parameter that was passed in the
|
535
|
+
# `AssumeRoleWithWebIdentity` request.
|
536
|
+
# @return [String]
|
537
|
+
#
|
538
|
+
# @!attribute [rw] audience
|
539
|
+
# The intended audience (also known as client ID) of the web identity
|
540
|
+
# token. This is traditionally the client identifier issued to the
|
541
|
+
# application that requested the web identity token.
|
542
|
+
# @return [String]
|
543
|
+
#
|
544
|
+
class AssumeRoleWithWebIdentityResponse < Struct.new(
|
545
|
+
:credentials,
|
546
|
+
:subject_from_web_identity_token,
|
547
|
+
:assumed_role_user,
|
548
|
+
:packed_policy_size,
|
549
|
+
:provider,
|
550
|
+
:audience)
|
551
|
+
include Aws::Structure
|
552
|
+
end
|
565
553
|
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
end
|
554
|
+
# The identifiers for the temporary security credentials that the
|
555
|
+
# operation returns.
|
556
|
+
#
|
557
|
+
# @!attribute [rw] assumed_role_id
|
558
|
+
# A unique identifier that contains the role ID and the role session
|
559
|
+
# name of the role that is being assumed. The role ID is generated by
|
560
|
+
# AWS when the role is created.
|
561
|
+
# @return [String]
|
562
|
+
#
|
563
|
+
# @!attribute [rw] arn
|
564
|
+
# The ARN of the temporary security credentials that are returned from
|
565
|
+
# the AssumeRole action. For more information about ARNs and how to
|
566
|
+
# use them in policies, see [IAM Identifiers][1] in *Using IAM*.
|
567
|
+
#
|
568
|
+
#
|
569
|
+
#
|
570
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
|
571
|
+
# @return [String]
|
572
|
+
#
|
573
|
+
class AssumedRoleUser < Struct.new(
|
574
|
+
:assumed_role_id,
|
575
|
+
:arn)
|
576
|
+
include Aws::Structure
|
577
|
+
end
|
591
578
|
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
579
|
+
# AWS credentials for API authentication.
|
580
|
+
#
|
581
|
+
# @!attribute [rw] access_key_id
|
582
|
+
# The access key ID that identifies the temporary security
|
583
|
+
# credentials.
|
584
|
+
# @return [String]
|
585
|
+
#
|
586
|
+
# @!attribute [rw] secret_access_key
|
587
|
+
# The secret access key that can be used to sign requests.
|
588
|
+
# @return [String]
|
589
|
+
#
|
590
|
+
# @!attribute [rw] session_token
|
591
|
+
# The token that users must pass to the service API to use the
|
592
|
+
# temporary credentials.
|
593
|
+
# @return [String]
|
594
|
+
#
|
595
|
+
# @!attribute [rw] expiration
|
596
|
+
# The date on which the current credentials expire.
|
597
|
+
# @return [Time]
|
598
|
+
#
|
599
|
+
class Credentials < Struct.new(
|
600
|
+
:access_key_id,
|
601
|
+
:secret_access_key,
|
602
|
+
:session_token,
|
603
|
+
:expiration)
|
604
|
+
include Aws::Structure
|
605
|
+
end
|
605
606
|
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
607
|
+
# @note When making an API call, you may pass DecodeAuthorizationMessageRequest
|
608
|
+
# data as a hash:
|
609
|
+
#
|
610
|
+
# {
|
611
|
+
# encoded_message: "encodedMessageType", # required
|
612
|
+
# }
|
613
|
+
#
|
614
|
+
# @!attribute [rw] encoded_message
|
615
|
+
# The encoded message that was returned with the response.
|
616
|
+
# @return [String]
|
617
|
+
#
|
618
|
+
class DecodeAuthorizationMessageRequest < Struct.new(
|
619
|
+
:encoded_message)
|
620
|
+
include Aws::Structure
|
621
|
+
end
|
616
622
|
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
#
|
630
|
-
#
|
631
|
-
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
|
632
|
-
# @return [String]
|
633
|
-
class FederatedUser < Struct.new(
|
634
|
-
:federated_user_id,
|
635
|
-
:arn)
|
636
|
-
include Aws::Structure
|
637
|
-
end
|
623
|
+
# A document that contains additional information about the
|
624
|
+
# authorization status of a request from an encoded message that is
|
625
|
+
# returned in response to an AWS request.
|
626
|
+
#
|
627
|
+
# @!attribute [rw] decoded_message
|
628
|
+
# An XML document that contains the decoded message.
|
629
|
+
# @return [String]
|
630
|
+
#
|
631
|
+
class DecodeAuthorizationMessageResponse < Struct.new(
|
632
|
+
:decoded_message)
|
633
|
+
include Aws::Structure
|
634
|
+
end
|
638
635
|
|
639
|
-
|
640
|
-
|
636
|
+
# Identifiers for the federated user that is associated with the
|
637
|
+
# credentials.
|
638
|
+
#
|
639
|
+
# @!attribute [rw] federated_user_id
|
640
|
+
# The string that identifies the federated user associated with the
|
641
|
+
# credentials, similar to the unique ID of an IAM user.
|
642
|
+
# @return [String]
|
643
|
+
#
|
644
|
+
# @!attribute [rw] arn
|
645
|
+
# The ARN that specifies the federated user that is associated with
|
646
|
+
# the credentials. For more information about ARNs and how to use them
|
647
|
+
# in policies, see [IAM Identifiers][1] in *Using IAM*.
|
648
|
+
#
|
649
|
+
#
|
650
|
+
#
|
651
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
|
652
|
+
# @return [String]
|
653
|
+
#
|
654
|
+
class FederatedUser < Struct.new(
|
655
|
+
:federated_user_id,
|
656
|
+
:arn)
|
657
|
+
include Aws::Structure
|
658
|
+
end
|
641
659
|
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
# The unique identifier of the calling entity. The exact value depends
|
646
|
-
# on the type of entity making the call. The values returned are those
|
647
|
-
# listed in the **aws:userid** column in the [Principal table][1]
|
648
|
-
# found on the **Policy Variables** reference page in the *IAM User
|
649
|
-
# Guide*.
|
650
|
-
#
|
651
|
-
#
|
652
|
-
#
|
653
|
-
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
|
654
|
-
# @return [String]
|
655
|
-
#
|
656
|
-
# @!attribute [rw] account
|
657
|
-
# The AWS account ID number of the account that owns or contains the
|
658
|
-
# calling entity.
|
659
|
-
# @return [String]
|
660
|
-
#
|
661
|
-
# @!attribute [rw] arn
|
662
|
-
# The AWS ARN associated with the calling entity.
|
663
|
-
# @return [String]
|
664
|
-
class GetCallerIdentityResponse < Struct.new(
|
665
|
-
:user_id,
|
666
|
-
:account,
|
667
|
-
:arn)
|
668
|
-
include Aws::Structure
|
669
|
-
end
|
660
|
+
# @api private
|
661
|
+
#
|
662
|
+
class GetCallerIdentityRequest < Aws::EmptyStructure; end
|
670
663
|
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
# passed policy and the IAM user policy.
|
702
|
-
#
|
703
|
-
# If you do not pass a policy, the resulting temporary security
|
704
|
-
# credentials have no effective permissions. The only exception is
|
705
|
-
# when the temporary security credentials are used to access a
|
706
|
-
# resource that has a resource-based policy that specifically allows
|
707
|
-
# the federated user to access the resource.
|
708
|
-
#
|
709
|
-
# The format for this parameter, as described by its regex pattern, is
|
710
|
-
# a string of characters up to 2048 characters in length. The
|
711
|
-
# characters can be any ASCII character from the space character to
|
712
|
-
# the end of the valid character list (\\u0020-\\u00FF). It can also
|
713
|
-
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
714
|
-
# (\\u000D) characters.
|
715
|
-
#
|
716
|
-
# <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
|
717
|
-
# internal conversion compresses it into a packed binary format with a
|
718
|
-
# separate limit. The PackedPolicySize response element indicates by
|
719
|
-
# percentage how close to the upper size limit the policy is, with
|
720
|
-
# 100% equaling the maximum allowed size.
|
721
|
-
#
|
722
|
-
# </note>
|
723
|
-
#
|
724
|
-
# For more information about how permissions work, see [Permissions
|
725
|
-
# for GetFederationToken][1].
|
726
|
-
#
|
727
|
-
#
|
728
|
-
#
|
729
|
-
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html
|
730
|
-
# @return [String]
|
731
|
-
#
|
732
|
-
# @!attribute [rw] duration_seconds
|
733
|
-
# The duration, in seconds, that the session should last. Acceptable
|
734
|
-
# durations for federation sessions range from 900 seconds (15
|
735
|
-
# minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours)
|
736
|
-
# as the default. Sessions obtained using AWS account (root)
|
737
|
-
# credentials are restricted to a maximum of 3600 seconds (one hour).
|
738
|
-
# If the specified duration is longer than one hour, the session
|
739
|
-
# obtained by using AWS account (root) credentials defaults to one
|
740
|
-
# hour.
|
741
|
-
# @return [Integer]
|
742
|
-
class GetFederationTokenRequest < Struct.new(
|
743
|
-
:name,
|
744
|
-
:policy,
|
745
|
-
:duration_seconds)
|
746
|
-
include Aws::Structure
|
747
|
-
end
|
664
|
+
# Contains the response to a successful GetCallerIdentity request,
|
665
|
+
# including information about the entity making the request.
|
666
|
+
#
|
667
|
+
# @!attribute [rw] user_id
|
668
|
+
# The unique identifier of the calling entity. The exact value depends
|
669
|
+
# on the type of entity making the call. The values returned are those
|
670
|
+
# listed in the **aws:userid** column in the [Principal table][1]
|
671
|
+
# found on the **Policy Variables** reference page in the *IAM User
|
672
|
+
# Guide*.
|
673
|
+
#
|
674
|
+
#
|
675
|
+
#
|
676
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
|
677
|
+
# @return [String]
|
678
|
+
#
|
679
|
+
# @!attribute [rw] account
|
680
|
+
# The AWS account ID number of the account that owns or contains the
|
681
|
+
# calling entity.
|
682
|
+
# @return [String]
|
683
|
+
#
|
684
|
+
# @!attribute [rw] arn
|
685
|
+
# The AWS ARN associated with the calling entity.
|
686
|
+
# @return [String]
|
687
|
+
#
|
688
|
+
class GetCallerIdentityResponse < Struct.new(
|
689
|
+
:user_id,
|
690
|
+
:account,
|
691
|
+
:arn)
|
692
|
+
include Aws::Structure
|
693
|
+
end
|
748
694
|
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
695
|
+
# @note When making an API call, you may pass GetFederationTokenRequest
|
696
|
+
# data as a hash:
|
697
|
+
#
|
698
|
+
# {
|
699
|
+
# name: "userNameType", # required
|
700
|
+
# policy: "sessionPolicyDocumentType",
|
701
|
+
# duration_seconds: 1,
|
702
|
+
# }
|
703
|
+
#
|
704
|
+
# @!attribute [rw] name
|
705
|
+
# The name of the federated user. The name is used as an identifier
|
706
|
+
# for the temporary security credentials (such as `Bob`). For example,
|
707
|
+
# you can reference the federated user name in a resource-based
|
708
|
+
# policy, such as in an Amazon S3 bucket policy.
|
709
|
+
#
|
710
|
+
# The regex used to validate this parameter is a string of characters
|
711
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
712
|
+
# spaces. You can also include underscores or any of the following
|
713
|
+
# characters: =,.@-
|
714
|
+
# @return [String]
|
715
|
+
#
|
716
|
+
# @!attribute [rw] policy
|
717
|
+
# An IAM policy in JSON format that is passed with the
|
718
|
+
# `GetFederationToken` call and evaluated along with the policy or
|
719
|
+
# policies that are attached to the IAM user whose credentials are
|
720
|
+
# used to call `GetFederationToken`. The passed policy is used to
|
721
|
+
# scope down the permissions that are available to the IAM user, by
|
722
|
+
# allowing only a subset of the permissions that are granted to the
|
723
|
+
# IAM user. The passed policy cannot grant more permissions than those
|
724
|
+
# granted to the IAM user. The final permissions for the federated
|
725
|
+
# user are the most restrictive set based on the intersection of the
|
726
|
+
# passed policy and the IAM user policy.
|
727
|
+
#
|
728
|
+
# If you do not pass a policy, the resulting temporary security
|
729
|
+
# credentials have no effective permissions. The only exception is
|
730
|
+
# when the temporary security credentials are used to access a
|
731
|
+
# resource that has a resource-based policy that specifically allows
|
732
|
+
# the federated user to access the resource.
|
733
|
+
#
|
734
|
+
# The format for this parameter, as described by its regex pattern, is
|
735
|
+
# a string of characters up to 2048 characters in length. The
|
736
|
+
# characters can be any ASCII character from the space character to
|
737
|
+
# the end of the valid character list (\\u0020-\\u00FF). It can also
|
738
|
+
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
|
739
|
+
# (\\u000D) characters.
|
740
|
+
#
|
741
|
+
# <note markdown="1"> The policy plain text must be 2048 bytes or shorter. However, an
|
742
|
+
# internal conversion compresses it into a packed binary format with a
|
743
|
+
# separate limit. The PackedPolicySize response element indicates by
|
744
|
+
# percentage how close to the upper size limit the policy is, with
|
745
|
+
# 100% equaling the maximum allowed size.
|
746
|
+
#
|
747
|
+
# </note>
|
748
|
+
#
|
749
|
+
# For more information about how permissions work, see [Permissions
|
750
|
+
# for GetFederationToken][1].
|
751
|
+
#
|
752
|
+
#
|
753
|
+
#
|
754
|
+
# [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html
|
755
|
+
# @return [String]
|
756
|
+
#
|
757
|
+
# @!attribute [rw] duration_seconds
|
758
|
+
# The duration, in seconds, that the session should last. Acceptable
|
759
|
+
# durations for federation sessions range from 900 seconds (15
|
760
|
+
# minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours)
|
761
|
+
# as the default. Sessions obtained using AWS account (root)
|
762
|
+
# credentials are restricted to a maximum of 3600 seconds (one hour).
|
763
|
+
# If the specified duration is longer than one hour, the session
|
764
|
+
# obtained by using AWS account (root) credentials defaults to one
|
765
|
+
# hour.
|
766
|
+
# @return [Integer]
|
767
|
+
#
|
768
|
+
class GetFederationTokenRequest < Struct.new(
|
769
|
+
:name,
|
770
|
+
:policy,
|
771
|
+
:duration_seconds)
|
772
|
+
include Aws::Structure
|
773
|
+
end
|
781
774
|
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
# @!attribute [rw] token_code
|
817
|
-
# The value provided by the MFA device, if MFA is required. If any
|
818
|
-
# policy requires the IAM user to submit an MFA code, specify this
|
819
|
-
# value. If MFA authentication is required, and the user does not
|
820
|
-
# provide a code when requesting a set of temporary security
|
821
|
-
# credentials, the user will receive an "access denied" response
|
822
|
-
# when requesting resources that require MFA authentication.
|
823
|
-
#
|
824
|
-
# The format for this parameter, as described by its regex pattern, is
|
825
|
-
# a sequence of six numeric digits.
|
826
|
-
# @return [String]
|
827
|
-
class GetSessionTokenRequest < Struct.new(
|
828
|
-
:duration_seconds,
|
829
|
-
:serial_number,
|
830
|
-
:token_code)
|
831
|
-
include Aws::Structure
|
832
|
-
end
|
775
|
+
# Contains the response to a successful GetFederationToken request,
|
776
|
+
# including temporary AWS credentials that can be used to make AWS
|
777
|
+
# requests.
|
778
|
+
#
|
779
|
+
# @!attribute [rw] credentials
|
780
|
+
# The temporary security credentials, which include an access key ID,
|
781
|
+
# a secret access key, and a security (or session) token.
|
782
|
+
#
|
783
|
+
# **Note:** The size of the security token that STS APIs return is not
|
784
|
+
# fixed. We strongly recommend that you make no assumptions about the
|
785
|
+
# maximum size. As of this writing, the typical size is less than 4096
|
786
|
+
# bytes, but that can vary. Also, future updates to AWS might require
|
787
|
+
# larger sizes.
|
788
|
+
# @return [Types::Credentials]
|
789
|
+
#
|
790
|
+
# @!attribute [rw] federated_user
|
791
|
+
# Identifiers for the federated user associated with the credentials
|
792
|
+
# (such as `arn:aws:sts::123456789012:federated-user/Bob` or
|
793
|
+
# `123456789012:Bob`). You can use the federated user's ARN in your
|
794
|
+
# resource-based policies, such as an Amazon S3 bucket policy.
|
795
|
+
# @return [Types::FederatedUser]
|
796
|
+
#
|
797
|
+
# @!attribute [rw] packed_policy_size
|
798
|
+
# A percentage value indicating the size of the policy in packed form.
|
799
|
+
# The service rejects policies for which the packed size is greater
|
800
|
+
# than 100 percent of the allowed value.
|
801
|
+
# @return [Integer]
|
802
|
+
#
|
803
|
+
class GetFederationTokenResponse < Struct.new(
|
804
|
+
:credentials,
|
805
|
+
:federated_user,
|
806
|
+
:packed_policy_size)
|
807
|
+
include Aws::Structure
|
808
|
+
end
|
833
809
|
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
810
|
+
# @note When making an API call, you may pass GetSessionTokenRequest
|
811
|
+
# data as a hash:
|
812
|
+
#
|
813
|
+
# {
|
814
|
+
# duration_seconds: 1,
|
815
|
+
# serial_number: "serialNumberType",
|
816
|
+
# token_code: "tokenCodeType",
|
817
|
+
# }
|
818
|
+
#
|
819
|
+
# @!attribute [rw] duration_seconds
|
820
|
+
# The duration, in seconds, that the credentials should remain valid.
|
821
|
+
# Acceptable durations for IAM user sessions range from 900 seconds
|
822
|
+
# (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12
|
823
|
+
# hours) as the default. Sessions for AWS account owners are
|
824
|
+
# restricted to a maximum of 3600 seconds (one hour). If the duration
|
825
|
+
# is longer than one hour, the session for AWS account owners defaults
|
826
|
+
# to one hour.
|
827
|
+
# @return [Integer]
|
828
|
+
#
|
829
|
+
# @!attribute [rw] serial_number
|
830
|
+
# The identification number of the MFA device that is associated with
|
831
|
+
# the IAM user who is making the `GetSessionToken` call. Specify this
|
832
|
+
# value if the IAM user has a policy that requires MFA authentication.
|
833
|
+
# The value is either the serial number for a hardware device (such as
|
834
|
+
# `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual
|
835
|
+
# device (such as `arn:aws:iam::123456789012:mfa/user`). You can find
|
836
|
+
# the device for an IAM user by going to the AWS Management Console
|
837
|
+
# and viewing the user's security credentials.
|
838
|
+
#
|
839
|
+
# The regex used to validate this parameter is a string of characters
|
840
|
+
# consisting of upper- and lower-case alphanumeric characters with no
|
841
|
+
# spaces. You can also include underscores or any of the following
|
842
|
+
# characters: =,.@-
|
843
|
+
# @return [String]
|
844
|
+
#
|
845
|
+
# @!attribute [rw] token_code
|
846
|
+
# The value provided by the MFA device, if MFA is required. If any
|
847
|
+
# policy requires the IAM user to submit an MFA code, specify this
|
848
|
+
# value. If MFA authentication is required, and the user does not
|
849
|
+
# provide a code when requesting a set of temporary security
|
850
|
+
# credentials, the user will receive an "access denied" response
|
851
|
+
# when requesting resources that require MFA authentication.
|
852
|
+
#
|
853
|
+
# The format for this parameter, as described by its regex pattern, is
|
854
|
+
# a sequence of six numeric digits.
|
855
|
+
# @return [String]
|
856
|
+
#
|
857
|
+
class GetSessionTokenRequest < Struct.new(
|
858
|
+
:duration_seconds,
|
859
|
+
:serial_number,
|
860
|
+
:token_code)
|
861
|
+
include Aws::Structure
|
862
|
+
end
|
851
863
|
|
864
|
+
# Contains the response to a successful GetSessionToken request,
|
865
|
+
# including temporary AWS credentials that can be used to make AWS
|
866
|
+
# requests.
|
867
|
+
#
|
868
|
+
# @!attribute [rw] credentials
|
869
|
+
# The temporary security credentials, which include an access key ID,
|
870
|
+
# a secret access key, and a security (or session) token.
|
871
|
+
#
|
872
|
+
# **Note:** The size of the security token that STS APIs return is not
|
873
|
+
# fixed. We strongly recommend that you make no assumptions about the
|
874
|
+
# maximum size. As of this writing, the typical size is less than 4096
|
875
|
+
# bytes, but that can vary. Also, future updates to AWS might require
|
876
|
+
# larger sizes.
|
877
|
+
# @return [Types::Credentials]
|
878
|
+
#
|
879
|
+
class GetSessionTokenResponse < Struct.new(
|
880
|
+
:credentials)
|
881
|
+
include Aws::Structure
|
852
882
|
end
|
883
|
+
|
853
884
|
end
|
854
885
|
end
|