@aws-sdk/client-sts 3.36.0 → 3.36.1

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