@aws-sdk/client-verifiedpermissions 3.549.0 → 3.552.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,285 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { BatchIsAuthorizedWithTokenInput, BatchIsAuthorizedWithTokenOutput } from "../models/models_0";
4
+ import { ServiceInputTypes, ServiceOutputTypes, VerifiedPermissionsClientResolvedConfig } from "../VerifiedPermissionsClient";
5
+ /**
6
+ * @public
7
+ */
8
+ export { __MetadataBearer, $Command };
9
+ /**
10
+ * @public
11
+ *
12
+ * The input for {@link BatchIsAuthorizedWithTokenCommand}.
13
+ */
14
+ export interface BatchIsAuthorizedWithTokenCommandInput extends BatchIsAuthorizedWithTokenInput {
15
+ }
16
+ /**
17
+ * @public
18
+ *
19
+ * The output of {@link BatchIsAuthorizedWithTokenCommand}.
20
+ */
21
+ export interface BatchIsAuthorizedWithTokenCommandOutput extends BatchIsAuthorizedWithTokenOutput, __MetadataBearer {
22
+ }
23
+ declare const BatchIsAuthorizedWithTokenCommand_base: {
24
+ new (input: BatchIsAuthorizedWithTokenCommandInput): import("@smithy/smithy-client").CommandImpl<BatchIsAuthorizedWithTokenCommandInput, BatchIsAuthorizedWithTokenCommandOutput, VerifiedPermissionsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
25
+ new (__0_0: BatchIsAuthorizedWithTokenCommandInput): import("@smithy/smithy-client").CommandImpl<BatchIsAuthorizedWithTokenCommandInput, BatchIsAuthorizedWithTokenCommandOutput, VerifiedPermissionsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
27
+ };
28
+ /**
29
+ * <p>Makes a series of decisions about multiple authorization requests for one token. The
30
+ * principal in this request comes from an external identity source in the form of an identity or
31
+ * access token, formatted as a <a href="https://wikipedia.org/wiki/JSON_Web_Token">JSON
32
+ * web token (JWT)</a>. The information in the parameters can also define
33
+ * additional context that Verified Permissions can include in the evaluations.</p>
34
+ * <p>The request is evaluated against all policies in the specified policy store that match the
35
+ * entities that you provide in the entities declaration and in the token. The result of
36
+ * the decisions is a series of <code>Allow</code> or <code>Deny</code> responses, along
37
+ * with the IDs of the policies that produced each decision.</p>
38
+ * <p>The <code>entities</code> of a <code>BatchIsAuthorizedWithToken</code> API request can
39
+ * contain up to 100 resources and up to 99 user groups. The <code>requests</code> of a
40
+ * <code>BatchIsAuthorizedWithToken</code> API request can contain up to 30
41
+ * requests.</p>
42
+ * <note>
43
+ * <p>The <code>BatchIsAuthorizedWithToken</code> operation doesn't have its own
44
+ * IAM permission. To authorize this operation for Amazon Web Services principals, include the
45
+ * permission <code>verifiedpermissions:IsAuthorizedWithToken</code> in their IAM
46
+ * policies.</p>
47
+ * </note>
48
+ * @example
49
+ * Use a bare-bones client and the command you need to make an API call.
50
+ * ```javascript
51
+ * import { VerifiedPermissionsClient, BatchIsAuthorizedWithTokenCommand } from "@aws-sdk/client-verifiedpermissions"; // ES Modules import
52
+ * // const { VerifiedPermissionsClient, BatchIsAuthorizedWithTokenCommand } = require("@aws-sdk/client-verifiedpermissions"); // CommonJS import
53
+ * const client = new VerifiedPermissionsClient(config);
54
+ * const input = { // BatchIsAuthorizedWithTokenInput
55
+ * policyStoreId: "STRING_VALUE", // required
56
+ * identityToken: "STRING_VALUE",
57
+ * accessToken: "STRING_VALUE",
58
+ * entities: { // EntitiesDefinition Union: only one key present
59
+ * entityList: [ // EntityList
60
+ * { // EntityItem
61
+ * identifier: { // EntityIdentifier
62
+ * entityType: "STRING_VALUE", // required
63
+ * entityId: "STRING_VALUE", // required
64
+ * },
65
+ * attributes: { // EntityAttributes
66
+ * "<keys>": { // AttributeValue Union: only one key present
67
+ * boolean: true || false,
68
+ * entityIdentifier: {
69
+ * entityType: "STRING_VALUE", // required
70
+ * entityId: "STRING_VALUE", // required
71
+ * },
72
+ * long: Number("long"),
73
+ * string: "STRING_VALUE",
74
+ * set: [ // SetAttribute
75
+ * {// Union: only one key present
76
+ * boolean: true || false,
77
+ * entityIdentifier: "<EntityIdentifier>",
78
+ * long: Number("long"),
79
+ * string: "STRING_VALUE",
80
+ * set: [
81
+ * "<AttributeValue>",
82
+ * ],
83
+ * record: { // RecordAttribute
84
+ * "<keys>": "<AttributeValue>",
85
+ * },
86
+ * },
87
+ * ],
88
+ * record: {
89
+ * "<keys>": "<AttributeValue>",
90
+ * },
91
+ * },
92
+ * },
93
+ * parents: [ // ParentList
94
+ * "<EntityIdentifier>",
95
+ * ],
96
+ * },
97
+ * ],
98
+ * },
99
+ * requests: [ // BatchIsAuthorizedWithTokenInputList // required
100
+ * { // BatchIsAuthorizedWithTokenInputItem
101
+ * action: { // ActionIdentifier
102
+ * actionType: "STRING_VALUE", // required
103
+ * actionId: "STRING_VALUE", // required
104
+ * },
105
+ * resource: "<EntityIdentifier>",
106
+ * context: { // ContextDefinition Union: only one key present
107
+ * contextMap: { // ContextMap
108
+ * "<keys>": "<AttributeValue>",
109
+ * },
110
+ * },
111
+ * },
112
+ * ],
113
+ * };
114
+ * const command = new BatchIsAuthorizedWithTokenCommand(input);
115
+ * const response = await client.send(command);
116
+ * // { // BatchIsAuthorizedWithTokenOutput
117
+ * // principal: { // EntityIdentifier
118
+ * // entityType: "STRING_VALUE", // required
119
+ * // entityId: "STRING_VALUE", // required
120
+ * // },
121
+ * // results: [ // BatchIsAuthorizedWithTokenOutputList // required
122
+ * // { // BatchIsAuthorizedWithTokenOutputItem
123
+ * // request: { // BatchIsAuthorizedWithTokenInputItem
124
+ * // action: { // ActionIdentifier
125
+ * // actionType: "STRING_VALUE", // required
126
+ * // actionId: "STRING_VALUE", // required
127
+ * // },
128
+ * // resource: {
129
+ * // entityType: "STRING_VALUE", // required
130
+ * // entityId: "STRING_VALUE", // required
131
+ * // },
132
+ * // context: { // ContextDefinition Union: only one key present
133
+ * // contextMap: { // ContextMap
134
+ * // "<keys>": { // AttributeValue Union: only one key present
135
+ * // boolean: true || false,
136
+ * // entityIdentifier: "<EntityIdentifier>",
137
+ * // long: Number("long"),
138
+ * // string: "STRING_VALUE",
139
+ * // set: [ // SetAttribute
140
+ * // {// Union: only one key present
141
+ * // boolean: true || false,
142
+ * // entityIdentifier: "<EntityIdentifier>",
143
+ * // long: Number("long"),
144
+ * // string: "STRING_VALUE",
145
+ * // set: [
146
+ * // "<AttributeValue>",
147
+ * // ],
148
+ * // record: { // RecordAttribute
149
+ * // "<keys>": "<AttributeValue>",
150
+ * // },
151
+ * // },
152
+ * // ],
153
+ * // record: {
154
+ * // "<keys>": "<AttributeValue>",
155
+ * // },
156
+ * // },
157
+ * // },
158
+ * // },
159
+ * // },
160
+ * // decision: "ALLOW" || "DENY", // required
161
+ * // determiningPolicies: [ // DeterminingPolicyList // required
162
+ * // { // DeterminingPolicyItem
163
+ * // policyId: "STRING_VALUE", // required
164
+ * // },
165
+ * // ],
166
+ * // errors: [ // EvaluationErrorList // required
167
+ * // { // EvaluationErrorItem
168
+ * // errorDescription: "STRING_VALUE", // required
169
+ * // },
170
+ * // ],
171
+ * // },
172
+ * // ],
173
+ * // };
174
+ *
175
+ * ```
176
+ *
177
+ * @param BatchIsAuthorizedWithTokenCommandInput - {@link BatchIsAuthorizedWithTokenCommandInput}
178
+ * @returns {@link BatchIsAuthorizedWithTokenCommandOutput}
179
+ * @see {@link BatchIsAuthorizedWithTokenCommandInput} for command's `input` shape.
180
+ * @see {@link BatchIsAuthorizedWithTokenCommandOutput} for command's `response` shape.
181
+ * @see {@link VerifiedPermissionsClientResolvedConfig | config} for VerifiedPermissionsClient's `config` shape.
182
+ *
183
+ * @throws {@link ResourceNotFoundException} (client fault)
184
+ * <p>The request failed because it references a resource that doesn't exist.</p>
185
+ *
186
+ * @throws {@link AccessDeniedException} (client fault)
187
+ * <p>You don't have sufficient access to perform this action.</p>
188
+ *
189
+ * @throws {@link InternalServerException} (server fault)
190
+ * <p>The request failed because of an internal error. Try your request again later</p>
191
+ *
192
+ * @throws {@link ThrottlingException} (client fault)
193
+ * <p>The request failed because it exceeded a throttling quota.</p>
194
+ *
195
+ * @throws {@link ValidationException} (client fault)
196
+ * <p>The request failed because one or more input parameters don't satisfy their constraint
197
+ * requirements. The output is provided as a list of fields and a reason for each field that
198
+ * isn't valid.</p>
199
+ * <p>The possible reasons include the following:</p>
200
+ * <ul>
201
+ * <li>
202
+ * <p>
203
+ * <b>UnrecognizedEntityType</b>
204
+ * </p>
205
+ * <p>The policy includes an entity type that isn't found in the schema.</p>
206
+ * </li>
207
+ * <li>
208
+ * <p>
209
+ * <b>UnrecognizedActionId</b>
210
+ * </p>
211
+ * <p>The policy includes an action id that isn't found in the schema.</p>
212
+ * </li>
213
+ * <li>
214
+ * <p>
215
+ * <b>InvalidActionApplication</b>
216
+ * </p>
217
+ * <p>The policy includes an action that, according to the schema, doesn't support
218
+ * the specified principal and resource.</p>
219
+ * </li>
220
+ * <li>
221
+ * <p>
222
+ * <b>UnexpectedType</b>
223
+ * </p>
224
+ * <p>The policy included an operand that isn't a valid type for the specified
225
+ * operation.</p>
226
+ * </li>
227
+ * <li>
228
+ * <p>
229
+ * <b>IncompatibleTypes</b>
230
+ * </p>
231
+ * <p>The types of elements included in a <code>set</code>, or the types of
232
+ * expressions used in an <code>if...then...else</code> clause aren't compatible in
233
+ * this context.</p>
234
+ * </li>
235
+ * <li>
236
+ * <p>
237
+ * <b>MissingAttribute</b>
238
+ * </p>
239
+ * <p>The policy attempts to access a record or entity attribute that isn't
240
+ * specified in the schema. Test for the existence of the attribute first before
241
+ * attempting to access its value. For more information, see the <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the
242
+ * <i>Cedar Policy Language Guide</i>.</p>
243
+ * </li>
244
+ * <li>
245
+ * <p>
246
+ * <b>UnsafeOptionalAttributeAccess</b>
247
+ * </p>
248
+ * <p>The policy attempts to access a record or entity attribute that is optional
249
+ * and isn't guaranteed to be present. Test for the existence of the attribute
250
+ * first before attempting to access its value. For more information, see the
251
+ * <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the
252
+ * <i>Cedar Policy Language Guide</i>.</p>
253
+ * </li>
254
+ * <li>
255
+ * <p>
256
+ * <b>ImpossiblePolicy</b>
257
+ * </p>
258
+ * <p>Cedar has determined that a policy condition always evaluates to false. If
259
+ * the policy is always false, it can never apply to any query, and so it can never
260
+ * affect an authorization decision.</p>
261
+ * </li>
262
+ * <li>
263
+ * <p>
264
+ * <b>WrongNumberArguments</b>
265
+ * </p>
266
+ * <p>The policy references an extension type with the wrong number of
267
+ * arguments.</p>
268
+ * </li>
269
+ * <li>
270
+ * <p>
271
+ * <b>FunctionArgumentValidationError</b>
272
+ * </p>
273
+ * <p>Cedar couldn't parse the argument passed to an extension type. For example,
274
+ * a string that is to be parsed as an IPv4 address can contain only digits and the
275
+ * period character.</p>
276
+ * </li>
277
+ * </ul>
278
+ *
279
+ * @throws {@link VerifiedPermissionsServiceException}
280
+ * <p>Base exception class for all service exceptions from VerifiedPermissions service.</p>
281
+ *
282
+ * @public
283
+ */
284
+ export declare class BatchIsAuthorizedWithTokenCommand extends BatchIsAuthorizedWithTokenCommand_base {
285
+ }
@@ -34,15 +34,6 @@ declare const IsAuthorizedWithTokenCommand_base: {
34
34
  * matching policies in the specified policy store. The result of the decision is either
35
35
  * <code>Allow</code> or <code>Deny</code>, along with a list of the policies that
36
36
  * resulted in the decision.</p>
37
- * <important>
38
- * <p>If you specify the <code>identityToken</code> parameter, then this operation
39
- * derives the principal from that token. You must not also include that principal in
40
- * the <code>entities</code> parameter or the operation fails and reports a conflict
41
- * between the two entity sources.</p>
42
- * <p>If you provide only an <code>accessToken</code>, then you can include the entity
43
- * as part of the <code>entities</code> parameter to provide additional
44
- * attributes.</p>
45
- * </important>
46
37
  * <p>At this time, Verified Permissions accepts tokens from only Amazon Cognito.</p>
47
38
  * <p>Verified Permissions validates each token that is specified in a request by checking its expiration
48
39
  * date and its signature.</p>
@@ -1,4 +1,5 @@
1
1
  export * from "./BatchIsAuthorizedCommand";
2
+ export * from "./BatchIsAuthorizedWithTokenCommand";
2
3
  export * from "./CreateIdentitySourceCommand";
3
4
  export * from "./CreatePolicyCommand";
4
5
  export * from "./CreatePolicyStoreCommand";
@@ -293,8 +293,8 @@ export declare class ValidationException extends __BaseException {
293
293
  constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>);
294
294
  }
295
295
  /**
296
- * <p>The type of entity that a policy store maps to groups from an Amazon Cognito user
297
- * pool identity source.</p>
296
+ * <p>A list of user groups and entities from an Amazon Cognito user pool identity
297
+ * source.</p>
298
298
  * <p>This data type is part of a <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CognitoUserPoolConfiguration.html">CognitoUserPoolConfiguration</a> structure and is a request parameter in <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>.</p>
299
299
  * @public
300
300
  */
@@ -307,8 +307,8 @@ export interface CognitoGroupConfiguration {
307
307
  groupEntityType: string | undefined;
308
308
  }
309
309
  /**
310
- * <p>The type of entity that a policy store maps to groups from an Amazon Cognito user
311
- * pool identity source.</p>
310
+ * <p>A list of user groups and entities from an Amazon Cognito user pool identity
311
+ * source.</p>
312
312
  * <p>This data type is part of an <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CognitoUserPoolConfigurationItem.html">CognitoUserPoolConfigurationDetail</a> structure and is a response parameter to
313
313
  * <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetIdentitySource.html">GetIdentitySource</a>.</p>
314
314
  * @public
@@ -322,8 +322,8 @@ export interface CognitoGroupConfigurationDetail {
322
322
  groupEntityType?: string;
323
323
  }
324
324
  /**
325
- * <p>The type of entity that a policy store maps to groups from an Amazon Cognito user
326
- * pool identity source.</p>
325
+ * <p>A list of user groups and entities from an Amazon Cognito user pool identity
326
+ * source.</p>
327
327
  * <p>This data type is part of an <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CognitoUserPoolConfigurationDetail.html">CognitoUserPoolConfigurationItem</a> structure and is a response parameter to
328
328
  * <a href="http://forums.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentitySources.html">ListIdentitySources</a>.</p>
329
329
  * @public
@@ -342,7 +342,7 @@ export interface CognitoGroupConfigurationItem {
342
342
  * <p>This data type is used as a field that is part of an <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_Configuration.html">Configuration</a> structure that is
343
343
  * used as a parameter to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>.</p>
344
344
  * <p>Example:<code>"CognitoUserPoolConfiguration":\{"UserPoolArn":"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","ClientIds":
345
- * ["a1b2c3d4e5f6g7h8i9j0kalbmc"],"groupConfiguration": \{"groupEntityType": "MyCorp::Group"\}\}</code>
345
+ * ["a1b2c3d4e5f6g7h8i9j0kalbmc"]\}</code>
346
346
  * </p>
347
347
  * @public
348
348
  */
@@ -365,8 +365,8 @@ export interface CognitoUserPoolConfiguration {
365
365
  */
366
366
  clientIds?: string[];
367
367
  /**
368
- * <p>The type of entity that a policy store maps to groups from an Amazon Cognito user
369
- * pool identity source.</p>
368
+ * <p>The configuration of the user groups from an Amazon Cognito user pool identity
369
+ * source.</p>
370
370
  * @public
371
371
  */
372
372
  groupConfiguration?: CognitoGroupConfiguration;
@@ -377,7 +377,7 @@ export interface CognitoUserPoolConfiguration {
377
377
  * <p>This data type is used as a field that is part of an <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ConfigurationDetail.html">ConfigurationDetail</a> structure that is
378
378
  * part of the response to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_GetIdentitySource.html">GetIdentitySource</a>.</p>
379
379
  * <p>Example:<code>"CognitoUserPoolConfiguration":\{"UserPoolArn":"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","ClientIds":
380
- * ["a1b2c3d4e5f6g7h8i9j0kalbmc"],"groupConfiguration": \{"groupEntityType": "MyCorp::Group"\}\}</code>
380
+ * ["a1b2c3d4e5f6g7h8i9j0kalbmc"]\}</code>
381
381
  * </p>
382
382
  * @public
383
383
  */
@@ -409,8 +409,8 @@ export interface CognitoUserPoolConfigurationDetail {
409
409
  */
410
410
  issuer: string | undefined;
411
411
  /**
412
- * <p>The type of entity that a policy store maps to groups from an Amazon Cognito user
413
- * pool identity source.</p>
412
+ * <p>The configuration of the user groups from an Amazon Cognito user pool identity
413
+ * source.</p>
414
414
  * @public
415
415
  */
416
416
  groupConfiguration?: CognitoGroupConfigurationDetail;
@@ -421,7 +421,7 @@ export interface CognitoUserPoolConfigurationDetail {
421
421
  * <p>This data type is used as a field that is part of the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ConfigurationItem.html">ConfigurationItem</a> structure that is
422
422
  * part of the response to <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_ListIdentitySources.html">ListIdentitySources</a>.</p>
423
423
  * <p>Example:<code>"CognitoUserPoolConfiguration":\{"UserPoolArn":"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","ClientIds":
424
- * ["a1b2c3d4e5f6g7h8i9j0kalbmc"],"groupConfiguration": \{"groupEntityType": "MyCorp::Group"\}\}</code>
424
+ * ["a1b2c3d4e5f6g7h8i9j0kalbmc"]\}</code>
425
425
  * </p>
426
426
  * @public
427
427
  */
@@ -453,8 +453,8 @@ export interface CognitoUserPoolConfigurationItem {
453
453
  */
454
454
  issuer: string | undefined;
455
455
  /**
456
- * <p>The type of entity that a policy store maps to groups from an Amazon Cognito user
457
- * pool identity source.</p>
456
+ * <p>The configuration of the user groups from an Amazon Cognito user pool identity
457
+ * source.</p>
458
458
  * @public
459
459
  */
460
460
  groupConfiguration?: CognitoGroupConfigurationItem;
@@ -464,7 +464,7 @@ export interface CognitoUserPoolConfigurationItem {
464
464
  * <note>
465
465
  * <p>At this time, the only valid member of this structure is a Amazon Cognito user pool
466
466
  * configuration.</p>
467
- * <p>Specifies a <code>userPoolArn</code>, a <code>groupConfiguration</code>, and a
467
+ * <p>You must specify a <code>userPoolArn</code>, and optionally, a
468
468
  * <code>ClientId</code>.</p>
469
469
  * </note>
470
470
  * <p>This data type is used as a request parameter for the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html">CreateIdentitySource</a>
@@ -516,8 +516,7 @@ export type ConfigurationDetail = ConfigurationDetail.CognitoUserPoolConfigurati
516
516
  export declare namespace ConfigurationDetail {
517
517
  /**
518
518
  * <p>Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of
519
- * authenticated identities as entities. It specifies the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name (ARN)</a> of a Amazon Cognito user pool,
520
- * the policy store entity that you want to assign to user groups,
519
+ * authenticated identities as entities. It specifies the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name (ARN)</a> of a Amazon Cognito user pool
521
520
  * and one or more application client IDs.</p>
522
521
  * <p>Example:
523
522
  * <code>"configuration":\{"cognitoUserPoolConfiguration":\{"userPoolArn":"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","clientIds":
@@ -555,8 +554,7 @@ export type ConfigurationItem = ConfigurationItem.CognitoUserPoolConfigurationMe
555
554
  export declare namespace ConfigurationItem {
556
555
  /**
557
556
  * <p>Contains configuration details of a Amazon Cognito user pool that Verified Permissions can use as a source of
558
- * authenticated identities as entities. It specifies the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name (ARN)</a> of a Amazon Cognito user pool,
559
- * the policy store entity that you want to assign to user groups,
557
+ * authenticated identities as entities. It specifies the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name (ARN)</a> of a Amazon Cognito user pool
560
558
  * and one or more application client IDs.</p>
561
559
  * <p>Example:
562
560
  * <code>"configuration":\{"cognitoUserPoolConfiguration":\{"userPoolArn":"arn:aws:cognito-idp:us-east-1:123456789012:userpool/us-east-1_1a2b3c4d5","clientIds":
@@ -1774,7 +1772,7 @@ export interface ListIdentitySourcesOutput {
1774
1772
  identitySources: IdentitySourceItem[] | undefined;
1775
1773
  }
1776
1774
  /**
1777
- * <p>The user group entities from an Amazon Cognito user pool identity
1775
+ * <p>A list of user groups and entities from an Amazon Cognito user pool identity
1778
1776
  * source.</p>
1779
1777
  * @public
1780
1778
  */
@@ -2956,6 +2954,31 @@ export interface BatchIsAuthorizedInputItem {
2956
2954
  */
2957
2955
  context?: ContextDefinition;
2958
2956
  }
2957
+ /**
2958
+ * <p>An authorization request that you include in a <code>BatchIsAuthorizedWithToken</code>
2959
+ * API request.</p>
2960
+ * @public
2961
+ */
2962
+ export interface BatchIsAuthorizedWithTokenInputItem {
2963
+ /**
2964
+ * <p>Specifies the requested action to be authorized. For example,
2965
+ * <code>PhotoFlash::ReadPhoto</code>.</p>
2966
+ * @public
2967
+ */
2968
+ action?: ActionIdentifier;
2969
+ /**
2970
+ * <p>Specifies the resource that you want an authorization decision for. For example,
2971
+ * <code>PhotoFlash::Photo</code>.</p>
2972
+ * @public
2973
+ */
2974
+ resource?: EntityIdentifier;
2975
+ /**
2976
+ * <p>Specifies additional context that can be used to make more granular authorization
2977
+ * decisions.</p>
2978
+ * @public
2979
+ */
2980
+ context?: ContextDefinition;
2981
+ }
2959
2982
  /**
2960
2983
  * <p>The decision, based on policy evaluation, from an individual authorization request in
2961
2984
  * a <code>BatchIsAuthorized</code> API request.</p>
@@ -2990,6 +3013,39 @@ export interface BatchIsAuthorizedOutputItem {
2990
3013
  */
2991
3014
  errors: EvaluationErrorItem[] | undefined;
2992
3015
  }
3016
+ /**
3017
+ * <p>The decision, based on policy evaluation, from an individual authorization request in a
3018
+ * <code>BatchIsAuthorizedWithToken</code> API request.</p>
3019
+ * @public
3020
+ */
3021
+ export interface BatchIsAuthorizedWithTokenOutputItem {
3022
+ /**
3023
+ * <p>The authorization request that initiated the decision.</p>
3024
+ * @public
3025
+ */
3026
+ request: BatchIsAuthorizedWithTokenInputItem | undefined;
3027
+ /**
3028
+ * <p>An authorization decision that indicates if the authorization request should be allowed
3029
+ * or denied.</p>
3030
+ * @public
3031
+ */
3032
+ decision: Decision | undefined;
3033
+ /**
3034
+ * <p>The list of determining policies used to make the authorization decision. For example,
3035
+ * if there are two matching policies, where one is a forbid and the other is a permit, then
3036
+ * the forbid policy will be the determining policy. In the case of multiple matching permit
3037
+ * policies then there would be multiple determining policies. In the case that no policies
3038
+ * match, and hence the response is DENY, there would be no determining policies.</p>
3039
+ * @public
3040
+ */
3041
+ determiningPolicies: DeterminingPolicyItem[] | undefined;
3042
+ /**
3043
+ * <p>Errors that occurred while making an authorization decision. For example, a policy might
3044
+ * reference an entity or attribute that doesn't exist in the request.</p>
3045
+ * @public
3046
+ */
3047
+ errors: EvaluationErrorItem[] | undefined;
3048
+ }
2993
3049
  /**
2994
3050
  * <p>Contains the list of entities to be considered during an authorization request. This
2995
3051
  * includes all principals, resources, and actions required to successfully evaluate the
@@ -3037,6 +3093,22 @@ export interface BatchIsAuthorizedOutput {
3037
3093
  */
3038
3094
  results: BatchIsAuthorizedOutputItem[] | undefined;
3039
3095
  }
3096
+ /**
3097
+ * @public
3098
+ */
3099
+ export interface BatchIsAuthorizedWithTokenOutput {
3100
+ /**
3101
+ * <p>The identifier of the principal in the ID or access token.</p>
3102
+ * @public
3103
+ */
3104
+ principal?: EntityIdentifier;
3105
+ /**
3106
+ * <p>A series of <code>Allow</code> or <code>Deny</code> decisions for each request, and
3107
+ * the policies that produced them.</p>
3108
+ * @public
3109
+ */
3110
+ results: BatchIsAuthorizedWithTokenOutputItem[] | undefined;
3111
+ }
3040
3112
  /**
3041
3113
  * @public
3042
3114
  */
@@ -3131,9 +3203,10 @@ export interface IsAuthorizedWithTokenInput {
3131
3203
  /**
3132
3204
  * <p>Specifies the list of resources and their associated attributes that Verified Permissions can examine
3133
3205
  * when evaluating the policies. </p>
3134
- * <note>
3135
- * <p>You can include only resource and action entities in this parameter; you can't
3136
- * include principals.</p>
3206
+ * <important>
3207
+ * <p>You can't include principals in this parameter, only resource and action entities.
3208
+ * This parameter can't include any entities of a type that matches the user or group
3209
+ * entity types that you defined in your identity source.</p>
3137
3210
  * <ul>
3138
3211
  * <li>
3139
3212
  * <p>The <code>IsAuthorizedWithToken</code> operation takes principal
@@ -3148,7 +3221,7 @@ export interface IsAuthorizedWithTokenInput {
3148
3221
  * and <code>EntityType</code>. </p>
3149
3222
  * </li>
3150
3223
  * </ul>
3151
- * </note>
3224
+ * </important>
3152
3225
  * @public
3153
3226
  */
3154
3227
  entities?: EntitiesDefinition;
@@ -3179,6 +3252,67 @@ export interface BatchIsAuthorizedInput {
3179
3252
  */
3180
3253
  requests: BatchIsAuthorizedInputItem[] | undefined;
3181
3254
  }
3255
+ /**
3256
+ * @public
3257
+ */
3258
+ export interface BatchIsAuthorizedWithTokenInput {
3259
+ /**
3260
+ * <p>Specifies the ID of the policy store. Policies in this policy store will be used to make an
3261
+ * authorization decision for the input.</p>
3262
+ * @public
3263
+ */
3264
+ policyStoreId: string | undefined;
3265
+ /**
3266
+ * <p>Specifies an identity (ID) token for the principal that you want to authorize in each
3267
+ * request. This token is provided to you by the identity provider (IdP) associated with
3268
+ * the specified identity source. You must specify either an <code>accessToken</code>, an
3269
+ * <code>identityToken</code>, or both.</p>
3270
+ * <p>Must be an ID token. Verified Permissions returns an error if the <code>token_use</code> claim in the
3271
+ * submitted token isn't <code>id</code>.</p>
3272
+ * @public
3273
+ */
3274
+ identityToken?: string;
3275
+ /**
3276
+ * <p>Specifies an access token for the principal that you want to authorize in each
3277
+ * request. This token is provided to you by the identity provider (IdP) associated with
3278
+ * the specified identity source. You must specify either an <code>accessToken</code>, an
3279
+ * <code>identityToken</code>, or both.</p>
3280
+ * <p>Must be an access token. Verified Permissions returns an error if the <code>token_use</code> claim in
3281
+ * the submitted token isn't <code>access</code>.</p>
3282
+ * @public
3283
+ */
3284
+ accessToken?: string;
3285
+ /**
3286
+ * <p>Specifies the list of resources and their associated attributes that Verified Permissions can examine
3287
+ * when evaluating the policies. </p>
3288
+ * <important>
3289
+ * <p>You can't include principals in this parameter, only resource and action entities.
3290
+ * This parameter can't include any entities of a type that matches the user or group
3291
+ * entity types that you defined in your identity source.</p>
3292
+ * <ul>
3293
+ * <li>
3294
+ * <p>The <code>BatchIsAuthorizedWithToken</code> operation takes principal
3295
+ * attributes from <b>
3296
+ * <i>only</i>
3297
+ * </b>
3298
+ * the <code>identityToken</code> or <code>accessToken</code> passed to the
3299
+ * operation.</p>
3300
+ * </li>
3301
+ * <li>
3302
+ * <p>For action entities, you can include only their <code>Identifier</code>
3303
+ * and <code>EntityType</code>. </p>
3304
+ * </li>
3305
+ * </ul>
3306
+ * </important>
3307
+ * @public
3308
+ */
3309
+ entities?: EntitiesDefinition;
3310
+ /**
3311
+ * <p>An array of up to 30 requests that you want Verified Permissions to evaluate.</p>
3312
+ * @public
3313
+ */
3314
+ requests: BatchIsAuthorizedWithTokenInputItem[] | undefined;
3315
+ }
3182
3316
  /**
3183
3317
  * @internal
3184
3318
  */
@@ -3439,10 +3573,18 @@ export declare const EntityItemFilterSensitiveLog: (obj: EntityItem) => any;
3439
3573
  * @internal
3440
3574
  */
3441
3575
  export declare const BatchIsAuthorizedInputItemFilterSensitiveLog: (obj: BatchIsAuthorizedInputItem) => any;
3576
+ /**
3577
+ * @internal
3578
+ */
3579
+ export declare const BatchIsAuthorizedWithTokenInputItemFilterSensitiveLog: (obj: BatchIsAuthorizedWithTokenInputItem) => any;
3442
3580
  /**
3443
3581
  * @internal
3444
3582
  */
3445
3583
  export declare const BatchIsAuthorizedOutputItemFilterSensitiveLog: (obj: BatchIsAuthorizedOutputItem) => any;
3584
+ /**
3585
+ * @internal
3586
+ */
3587
+ export declare const BatchIsAuthorizedWithTokenOutputItemFilterSensitiveLog: (obj: BatchIsAuthorizedWithTokenOutputItem) => any;
3446
3588
  /**
3447
3589
  * @internal
3448
3590
  */
@@ -3451,6 +3593,10 @@ export declare const EntitiesDefinitionFilterSensitiveLog: (obj: EntitiesDefinit
3451
3593
  * @internal
3452
3594
  */
3453
3595
  export declare const BatchIsAuthorizedOutputFilterSensitiveLog: (obj: BatchIsAuthorizedOutput) => any;
3596
+ /**
3597
+ * @internal
3598
+ */
3599
+ export declare const BatchIsAuthorizedWithTokenOutputFilterSensitiveLog: (obj: BatchIsAuthorizedWithTokenOutput) => any;
3454
3600
  /**
3455
3601
  * @internal
3456
3602
  */
@@ -3463,3 +3609,7 @@ export declare const IsAuthorizedWithTokenInputFilterSensitiveLog: (obj: IsAutho
3463
3609
  * @internal
3464
3610
  */
3465
3611
  export declare const BatchIsAuthorizedInputFilterSensitiveLog: (obj: BatchIsAuthorizedInput) => any;
3612
+ /**
3613
+ * @internal
3614
+ */
3615
+ export declare const BatchIsAuthorizedWithTokenInputFilterSensitiveLog: (obj: BatchIsAuthorizedWithTokenInput) => any;