@aws-sdk/client-sts 3.54.0 → 3.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist-cjs/protocols/Aws_query.js +2 -2
  3. package/dist-cjs/protocols/xml-parser.js +18 -0
  4. package/dist-es/protocols/Aws_query.js +1 -1
  5. package/dist-es/protocols/xml-parser.js +15 -0
  6. package/dist-types/protocols/xml-parser.d.ts +4 -0
  7. package/dist-types/ts3.4/STS.d.ts +583 -9
  8. package/dist-types/ts3.4/STSClient.d.ts +102 -27
  9. package/dist-types/ts3.4/commands/AssumeRoleCommand.d.ts +109 -2
  10. package/dist-types/ts3.4/commands/AssumeRoleWithSAMLCommand.d.ts +151 -2
  11. package/dist-types/ts3.4/commands/AssumeRoleWithWebIdentityCommand.d.ts +155 -2
  12. package/dist-types/ts3.4/commands/DecodeAuthorizationMessageCommand.d.ts +55 -2
  13. package/dist-types/ts3.4/commands/GetAccessKeyInfoCommand.d.ts +37 -2
  14. package/dist-types/ts3.4/commands/GetCallerIdentityCommand.d.ts +29 -2
  15. package/dist-types/ts3.4/commands/GetFederationTokenCommand.d.ts +105 -2
  16. package/dist-types/ts3.4/commands/GetSessionTokenCommand.d.ts +71 -2
  17. package/dist-types/ts3.4/defaultRoleAssumers.d.ts +14 -3
  18. package/dist-types/ts3.4/defaultStsRoleAssumers.d.ts +25 -6
  19. package/dist-types/ts3.4/models/STSServiceException.d.ts +6 -2
  20. package/dist-types/ts3.4/models/models_0.d.ts +967 -123
  21. package/dist-types/ts3.4/protocols/xml-parser.d.ts +4 -0
  22. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +3 -1
  23. package/dist-types/ts3.4/runtimeConfig.d.ts +3 -1
  24. package/dist-types/ts3.4/runtimeConfig.native.d.ts +3 -1
  25. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +3 -1
  26. package/package.json +26 -26
@@ -1,344 +1,1188 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@aws-sdk/smithy-client";
2
2
  import { STSServiceException as __BaseException } from "./STSServiceException";
3
-
3
+ /**
4
+ * <p>The identifiers for the temporary security credentials that the operation
5
+ * returns.</p>
6
+ */
4
7
  export interface AssumedRoleUser {
5
-
8
+ /**
9
+ * <p>A unique identifier that contains the role ID and the role session name of the role that
10
+ * is being assumed. The role ID is generated by Amazon Web Services when the role is created.</p>
11
+ */
6
12
  AssumedRoleId: string | undefined;
7
-
13
+ /**
14
+ * <p>The ARN of the temporary security credentials that are returned from the <a>AssumeRole</a> action. For more information about ARNs and how to use them in
15
+ * policies, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM Identifiers</a> in the
16
+ * <i>IAM User Guide</i>.</p>
17
+ */
8
18
  Arn: string | undefined;
9
19
  }
10
20
  export declare namespace AssumedRoleUser {
11
-
21
+ /**
22
+ * @internal
23
+ */
12
24
  const filterSensitiveLog: (obj: AssumedRoleUser) => any;
13
25
  }
14
-
26
+ /**
27
+ * <p>A reference to the IAM managed policy that is passed as a session policy for a role
28
+ * session or a federated user session.</p>
29
+ */
15
30
  export interface PolicyDescriptorType {
16
-
31
+ /**
32
+ * <p>The Amazon Resource Name (ARN) of the IAM managed policy to use as a session policy
33
+ * for the role. For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and Amazon Web Services
34
+ * Service Namespaces</a> in the <i>Amazon Web Services General Reference</i>.</p>
35
+ */
17
36
  arn?: string;
18
37
  }
19
38
  export declare namespace PolicyDescriptorType {
20
-
39
+ /**
40
+ * @internal
41
+ */
21
42
  const filterSensitiveLog: (obj: PolicyDescriptorType) => any;
22
43
  }
23
-
44
+ /**
45
+ * <p>You can pass custom key-value pair attributes when you assume a role or federate a user.
46
+ * These are called session tags. You can then use the session tags to control access to
47
+ * resources. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html">Tagging Amazon Web Services STS Sessions</a> in the
48
+ * <i>IAM User Guide</i>.</p>
49
+ */
24
50
  export interface Tag {
25
-
51
+ /**
52
+ * <p>The key for a session tag.</p>
53
+ * <p>You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128
54
+ * characters. For these and additional limits, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length">IAM
55
+ * and STS Character Limits</a> in the <i>IAM User Guide</i>.</p>
56
+ */
26
57
  Key: string | undefined;
27
-
58
+ /**
59
+ * <p>The value for a session tag.</p>
60
+ * <p>You can pass up to 50 session tags. The plain text session tag values can’t exceed 256
61
+ * characters. For these and additional limits, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length">IAM
62
+ * and STS Character Limits</a> in the <i>IAM User Guide</i>.</p>
63
+ */
28
64
  Value: string | undefined;
29
65
  }
30
66
  export declare namespace Tag {
31
-
67
+ /**
68
+ * @internal
69
+ */
32
70
  const filterSensitiveLog: (obj: Tag) => any;
33
71
  }
34
72
  export interface AssumeRoleRequest {
35
-
73
+ /**
74
+ * <p>The Amazon Resource Name (ARN) of the role to assume.</p>
75
+ */
36
76
  RoleArn: string | undefined;
37
-
77
+ /**
78
+ * <p>An identifier for the assumed role session.</p>
79
+ * <p>Use the role session name to uniquely identify a session when the same role is assumed
80
+ * by different principals or for different reasons. In cross-account scenarios, the role
81
+ * session name is visible to, and can be logged by the account that owns the role. The role
82
+ * session name is also used in the ARN of the assumed role principal. This means that
83
+ * subsequent cross-account API requests that use the temporary security credentials will
84
+ * expose the role session name to the external account in their CloudTrail logs.</p>
85
+ * <p>The regex used to validate this parameter is a string of characters
86
+ * consisting of upper- and lower-case alphanumeric characters with no spaces. You can
87
+ * also include underscores or any of the following characters: =,.@-</p>
88
+ */
38
89
  RoleSessionName: string | undefined;
39
-
90
+ /**
91
+ * <p>The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as
92
+ * managed session policies. The policies must exist in the same account as the role.</p>
93
+ * <p>This parameter is optional. You can provide up to 10 managed policy ARNs. However, the
94
+ * plaintext that you use for both inline and managed session policies can't exceed 2,048
95
+ * characters. For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and Amazon Web Services
96
+ * Service Namespaces</a> in the Amazon Web Services General Reference.</p>
97
+ *
98
+ * <note>
99
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
100
+ * packed binary format that has a separate limit. Your request can fail for this limit
101
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
102
+ * response element indicates by percentage how close the policies and tags for your
103
+ * request are to the upper size limit.
104
+ * </p>
105
+ * </note>
106
+ *
107
+ * <p>Passing policies to this operation returns new
108
+ * temporary credentials. The resulting session's permissions are the intersection of the
109
+ * role's identity-based policy and the session policies. You can use the role's temporary
110
+ * credentials in subsequent Amazon Web Services API calls to access resources in the account that owns
111
+ * the role. You cannot use session policies to grant more permissions than those allowed
112
+ * by the identity-based policy of the role that is being assumed. For more information, see
113
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session
114
+ * Policies</a> in the <i>IAM User Guide</i>.</p>
115
+ */
40
116
  PolicyArns?: PolicyDescriptorType[];
41
-
117
+ /**
118
+ * <p>An IAM policy in JSON format that you want to use as an inline session policy.</p>
119
+ * <p>This parameter is optional. Passing policies to this operation returns new
120
+ * temporary credentials. The resulting session's permissions are the intersection of the
121
+ * role's identity-based policy and the session policies. You can use the role's temporary
122
+ * credentials in subsequent Amazon Web Services API calls to access resources in the account that owns
123
+ * the role. You cannot use session policies to grant more permissions than those allowed
124
+ * by the identity-based policy of the role that is being assumed. For more information, see
125
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session
126
+ * Policies</a> in the <i>IAM User Guide</i>.</p>
127
+ * <p>The plaintext that you use for both inline and managed session policies can't exceed
128
+ * 2,048 characters. The JSON policy characters can be any ASCII character from the space
129
+ * character to the end of the valid character list (\u0020 through \u00FF). It can also
130
+ * include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D)
131
+ * characters.</p>
132
+ *
133
+ * <note>
134
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
135
+ * packed binary format that has a separate limit. Your request can fail for this limit
136
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
137
+ * response element indicates by percentage how close the policies and tags for your
138
+ * request are to the upper size limit.
139
+ * </p>
140
+ * </note>
141
+ */
42
142
  Policy?: string;
43
-
143
+ /**
144
+ * <p>The duration, in seconds, of the role session. The value specified can range from 900
145
+ * seconds (15 minutes) up to the maximum session duration set for the role. The maximum
146
+ * session duration setting can have a value from 1 hour to 12 hours. If you specify a value
147
+ * higher than this setting or the administrator setting (whichever is lower), the operation
148
+ * fails. For example, if you specify a session duration of 12 hours, but your administrator
149
+ * set the maximum session duration to 6 hours, your operation fails. </p>
150
+ * <p>Role chaining limits your Amazon Web Services CLI or Amazon Web Services API role session to a maximum of one hour.
151
+ * When you use the <code>AssumeRole</code> API operation to assume a role, you can specify
152
+ * the duration of your role session with the <code>DurationSeconds</code> parameter. You can
153
+ * specify a parameter value of up to 43200 seconds (12 hours), depending on the maximum
154
+ * session duration setting for your role. However, if you assume a role using role chaining
155
+ * and provide a <code>DurationSeconds</code> parameter value greater than one hour, the
156
+ * operation fails. To learn how to view the maximum value for your role, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session">View the
157
+ * Maximum Session Duration Setting for a Role</a> in the
158
+ * <i>IAM User Guide</i>.</p>
159
+ * <p>By default, the value is set to <code>3600</code> seconds. </p>
160
+ * <note>
161
+ * <p>The <code>DurationSeconds</code> parameter is separate from the duration of a console
162
+ * session that you might request using the returned credentials. The request to the
163
+ * federation endpoint for a console sign-in token takes a <code>SessionDuration</code>
164
+ * parameter that specifies the maximum length of the console session. For more
165
+ * information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html">Creating a URL
166
+ * that Enables Federated Users to Access the Amazon Web Services Management Console</a> in the
167
+ * <i>IAM User Guide</i>.</p>
168
+ * </note>
169
+ */
44
170
  DurationSeconds?: number;
45
-
171
+ /**
172
+ * <p>A list of session tags that you want to pass. Each session tag consists of a key name
173
+ * and an associated value. For more information about session tags, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html">Tagging Amazon Web Services STS
174
+ * Sessions</a> in the <i>IAM User Guide</i>.</p>
175
+ * <p>This parameter is optional. You can pass up to 50 session tags. The plaintext session
176
+ * tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these
177
+ * and additional limits, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length">IAM
178
+ * and STS Character Limits</a> in the <i>IAM User Guide</i>.</p>
179
+ *
180
+ * <note>
181
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
182
+ * packed binary format that has a separate limit. Your request can fail for this limit
183
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
184
+ * response element indicates by percentage how close the policies and tags for your
185
+ * request are to the upper size limit.
186
+ * </p>
187
+ * </note>
188
+ *
189
+ * <p>You can pass a session tag with the same key as a tag that is already attached to the
190
+ * role. When you do, session tags override a role tag with the same key. </p>
191
+ * <p>Tag key–value pairs are not case sensitive, but case is preserved. This means that you
192
+ * cannot have separate <code>Department</code> and <code>department</code> tag keys. Assume
193
+ * that the role has the <code>Department</code>=<code>Marketing</code> tag and you pass the
194
+ * <code>department</code>=<code>engineering</code> session tag. <code>Department</code>
195
+ * and <code>department</code> are not saved as separate tags, and the session tag passed in
196
+ * the request takes precedence over the role tag.</p>
197
+ * <p>Additionally, if you used temporary credentials to perform this operation, the new
198
+ * session inherits any transitive session tags from the calling session. If you pass a
199
+ * session tag with the same key as an inherited tag, the operation fails. To view the
200
+ * inherited tags for a session, see the CloudTrail logs. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_ctlogs">Viewing Session Tags in CloudTrail</a> in the
201
+ * <i>IAM User Guide</i>.</p>
202
+ */
46
203
  Tags?: Tag[];
47
-
204
+ /**
205
+ * <p>A list of keys for session tags that you want to set as transitive. If you set a tag key
206
+ * as transitive, the corresponding key and value passes to subsequent sessions in a role
207
+ * chain. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining">Chaining Roles
208
+ * with Session Tags</a> in the <i>IAM User Guide</i>.</p>
209
+ * <p>This parameter is optional. When you set session tags as transitive, the session policy
210
+ * and session tags packed binary limit is not affected.</p>
211
+ * <p>If you choose not to specify a transitive tag key, then no tags are passed from this
212
+ * session to any subsequent sessions.</p>
213
+ */
48
214
  TransitiveTagKeys?: string[];
49
-
215
+ /**
216
+ * <p>A unique identifier that might be required when you assume a role in another account. If
217
+ * the administrator of the account to which the role belongs provided you with an external
218
+ * ID, then provide that value in the <code>ExternalId</code> parameter. This value can be any
219
+ * string, such as a passphrase or account number. A cross-account role is usually set up to
220
+ * trust everyone in an account. Therefore, the administrator of the trusting account might
221
+ * send an external ID to the administrator of the trusted account. That way, only someone
222
+ * with the ID can assume the role, rather than everyone in the account. For more information
223
+ * about the external ID, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html">How to Use an External ID
224
+ * When Granting Access to Your Amazon Web Services Resources to a Third Party</a> in the
225
+ * <i>IAM User Guide</i>.</p>
226
+ * <p>The regex used to validate this parameter is a string of
227
+ * characters consisting of upper- and lower-case alphanumeric characters with no spaces.
228
+ * You can also include underscores or any of the following characters: =,.@:/-</p>
229
+ */
50
230
  ExternalId?: string;
51
-
231
+ /**
232
+ * <p>The identification number of the MFA device that is associated with the user who is
233
+ * making the <code>AssumeRole</code> call. Specify this value if the trust policy of the role
234
+ * being assumed includes a condition that requires MFA authentication. The value is either
235
+ * the serial number for a hardware device (such as <code>GAHT12345678</code>) or an Amazon
236
+ * Resource Name (ARN) for a virtual device (such as
237
+ * <code>arn:aws:iam::123456789012:mfa/user</code>).</p>
238
+ * <p>The regex used to validate this parameter is a string of characters
239
+ * consisting of upper- and lower-case alphanumeric characters with no spaces. You can
240
+ * also include underscores or any of the following characters: =,.@-</p>
241
+ */
52
242
  SerialNumber?: string;
53
-
243
+ /**
244
+ * <p>The value provided by the MFA device, if the trust policy of the role being assumed
245
+ * requires MFA. (In other words, if the policy includes a condition that tests for MFA). If
246
+ * the role being assumed requires MFA and if the <code>TokenCode</code> value is missing or
247
+ * expired, the <code>AssumeRole</code> call returns an "access denied" error.</p>
248
+ * <p>The format for this parameter, as described by its regex pattern, is a sequence of six
249
+ * numeric digits.</p>
250
+ */
54
251
  TokenCode?: string;
55
-
252
+ /**
253
+ * <p>The source identity specified by the principal that is calling the
254
+ * <code>AssumeRole</code> operation.</p>
255
+ * <p>You can require users to specify a source identity when they assume a role. You do this
256
+ * by using the <code>sts:SourceIdentity</code> condition key in a role trust policy. You can
257
+ * use source identity information in CloudTrail logs to determine who took actions with a role.
258
+ * You can use the <code>aws:SourceIdentity</code> condition key to further control access to
259
+ * Amazon Web Services resources based on the value of source identity. For more information about using
260
+ * source identity, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html">Monitor and control
261
+ * actions taken with assumed roles</a> in the
262
+ * <i>IAM User Guide</i>.</p>
263
+ * <p>The regex used to validate this parameter is a string of characters consisting of upper-
264
+ * and lower-case alphanumeric characters with no spaces. You can also include underscores or
265
+ * any of the following characters: =,.@-. You cannot use a value that begins with the text
266
+ * <code>aws:</code>. This prefix is reserved for Amazon Web Services internal use.</p>
267
+ */
56
268
  SourceIdentity?: string;
57
269
  }
58
270
  export declare namespace AssumeRoleRequest {
59
-
271
+ /**
272
+ * @internal
273
+ */
60
274
  const filterSensitiveLog: (obj: AssumeRoleRequest) => any;
61
275
  }
62
-
276
+ /**
277
+ * <p>Amazon Web Services credentials for API authentication.</p>
278
+ */
63
279
  export interface Credentials {
64
-
280
+ /**
281
+ * <p>The access key ID that identifies the temporary security credentials.</p>
282
+ */
65
283
  AccessKeyId: string | undefined;
66
-
284
+ /**
285
+ * <p>The secret access key that can be used to sign requests.</p>
286
+ */
67
287
  SecretAccessKey: string | undefined;
68
-
288
+ /**
289
+ * <p>The token that users must pass to the service API to use the temporary
290
+ * credentials.</p>
291
+ */
69
292
  SessionToken: string | undefined;
70
-
293
+ /**
294
+ * <p>The date on which the current credentials expire.</p>
295
+ */
71
296
  Expiration: Date | undefined;
72
297
  }
73
298
  export declare namespace Credentials {
74
-
299
+ /**
300
+ * @internal
301
+ */
75
302
  const filterSensitiveLog: (obj: Credentials) => any;
76
303
  }
77
-
304
+ /**
305
+ * <p>Contains the response to a successful <a>AssumeRole</a> request, including
306
+ * temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests. </p>
307
+ */
78
308
  export interface AssumeRoleResponse {
79
-
309
+ /**
310
+ * <p>The temporary security credentials, which include an access key ID, a secret access key,
311
+ * and a security (or session) token.</p>
312
+ *
313
+ * <note>
314
+ * <p>The size of the security token that STS API operations return is not fixed. We
315
+ * strongly recommend that you make no assumptions about the maximum size.</p>
316
+ * </note>
317
+ */
80
318
  Credentials?: Credentials;
81
-
319
+ /**
320
+ * <p>The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you
321
+ * can use to refer to the resulting temporary security credentials. For example, you can
322
+ * reference these credentials as a principal in a resource-based policy by using the ARN or
323
+ * assumed role ID. The ARN and ID include the <code>RoleSessionName</code> that you specified
324
+ * when you called <code>AssumeRole</code>. </p>
325
+ */
82
326
  AssumedRoleUser?: AssumedRoleUser;
83
-
327
+ /**
328
+ * <p>A percentage value that indicates the packed size of the session policies and session
329
+ * tags combined passed in the request. The request fails if the packed size is greater than 100 percent,
330
+ * which means the policies and tags exceeded the allowed space.</p>
331
+ */
84
332
  PackedPolicySize?: number;
85
-
333
+ /**
334
+ * <p>The source identity specified by the principal that is calling the
335
+ * <code>AssumeRole</code> operation.</p>
336
+ * <p>You can require users to specify a source identity when they assume a role. You do this
337
+ * by using the <code>sts:SourceIdentity</code> condition key in a role trust policy. You can
338
+ * use source identity information in CloudTrail logs to determine who took actions with a role.
339
+ * You can use the <code>aws:SourceIdentity</code> condition key to further control access to
340
+ * Amazon Web Services resources based on the value of source identity. For more information about using
341
+ * source identity, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html">Monitor and control
342
+ * actions taken with assumed roles</a> in the
343
+ * <i>IAM User Guide</i>.</p>
344
+ * <p>The regex used to validate this parameter is a string of characters consisting of upper-
345
+ * and lower-case alphanumeric characters with no spaces. You can also include underscores or
346
+ * any of the following characters: =,.@-</p>
347
+ */
86
348
  SourceIdentity?: string;
87
349
  }
88
350
  export declare namespace AssumeRoleResponse {
89
-
351
+ /**
352
+ * @internal
353
+ */
90
354
  const filterSensitiveLog: (obj: AssumeRoleResponse) => any;
91
355
  }
92
-
356
+ /**
357
+ * <p>The web identity token that was passed is expired or is not valid. Get a new identity
358
+ * token from the identity provider and then retry the request.</p>
359
+ */
93
360
  export declare class ExpiredTokenException extends __BaseException {
94
361
  readonly name: "ExpiredTokenException";
95
362
  readonly $fault: "client";
96
-
363
+ /**
364
+ * @internal
365
+ */
97
366
  constructor(opts: __ExceptionOptionType<ExpiredTokenException, __BaseException>);
98
367
  }
99
-
368
+ /**
369
+ * <p>The request was rejected because the policy document was malformed. The error message
370
+ * describes the specific error.</p>
371
+ */
100
372
  export declare class MalformedPolicyDocumentException extends __BaseException {
101
373
  readonly name: "MalformedPolicyDocumentException";
102
374
  readonly $fault: "client";
103
-
375
+ /**
376
+ * @internal
377
+ */
104
378
  constructor(opts: __ExceptionOptionType<MalformedPolicyDocumentException, __BaseException>);
105
379
  }
106
-
380
+ /**
381
+ * <p>The request was rejected because the total packed size of the session policies and
382
+ * session tags combined was too large. An Amazon Web Services conversion compresses the session policy
383
+ * document, session policy ARNs, and session tags into a packed binary format that has a
384
+ * separate limit. The error message indicates by percentage how close the policies and
385
+ * tags are to the upper size limit. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html">Passing Session Tags in STS</a> in
386
+ * the <i>IAM User Guide</i>.</p>
387
+ * <p>You could receive this error even though you meet other defined session policy and
388
+ * session tag limits. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length">IAM and STS Entity
389
+ * Character Limits</a> in the <i>IAM User Guide</i>.</p>
390
+ */
107
391
  export declare class PackedPolicyTooLargeException extends __BaseException {
108
392
  readonly name: "PackedPolicyTooLargeException";
109
393
  readonly $fault: "client";
110
-
394
+ /**
395
+ * @internal
396
+ */
111
397
  constructor(opts: __ExceptionOptionType<PackedPolicyTooLargeException, __BaseException>);
112
398
  }
113
-
399
+ /**
400
+ * <p>STS is not activated in the requested region for the account that is being asked to
401
+ * generate credentials. The account administrator must use the IAM console to activate STS
402
+ * in that region. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html">Activating and
403
+ * Deactivating Amazon Web Services STS in an Amazon Web Services Region</a> in the <i>IAM User
404
+ * Guide</i>.</p>
405
+ */
114
406
  export declare class RegionDisabledException extends __BaseException {
115
407
  readonly name: "RegionDisabledException";
116
408
  readonly $fault: "client";
117
-
409
+ /**
410
+ * @internal
411
+ */
118
412
  constructor(opts: __ExceptionOptionType<RegionDisabledException, __BaseException>);
119
413
  }
120
414
  export interface AssumeRoleWithSAMLRequest {
121
-
415
+ /**
416
+ * <p>The Amazon Resource Name (ARN) of the role that the caller is assuming.</p>
417
+ */
122
418
  RoleArn: string | undefined;
123
-
419
+ /**
420
+ * <p>The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the
421
+ * IdP.</p>
422
+ */
124
423
  PrincipalArn: string | undefined;
125
-
424
+ /**
425
+ * <p>The base64 encoded SAML authentication response provided by the IdP.</p>
426
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html">Configuring a Relying Party and
427
+ * Adding Claims</a> in the <i>IAM User Guide</i>. </p>
428
+ */
126
429
  SAMLAssertion: string | undefined;
127
-
430
+ /**
431
+ * <p>The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as
432
+ * managed session policies. The policies must exist in the same account as the role.</p>
433
+ * <p>This parameter is optional. You can provide up to 10 managed policy ARNs. However, the
434
+ * plaintext that you use for both inline and managed session policies can't exceed 2,048
435
+ * characters. For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and Amazon Web Services
436
+ * Service Namespaces</a> in the Amazon Web Services General Reference.</p>
437
+ *
438
+ * <note>
439
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
440
+ * packed binary format that has a separate limit. Your request can fail for this limit
441
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
442
+ * response element indicates by percentage how close the policies and tags for your
443
+ * request are to the upper size limit.
444
+ * </p>
445
+ * </note>
446
+ *
447
+ * <p>Passing policies to this operation returns new
448
+ * temporary credentials. The resulting session's permissions are the intersection of the
449
+ * role's identity-based policy and the session policies. You can use the role's temporary
450
+ * credentials in subsequent Amazon Web Services API calls to access resources in the account that owns
451
+ * the role. You cannot use session policies to grant more permissions than those allowed
452
+ * by the identity-based policy of the role that is being assumed. For more information, see
453
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session
454
+ * Policies</a> in the <i>IAM User Guide</i>.</p>
455
+ */
128
456
  PolicyArns?: PolicyDescriptorType[];
129
-
457
+ /**
458
+ * <p>An IAM policy in JSON format that you want to use as an inline session policy.</p>
459
+ * <p>This parameter is optional. Passing policies to this operation returns new
460
+ * temporary credentials. The resulting session's permissions are the intersection of the
461
+ * role's identity-based policy and the session policies. You can use the role's temporary
462
+ * credentials in subsequent Amazon Web Services API calls to access resources in the account that owns
463
+ * the role. You cannot use session policies to grant more permissions than those allowed
464
+ * by the identity-based policy of the role that is being assumed. For more information, see
465
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session
466
+ * Policies</a> in the <i>IAM User Guide</i>. </p>
467
+ * <p>The plaintext that you use for both inline and managed session policies can't exceed
468
+ * 2,048 characters. The JSON policy characters can be any ASCII character from the space
469
+ * character to the end of the valid character list (\u0020 through \u00FF). It can also
470
+ * include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D)
471
+ * characters.</p>
472
+ *
473
+ * <note>
474
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
475
+ * packed binary format that has a separate limit. Your request can fail for this limit
476
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
477
+ * response element indicates by percentage how close the policies and tags for your
478
+ * request are to the upper size limit.
479
+ * </p>
480
+ * </note>
481
+ */
130
482
  Policy?: string;
131
-
483
+ /**
484
+ * <p>The duration, in seconds, of the role session. Your role session lasts for the duration
485
+ * that you specify for the <code>DurationSeconds</code> parameter, or until the time
486
+ * specified in the SAML authentication response's <code>SessionNotOnOrAfter</code> value,
487
+ * whichever is shorter. You can provide a <code>DurationSeconds</code> value from 900 seconds
488
+ * (15 minutes) up to the maximum session duration setting for the role. This setting can have
489
+ * a value from 1 hour to 12 hours. If you specify a value higher than this setting, the
490
+ * operation fails. For example, if you specify a session duration of 12 hours, but your
491
+ * administrator set the maximum session duration to 6 hours, your operation fails. To learn
492
+ * how to view the maximum value for your role, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session">View the
493
+ * Maximum Session Duration Setting for a Role</a> in the
494
+ * <i>IAM User Guide</i>.</p>
495
+ * <p>By default, the value is set to <code>3600</code> seconds. </p>
496
+ * <note>
497
+ * <p>The <code>DurationSeconds</code> parameter is separate from the duration of a console
498
+ * session that you might request using the returned credentials. The request to the
499
+ * federation endpoint for a console sign-in token takes a <code>SessionDuration</code>
500
+ * parameter that specifies the maximum length of the console session. For more
501
+ * information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html">Creating a URL
502
+ * that Enables Federated Users to Access the Amazon Web Services Management Console</a> in the
503
+ * <i>IAM User Guide</i>.</p>
504
+ * </note>
505
+ */
132
506
  DurationSeconds?: number;
133
507
  }
134
508
  export declare namespace AssumeRoleWithSAMLRequest {
135
-
509
+ /**
510
+ * @internal
511
+ */
136
512
  const filterSensitiveLog: (obj: AssumeRoleWithSAMLRequest) => any;
137
513
  }
138
-
514
+ /**
515
+ * <p>Contains the response to a successful <a>AssumeRoleWithSAML</a> request,
516
+ * including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests. </p>
517
+ */
139
518
  export interface AssumeRoleWithSAMLResponse {
140
-
519
+ /**
520
+ * <p>The temporary security credentials, which include an access key ID, a secret access key,
521
+ * and a security (or session) token.</p>
522
+ *
523
+ * <note>
524
+ * <p>The size of the security token that STS API operations return is not fixed. We
525
+ * strongly recommend that you make no assumptions about the maximum size.</p>
526
+ * </note>
527
+ */
141
528
  Credentials?: Credentials;
142
-
529
+ /**
530
+ * <p>The identifiers for the temporary security credentials that the operation
531
+ * returns.</p>
532
+ */
143
533
  AssumedRoleUser?: AssumedRoleUser;
144
-
534
+ /**
535
+ * <p>A percentage value that indicates the packed size of the session policies and session
536
+ * tags combined passed in the request. The request fails if the packed size is greater than 100 percent,
537
+ * which means the policies and tags exceeded the allowed space.</p>
538
+ */
145
539
  PackedPolicySize?: number;
146
-
540
+ /**
541
+ * <p>The value of the <code>NameID</code> element in the <code>Subject</code> element of the
542
+ * SAML assertion.</p>
543
+ */
147
544
  Subject?: string;
148
-
545
+ /**
546
+ * <p> The format of the name ID, as defined by the <code>Format</code> attribute in the
547
+ * <code>NameID</code> element of the SAML assertion. Typical examples of the format are
548
+ * <code>transient</code> or <code>persistent</code>. </p>
549
+ * <p> If the format includes the prefix
550
+ * <code>urn:oasis:names:tc:SAML:2.0:nameid-format</code>, that prefix is removed. For
551
+ * example, <code>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</code> is returned as
552
+ * <code>transient</code>. If the format includes any other prefix, the format is returned
553
+ * with no modifications.</p>
554
+ */
149
555
  SubjectType?: string;
150
-
556
+ /**
557
+ * <p>The value of the <code>Issuer</code> element of the SAML assertion.</p>
558
+ */
151
559
  Issuer?: string;
152
-
560
+ /**
561
+ * <p> The value of the <code>Recipient</code> attribute of the
562
+ * <code>SubjectConfirmationData</code> element of the SAML assertion. </p>
563
+ */
153
564
  Audience?: string;
154
-
565
+ /**
566
+ * <p>A hash value based on the concatenation of the following:</p>
567
+ * <ul>
568
+ * <li>
569
+ * <p>The <code>Issuer</code> response value.</p>
570
+ * </li>
571
+ * <li>
572
+ * <p>The Amazon Web Services account ID.</p>
573
+ * </li>
574
+ * <li>
575
+ * <p>The friendly name (the last part of the ARN) of the SAML provider in IAM.</p>
576
+ * </li>
577
+ * </ul>
578
+ * <p>The combination of <code>NameQualifier</code> and <code>Subject</code> can be used to
579
+ * uniquely identify a federated user.</p>
580
+ * <p>The following pseudocode shows how the hash value is calculated:</p>
581
+ * <p>
582
+ * <code>BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP" ) )</code>
583
+ * </p>
584
+ */
155
585
  NameQualifier?: string;
156
-
586
+ /**
587
+ * <p>The value in the <code>SourceIdentity</code> attribute in the SAML assertion. </p>
588
+ * <p>You can require users to set a source identity value when they assume a role. You do
589
+ * this by using the <code>sts:SourceIdentity</code> condition key in a role trust policy.
590
+ * That way, actions that are taken with the role are associated with that user. After the
591
+ * source identity is set, the value cannot be changed. It is present in the request for all
592
+ * actions that are taken by the role and persists across <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining">chained
593
+ * role</a> sessions. You can configure your SAML identity provider to use an attribute
594
+ * associated with your users, like user name or email, as the source identity when calling
595
+ * <code>AssumeRoleWithSAML</code>. You do this by adding an attribute to the SAML
596
+ * assertion. For more information about using source identity, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html">Monitor and control
597
+ * actions taken with assumed roles</a> in the
598
+ * <i>IAM User Guide</i>.</p>
599
+ * <p>The regex used to validate this parameter is a string of characters
600
+ * consisting of upper- and lower-case alphanumeric characters with no spaces. You can
601
+ * also include underscores or any of the following characters: =,.@-</p>
602
+ */
157
603
  SourceIdentity?: string;
158
604
  }
159
605
  export declare namespace AssumeRoleWithSAMLResponse {
160
-
606
+ /**
607
+ * @internal
608
+ */
161
609
  const filterSensitiveLog: (obj: AssumeRoleWithSAMLResponse) => any;
162
610
  }
163
-
611
+ /**
612
+ * <p>The identity provider (IdP) reported that authentication failed. This might be because
613
+ * the claim is invalid.</p>
614
+ * <p>If this error is returned for the <code>AssumeRoleWithWebIdentity</code> operation, it
615
+ * can also mean that the claim has expired or has been explicitly revoked. </p>
616
+ */
164
617
  export declare class IDPRejectedClaimException extends __BaseException {
165
618
  readonly name: "IDPRejectedClaimException";
166
619
  readonly $fault: "client";
167
-
620
+ /**
621
+ * @internal
622
+ */
168
623
  constructor(opts: __ExceptionOptionType<IDPRejectedClaimException, __BaseException>);
169
624
  }
170
-
625
+ /**
626
+ * <p>The web identity token that was passed could not be validated by Amazon Web Services. Get a new
627
+ * identity token from the identity provider and then retry the request.</p>
628
+ */
171
629
  export declare class InvalidIdentityTokenException extends __BaseException {
172
630
  readonly name: "InvalidIdentityTokenException";
173
631
  readonly $fault: "client";
174
-
632
+ /**
633
+ * @internal
634
+ */
175
635
  constructor(opts: __ExceptionOptionType<InvalidIdentityTokenException, __BaseException>);
176
636
  }
177
637
  export interface AssumeRoleWithWebIdentityRequest {
178
-
638
+ /**
639
+ * <p>The Amazon Resource Name (ARN) of the role that the caller is assuming.</p>
640
+ */
179
641
  RoleArn: string | undefined;
180
-
642
+ /**
643
+ * <p>An identifier for the assumed role session. Typically, you pass the name or identifier
644
+ * that is associated with the user who is using your application. That way, the temporary
645
+ * security credentials that your application will use are associated with that user. This
646
+ * session name is included as part of the ARN and assumed role ID in the
647
+ * <code>AssumedRoleUser</code> response element.</p>
648
+ * <p>The regex used to validate this parameter is a string of characters
649
+ * consisting of upper- and lower-case alphanumeric characters with no spaces. You can
650
+ * also include underscores or any of the following characters: =,.@-</p>
651
+ */
181
652
  RoleSessionName: string | undefined;
182
-
653
+ /**
654
+ * <p>The OAuth 2.0 access token or OpenID Connect ID token that is provided by the identity
655
+ * provider. Your application must get this token by authenticating the user who is using your
656
+ * application with a web identity provider before the application makes an
657
+ * <code>AssumeRoleWithWebIdentity</code> call. </p>
658
+ */
183
659
  WebIdentityToken: string | undefined;
184
-
660
+ /**
661
+ * <p>The fully qualified host component of the domain name of the OAuth 2.0 identity
662
+ * provider. Do not specify this value for an OpenID Connect identity provider.</p>
663
+ * <p>Currently <code>www.amazon.com</code> and <code>graph.facebook.com</code> are the only
664
+ * supported identity providers for OAuth 2.0 access tokens. Do not include URL schemes and
665
+ * port numbers.</p>
666
+ * <p>Do not specify this value for OpenID Connect ID tokens.</p>
667
+ */
185
668
  ProviderId?: string;
186
-
669
+ /**
670
+ * <p>The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as
671
+ * managed session policies. The policies must exist in the same account as the role.</p>
672
+ * <p>This parameter is optional. You can provide up to 10 managed policy ARNs. However, the
673
+ * plaintext that you use for both inline and managed session policies can't exceed 2,048
674
+ * characters. For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and Amazon Web Services
675
+ * Service Namespaces</a> in the Amazon Web Services General Reference.</p>
676
+ *
677
+ * <note>
678
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
679
+ * packed binary format that has a separate limit. Your request can fail for this limit
680
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
681
+ * response element indicates by percentage how close the policies and tags for your
682
+ * request are to the upper size limit.
683
+ * </p>
684
+ * </note>
685
+ *
686
+ * <p>Passing policies to this operation returns new
687
+ * temporary credentials. The resulting session's permissions are the intersection of the
688
+ * role's identity-based policy and the session policies. You can use the role's temporary
689
+ * credentials in subsequent Amazon Web Services API calls to access resources in the account that owns
690
+ * the role. You cannot use session policies to grant more permissions than those allowed
691
+ * by the identity-based policy of the role that is being assumed. For more information, see
692
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session
693
+ * Policies</a> in the <i>IAM User Guide</i>.</p>
694
+ */
187
695
  PolicyArns?: PolicyDescriptorType[];
188
-
696
+ /**
697
+ * <p>An IAM policy in JSON format that you want to use as an inline session policy.</p>
698
+ * <p>This parameter is optional. Passing policies to this operation returns new
699
+ * temporary credentials. The resulting session's permissions are the intersection of the
700
+ * role's identity-based policy and the session policies. You can use the role's temporary
701
+ * credentials in subsequent Amazon Web Services API calls to access resources in the account that owns
702
+ * the role. You cannot use session policies to grant more permissions than those allowed
703
+ * by the identity-based policy of the role that is being assumed. For more information, see
704
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session
705
+ * Policies</a> in the <i>IAM User Guide</i>.</p>
706
+ * <p>The plaintext that you use for both inline and managed session policies can't exceed
707
+ * 2,048 characters. The JSON policy characters can be any ASCII character from the space
708
+ * character to the end of the valid character list (\u0020 through \u00FF). It can also
709
+ * include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D)
710
+ * characters.</p>
711
+ *
712
+ * <note>
713
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
714
+ * packed binary format that has a separate limit. Your request can fail for this limit
715
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
716
+ * response element indicates by percentage how close the policies and tags for your
717
+ * request are to the upper size limit.
718
+ * </p>
719
+ * </note>
720
+ */
189
721
  Policy?: string;
190
-
722
+ /**
723
+ * <p>The duration, in seconds, of the role session. The value can range from 900 seconds (15
724
+ * minutes) up to the maximum session duration setting for the role. This setting can have a
725
+ * value from 1 hour to 12 hours. If you specify a value higher than this setting, the
726
+ * operation fails. For example, if you specify a session duration of 12 hours, but your
727
+ * administrator set the maximum session duration to 6 hours, your operation fails. To learn
728
+ * how to view the maximum value for your role, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session">View the
729
+ * Maximum Session Duration Setting for a Role</a> in the
730
+ * <i>IAM User Guide</i>.</p>
731
+ * <p>By default, the value is set to <code>3600</code> seconds. </p>
732
+ * <note>
733
+ * <p>The <code>DurationSeconds</code> parameter is separate from the duration of a console
734
+ * session that you might request using the returned credentials. The request to the
735
+ * federation endpoint for a console sign-in token takes a <code>SessionDuration</code>
736
+ * parameter that specifies the maximum length of the console session. For more
737
+ * information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html">Creating a URL
738
+ * that Enables Federated Users to Access the Amazon Web Services Management Console</a> in the
739
+ * <i>IAM User Guide</i>.</p>
740
+ * </note>
741
+ */
191
742
  DurationSeconds?: number;
192
743
  }
193
744
  export declare namespace AssumeRoleWithWebIdentityRequest {
194
-
745
+ /**
746
+ * @internal
747
+ */
195
748
  const filterSensitiveLog: (obj: AssumeRoleWithWebIdentityRequest) => any;
196
749
  }
197
-
750
+ /**
751
+ * <p>Contains the response to a successful <a>AssumeRoleWithWebIdentity</a>
752
+ * request, including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests. </p>
753
+ */
198
754
  export interface AssumeRoleWithWebIdentityResponse {
199
-
755
+ /**
756
+ * <p>The temporary security credentials, which include an access key ID, a secret access key,
757
+ * and a security token.</p>
758
+ *
759
+ * <note>
760
+ * <p>The size of the security token that STS API operations return is not fixed. We
761
+ * strongly recommend that you make no assumptions about the maximum size.</p>
762
+ * </note>
763
+ */
200
764
  Credentials?: Credentials;
201
-
765
+ /**
766
+ * <p>The unique user identifier that is returned by the identity provider. This identifier is
767
+ * associated with the <code>WebIdentityToken</code> that was submitted with the
768
+ * <code>AssumeRoleWithWebIdentity</code> call. The identifier is typically unique to the
769
+ * user and the application that acquired the <code>WebIdentityToken</code> (pairwise
770
+ * identifier). For OpenID Connect ID tokens, this field contains the value returned by the
771
+ * identity provider as the token's <code>sub</code> (Subject) claim. </p>
772
+ */
202
773
  SubjectFromWebIdentityToken?: string;
203
-
774
+ /**
775
+ * <p>The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you
776
+ * can use to refer to the resulting temporary security credentials. For example, you can
777
+ * reference these credentials as a principal in a resource-based policy by using the ARN or
778
+ * assumed role ID. The ARN and ID include the <code>RoleSessionName</code> that you specified
779
+ * when you called <code>AssumeRole</code>. </p>
780
+ */
204
781
  AssumedRoleUser?: AssumedRoleUser;
205
-
782
+ /**
783
+ * <p>A percentage value that indicates the packed size of the session policies and session
784
+ * tags combined passed in the request. The request fails if the packed size is greater than 100 percent,
785
+ * which means the policies and tags exceeded the allowed space.</p>
786
+ */
206
787
  PackedPolicySize?: number;
207
-
788
+ /**
789
+ * <p> The issuing authority of the web identity token presented. For OpenID Connect ID
790
+ * tokens, this contains the value of the <code>iss</code> field. For OAuth 2.0 access tokens,
791
+ * this contains the value of the <code>ProviderId</code> parameter that was passed in the
792
+ * <code>AssumeRoleWithWebIdentity</code> request.</p>
793
+ */
208
794
  Provider?: string;
209
-
795
+ /**
796
+ * <p>The intended audience (also known as client ID) of the web identity token. This is
797
+ * traditionally the client identifier issued to the application that requested the web
798
+ * identity token.</p>
799
+ */
210
800
  Audience?: string;
211
-
801
+ /**
802
+ * <p>The value of the source identity that is returned in the JSON web token (JWT) from the
803
+ * identity provider.</p>
804
+ * <p>You can require users to set a source identity value when they assume a role. You do
805
+ * this by using the <code>sts:SourceIdentity</code> condition key in a role trust policy.
806
+ * That way, actions that are taken with the role are associated with that user. After the
807
+ * source identity is set, the value cannot be changed. It is present in the request for all
808
+ * actions that are taken by the role and persists across <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts#iam-term-role-chaining">chained
809
+ * role</a> sessions. You can configure your identity provider to use an attribute
810
+ * associated with your users, like user name or email, as the source identity when calling
811
+ * <code>AssumeRoleWithWebIdentity</code>. You do this by adding a claim to the JSON web
812
+ * token. To learn more about OIDC tokens and claims, see <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html">Using Tokens with User Pools</a> in the <i>Amazon Cognito Developer Guide</i>.
813
+ * For more information about using source identity, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html">Monitor and control
814
+ * actions taken with assumed roles</a> in the
815
+ * <i>IAM User Guide</i>.</p>
816
+ * <p>The regex used to validate this parameter is a string of characters
817
+ * consisting of upper- and lower-case alphanumeric characters with no spaces. You can
818
+ * also include underscores or any of the following characters: =,.@-</p>
819
+ */
212
820
  SourceIdentity?: string;
213
821
  }
214
822
  export declare namespace AssumeRoleWithWebIdentityResponse {
215
-
823
+ /**
824
+ * @internal
825
+ */
216
826
  const filterSensitiveLog: (obj: AssumeRoleWithWebIdentityResponse) => any;
217
827
  }
218
-
828
+ /**
829
+ * <p>The request could not be fulfilled because the identity provider (IDP) that
830
+ * was asked to verify the incoming identity token could not be reached. This is often a
831
+ * transient error caused by network conditions. Retry the request a limited number of
832
+ * times so that you don't exceed the request rate. If the error persists, the
833
+ * identity provider might be down or not responding.</p>
834
+ */
219
835
  export declare class IDPCommunicationErrorException extends __BaseException {
220
836
  readonly name: "IDPCommunicationErrorException";
221
837
  readonly $fault: "client";
222
-
838
+ /**
839
+ * @internal
840
+ */
223
841
  constructor(opts: __ExceptionOptionType<IDPCommunicationErrorException, __BaseException>);
224
842
  }
225
843
  export interface DecodeAuthorizationMessageRequest {
226
-
844
+ /**
845
+ * <p>The encoded message that was returned with the response.</p>
846
+ */
227
847
  EncodedMessage: string | undefined;
228
848
  }
229
849
  export declare namespace DecodeAuthorizationMessageRequest {
230
-
850
+ /**
851
+ * @internal
852
+ */
231
853
  const filterSensitiveLog: (obj: DecodeAuthorizationMessageRequest) => any;
232
854
  }
233
-
855
+ /**
856
+ * <p>A document that contains additional information about the authorization status of a
857
+ * request from an encoded message that is returned in response to an Amazon Web Services request.</p>
858
+ */
234
859
  export interface DecodeAuthorizationMessageResponse {
235
-
860
+ /**
861
+ * <p>The API returns a response with the decoded message.</p>
862
+ */
236
863
  DecodedMessage?: string;
237
864
  }
238
865
  export declare namespace DecodeAuthorizationMessageResponse {
239
-
866
+ /**
867
+ * @internal
868
+ */
240
869
  const filterSensitiveLog: (obj: DecodeAuthorizationMessageResponse) => any;
241
870
  }
242
-
871
+ /**
872
+ * <p>The error returned if the message passed to <code>DecodeAuthorizationMessage</code>
873
+ * was invalid. This can happen if the token contains invalid characters, such as
874
+ * linebreaks. </p>
875
+ */
243
876
  export declare class InvalidAuthorizationMessageException extends __BaseException {
244
877
  readonly name: "InvalidAuthorizationMessageException";
245
878
  readonly $fault: "client";
246
-
879
+ /**
880
+ * @internal
881
+ */
247
882
  constructor(opts: __ExceptionOptionType<InvalidAuthorizationMessageException, __BaseException>);
248
883
  }
249
884
  export interface GetAccessKeyInfoRequest {
250
-
885
+ /**
886
+ * <p>The identifier of an access key.</p>
887
+ * <p>This parameter allows (through its regex pattern) a string of characters that can
888
+ * consist of any upper- or lowercase letter or digit.</p>
889
+ */
251
890
  AccessKeyId: string | undefined;
252
891
  }
253
892
  export declare namespace GetAccessKeyInfoRequest {
254
-
893
+ /**
894
+ * @internal
895
+ */
255
896
  const filterSensitiveLog: (obj: GetAccessKeyInfoRequest) => any;
256
897
  }
257
898
  export interface GetAccessKeyInfoResponse {
258
-
899
+ /**
900
+ * <p>The number used to identify the Amazon Web Services account.</p>
901
+ */
259
902
  Account?: string;
260
903
  }
261
904
  export declare namespace GetAccessKeyInfoResponse {
262
-
905
+ /**
906
+ * @internal
907
+ */
263
908
  const filterSensitiveLog: (obj: GetAccessKeyInfoResponse) => any;
264
909
  }
265
910
  export interface GetCallerIdentityRequest {
266
911
  }
267
912
  export declare namespace GetCallerIdentityRequest {
268
-
913
+ /**
914
+ * @internal
915
+ */
269
916
  const filterSensitiveLog: (obj: GetCallerIdentityRequest) => any;
270
917
  }
271
-
918
+ /**
919
+ * <p>Contains the response to a successful <a>GetCallerIdentity</a> request,
920
+ * including information about the entity making the request.</p>
921
+ */
272
922
  export interface GetCallerIdentityResponse {
273
-
923
+ /**
924
+ * <p>The unique identifier of the calling entity. The exact value depends on the type of
925
+ * entity that is making the call. The values returned are those listed in the <b>aws:userid</b> column in the <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable">Principal
926
+ * table</a> found on the <b>Policy Variables</b> reference
927
+ * page in the <i>IAM User Guide</i>.</p>
928
+ */
274
929
  UserId?: string;
275
-
930
+ /**
931
+ * <p>The Amazon Web Services account ID number of the account that owns or contains the calling
932
+ * entity.</p>
933
+ */
276
934
  Account?: string;
277
-
935
+ /**
936
+ * <p>The Amazon Web Services ARN associated with the calling entity.</p>
937
+ */
278
938
  Arn?: string;
279
939
  }
280
940
  export declare namespace GetCallerIdentityResponse {
281
-
941
+ /**
942
+ * @internal
943
+ */
282
944
  const filterSensitiveLog: (obj: GetCallerIdentityResponse) => any;
283
945
  }
284
946
  export interface GetFederationTokenRequest {
285
-
947
+ /**
948
+ * <p>The name of the federated user. The name is used as an identifier for the temporary
949
+ * security credentials (such as <code>Bob</code>). For example, you can reference the
950
+ * federated user name in a resource-based policy, such as in an Amazon S3 bucket policy.</p>
951
+ * <p>The regex used to validate this parameter is a string of characters
952
+ * consisting of upper- and lower-case alphanumeric characters with no spaces. You can
953
+ * also include underscores or any of the following characters: =,.@-</p>
954
+ */
286
955
  Name: string | undefined;
287
-
956
+ /**
957
+ * <p>An IAM policy in JSON format that you want to use as an inline session policy.</p>
958
+ * <p>You must pass an inline or managed <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">session policy</a> to
959
+ * this operation. You can pass a single JSON policy document to use as an inline session
960
+ * policy. You can also specify up to 10 managed policies to use as managed session
961
+ * policies.</p>
962
+ * <p>This parameter is optional. However, if you do not pass any session policies, then the
963
+ * resulting federated user session has no permissions.</p>
964
+ * <p>When you pass session policies, the session permissions are the intersection of the
965
+ * IAM user policies and the session policies that you pass. This gives you a way to further
966
+ * restrict the permissions for a federated user. You cannot use session policies to grant
967
+ * more permissions than those that are defined in the permissions policy of the IAM user.
968
+ * For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session Policies</a> in
969
+ * the <i>IAM User Guide</i>.</p>
970
+ * <p>The resulting credentials can be used to access a resource that has a resource-based
971
+ * policy. If that policy specifically references the federated user session in the
972
+ * <code>Principal</code> element of the policy, the session has the permissions allowed by
973
+ * the policy. These permissions are granted in addition to the permissions that are granted
974
+ * by the session policies.</p>
975
+ * <p>The plaintext that you use for both inline and managed session policies can't exceed
976
+ * 2,048 characters. The JSON policy characters can be any ASCII character from the space
977
+ * character to the end of the valid character list (\u0020 through \u00FF). It can also
978
+ * include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D)
979
+ * characters.</p>
980
+ *
981
+ * <note>
982
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
983
+ * packed binary format that has a separate limit. Your request can fail for this limit
984
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
985
+ * response element indicates by percentage how close the policies and tags for your
986
+ * request are to the upper size limit.
987
+ * </p>
988
+ * </note>
989
+ */
288
990
  Policy?: string;
289
-
991
+ /**
992
+ * <p>The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a
993
+ * managed session policy. The policies must exist in the same account as the IAM user that
994
+ * is requesting federated access.</p>
995
+ * <p>You must pass an inline or managed <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">session policy</a> to
996
+ * this operation. You can pass a single JSON policy document to use as an inline session
997
+ * policy. You can also specify up to 10 managed policies to use as managed session policies.
998
+ * The plaintext that you use for both inline and managed session policies can't exceed 2,048
999
+ * characters. You can provide up to 10 managed policy ARNs. For more information about ARNs,
1000
+ * see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon
1001
+ * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
1002
+ * Amazon Web Services General Reference.</p>
1003
+ * <p>This parameter is optional. However, if you do not pass any session policies, then the
1004
+ * resulting federated user session has no permissions.</p>
1005
+ * <p>When you pass session policies, the session permissions are the intersection of the
1006
+ * IAM user policies and the session policies that you pass. This gives you a way to further
1007
+ * restrict the permissions for a federated user. You cannot use session policies to grant
1008
+ * more permissions than those that are defined in the permissions policy of the IAM user.
1009
+ * For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session">Session Policies</a> in
1010
+ * the <i>IAM User Guide</i>.</p>
1011
+ * <p>The resulting credentials can be used to access a resource that has a resource-based
1012
+ * policy. If that policy specifically references the federated user session in the
1013
+ * <code>Principal</code> element of the policy, the session has the permissions allowed by
1014
+ * the policy. These permissions are granted in addition to the permissions that are granted
1015
+ * by the session policies.</p>
1016
+ *
1017
+ * <note>
1018
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
1019
+ * packed binary format that has a separate limit. Your request can fail for this limit
1020
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
1021
+ * response element indicates by percentage how close the policies and tags for your
1022
+ * request are to the upper size limit.
1023
+ * </p>
1024
+ * </note>
1025
+ */
290
1026
  PolicyArns?: PolicyDescriptorType[];
291
-
1027
+ /**
1028
+ * <p>The duration, in seconds, that the session should last. Acceptable durations for
1029
+ * federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with
1030
+ * 43,200 seconds (12 hours) as the default. Sessions obtained using Amazon Web Services account root user
1031
+ * credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified
1032
+ * duration is longer than one hour, the session obtained by using root user credentials
1033
+ * defaults to one hour.</p>
1034
+ */
292
1035
  DurationSeconds?: number;
293
-
1036
+ /**
1037
+ * <p>A list of session tags. Each session tag consists of a key name and an associated value.
1038
+ * For more information about session tags, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html">Passing Session Tags in STS</a> in the
1039
+ * <i>IAM User Guide</i>.</p>
1040
+ * <p>This parameter is optional. You can pass up to 50 session tags. The plaintext session
1041
+ * tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these
1042
+ * and additional limits, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length">IAM
1043
+ * and STS Character Limits</a> in the <i>IAM User Guide</i>.</p>
1044
+ *
1045
+ * <note>
1046
+ * <p>An Amazon Web Services conversion compresses the passed session policies and session tags into a
1047
+ * packed binary format that has a separate limit. Your request can fail for this limit
1048
+ * even if your plaintext meets the other requirements. The <code>PackedPolicySize</code>
1049
+ * response element indicates by percentage how close the policies and tags for your
1050
+ * request are to the upper size limit.
1051
+ * </p>
1052
+ * </note>
1053
+ *
1054
+ * <p>You can pass a session tag with the same key as a tag that is already attached to the
1055
+ * user you are federating. When you do, session tags override a user tag with the same key. </p>
1056
+ * <p>Tag key–value pairs are not case sensitive, but case is preserved. This means that you
1057
+ * cannot have separate <code>Department</code> and <code>department</code> tag keys. Assume
1058
+ * that the role has the <code>Department</code>=<code>Marketing</code> tag and you pass the
1059
+ * <code>department</code>=<code>engineering</code> session tag. <code>Department</code>
1060
+ * and <code>department</code> are not saved as separate tags, and the session tag passed in
1061
+ * the request takes precedence over the role tag.</p>
1062
+ */
294
1063
  Tags?: Tag[];
295
1064
  }
296
1065
  export declare namespace GetFederationTokenRequest {
297
-
1066
+ /**
1067
+ * @internal
1068
+ */
298
1069
  const filterSensitiveLog: (obj: GetFederationTokenRequest) => any;
299
1070
  }
300
-
1071
+ /**
1072
+ * <p>Identifiers for the federated user that is associated with the credentials.</p>
1073
+ */
301
1074
  export interface FederatedUser {
302
-
1075
+ /**
1076
+ * <p>The string that identifies the federated user associated with the credentials, similar
1077
+ * to the unique ID of an IAM user.</p>
1078
+ */
303
1079
  FederatedUserId: string | undefined;
304
-
1080
+ /**
1081
+ * <p>The ARN that specifies the federated user that is associated with the credentials. For
1082
+ * more information about ARNs and how to use them in policies, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html">IAM
1083
+ * Identifiers</a> in the <i>IAM User Guide</i>. </p>
1084
+ */
305
1085
  Arn: string | undefined;
306
1086
  }
307
1087
  export declare namespace FederatedUser {
308
-
1088
+ /**
1089
+ * @internal
1090
+ */
309
1091
  const filterSensitiveLog: (obj: FederatedUser) => any;
310
1092
  }
311
-
1093
+ /**
1094
+ * <p>Contains the response to a successful <a>GetFederationToken</a> request,
1095
+ * including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests. </p>
1096
+ */
312
1097
  export interface GetFederationTokenResponse {
313
-
1098
+ /**
1099
+ * <p>The temporary security credentials, which include an access key ID, a secret access key,
1100
+ * and a security (or session) token.</p>
1101
+ *
1102
+ * <note>
1103
+ * <p>The size of the security token that STS API operations return is not fixed. We
1104
+ * strongly recommend that you make no assumptions about the maximum size.</p>
1105
+ * </note>
1106
+ */
314
1107
  Credentials?: Credentials;
315
-
1108
+ /**
1109
+ * <p>Identifiers for the federated user associated with the credentials (such as
1110
+ * <code>arn:aws:sts::123456789012:federated-user/Bob</code> or
1111
+ * <code>123456789012:Bob</code>). You can use the federated user's ARN in your
1112
+ * resource-based policies, such as an Amazon S3 bucket policy. </p>
1113
+ */
316
1114
  FederatedUser?: FederatedUser;
317
-
1115
+ /**
1116
+ * <p>A percentage value that indicates the packed size of the session policies and session
1117
+ * tags combined passed in the request. The request fails if the packed size is greater than 100 percent,
1118
+ * which means the policies and tags exceeded the allowed space.</p>
1119
+ */
318
1120
  PackedPolicySize?: number;
319
1121
  }
320
1122
  export declare namespace GetFederationTokenResponse {
321
-
1123
+ /**
1124
+ * @internal
1125
+ */
322
1126
  const filterSensitiveLog: (obj: GetFederationTokenResponse) => any;
323
1127
  }
324
1128
  export interface GetSessionTokenRequest {
325
-
1129
+ /**
1130
+ * <p>The duration, in seconds, that the credentials should remain valid. Acceptable durations
1131
+ * for IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours),
1132
+ * with 43,200 seconds (12 hours) as the default. Sessions for Amazon Web Services account owners are
1133
+ * restricted to a maximum of 3,600 seconds (one hour). If the duration is longer than one
1134
+ * hour, the session for Amazon Web Services account owners defaults to one hour.</p>
1135
+ */
326
1136
  DurationSeconds?: number;
327
-
1137
+ /**
1138
+ * <p>The identification number of the MFA device that is associated with the IAM user who
1139
+ * is making the <code>GetSessionToken</code> call. Specify this value if the IAM user has a
1140
+ * policy that requires MFA authentication. The value is either the serial number for a
1141
+ * hardware device (such as <code>GAHT12345678</code>) or an Amazon Resource Name (ARN) for a
1142
+ * virtual device (such as <code>arn:aws:iam::123456789012:mfa/user</code>). You can find the
1143
+ * device for an IAM user by going to the Amazon Web Services Management Console and viewing the user's security
1144
+ * credentials. </p>
1145
+ * <p>The regex used to validate this parameter is a string of
1146
+ * characters consisting of upper- and lower-case alphanumeric characters with no spaces.
1147
+ * You can also include underscores or any of the following characters: =,.@:/-</p>
1148
+ */
328
1149
  SerialNumber?: string;
329
-
1150
+ /**
1151
+ * <p>The value provided by the MFA device, if MFA is required. If any policy requires the
1152
+ * IAM user to submit an MFA code, specify this value. If MFA authentication is required,
1153
+ * the user must provide a code when requesting a set of temporary security credentials. A
1154
+ * user who fails to provide the code receives an "access denied" response when requesting
1155
+ * resources that require MFA authentication.</p>
1156
+ * <p>The format for this parameter, as described by its regex pattern, is a sequence of six
1157
+ * numeric digits.</p>
1158
+ */
330
1159
  TokenCode?: string;
331
1160
  }
332
1161
  export declare namespace GetSessionTokenRequest {
333
-
1162
+ /**
1163
+ * @internal
1164
+ */
334
1165
  const filterSensitiveLog: (obj: GetSessionTokenRequest) => any;
335
1166
  }
336
-
1167
+ /**
1168
+ * <p>Contains the response to a successful <a>GetSessionToken</a> request,
1169
+ * including temporary Amazon Web Services credentials that can be used to make Amazon Web Services requests. </p>
1170
+ */
337
1171
  export interface GetSessionTokenResponse {
338
-
1172
+ /**
1173
+ * <p>The temporary security credentials, which include an access key ID, a secret access key,
1174
+ * and a security (or session) token.</p>
1175
+ *
1176
+ * <note>
1177
+ * <p>The size of the security token that STS API operations return is not fixed. We
1178
+ * strongly recommend that you make no assumptions about the maximum size.</p>
1179
+ * </note>
1180
+ */
339
1181
  Credentials?: Credentials;
340
1182
  }
341
1183
  export declare namespace GetSessionTokenResponse {
342
-
1184
+ /**
1185
+ * @internal
1186
+ */
343
1187
  const filterSensitiveLog: (obj: GetSessionTokenResponse) => any;
344
1188
  }