@aws-sdk/client-verifiedpermissions 3.799.0 → 3.803.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.
- package/README.md +25 -65
- package/dist-cjs/index.js +158 -0
- package/dist-es/VerifiedPermissions.js +6 -0
- package/dist-es/commands/ListTagsForResourceCommand.js +22 -0
- package/dist-es/commands/TagResourceCommand.js +22 -0
- package/dist-es/commands/UntagResourceCommand.js +22 -0
- package/dist-es/commands/index.js +3 -0
- package/dist-es/models/models_0.js +18 -0
- package/dist-es/protocols/Aws_json1_0.js +73 -1
- package/dist-types/VerifiedPermissions.d.ts +22 -65
- package/dist-types/VerifiedPermissionsClient.d.ts +6 -67
- package/dist-types/commands/BatchGetPolicyCommand.d.ts +2 -88
- package/dist-types/commands/BatchIsAuthorizedCommand.d.ts +2 -103
- package/dist-types/commands/BatchIsAuthorizedWithTokenCommand.d.ts +2 -101
- package/dist-types/commands/CreateIdentitySourceCommand.d.ts +3 -121
- package/dist-types/commands/CreatePolicyCommand.d.ts +3 -111
- package/dist-types/commands/CreatePolicyStoreCommand.d.ts +6 -95
- package/dist-types/commands/CreatePolicyTemplateCommand.d.ts +3 -97
- package/dist-types/commands/DeleteIdentitySourceCommand.d.ts +3 -88
- package/dist-types/commands/DeletePolicyCommand.d.ts +3 -87
- package/dist-types/commands/DeletePolicyStoreCommand.d.ts +2 -85
- package/dist-types/commands/DeletePolicyTemplateCommand.d.ts +3 -90
- package/dist-types/commands/GetIdentitySourceCommand.d.ts +1 -82
- package/dist-types/commands/GetPolicyCommand.d.ts +1 -82
- package/dist-types/commands/GetPolicyStoreCommand.d.ts +6 -82
- package/dist-types/commands/GetPolicyTemplateCommand.d.ts +1 -82
- package/dist-types/commands/GetSchemaCommand.d.ts +1 -82
- package/dist-types/commands/IsAuthorizedCommand.d.ts +2 -88
- package/dist-types/commands/IsAuthorizedWithTokenCommand.d.ts +2 -96
- package/dist-types/commands/ListIdentitySourcesCommand.d.ts +1 -82
- package/dist-types/commands/ListPoliciesCommand.d.ts +1 -82
- package/dist-types/commands/ListPolicyStoresCommand.d.ts +1 -82
- package/dist-types/commands/ListPolicyTemplatesCommand.d.ts +1 -82
- package/dist-types/commands/ListTagsForResourceCommand.d.ts +107 -0
- package/dist-types/commands/PutSchemaCommand.d.ts +3 -95
- package/dist-types/commands/TagResourceCommand.d.ts +108 -0
- package/dist-types/commands/UntagResourceCommand.d.ts +105 -0
- package/dist-types/commands/UpdateIdentitySourceCommand.d.ts +3 -92
- package/dist-types/commands/UpdatePolicyCommand.d.ts +3 -135
- package/dist-types/commands/UpdatePolicyStoreCommand.d.ts +3 -91
- package/dist-types/commands/UpdatePolicyTemplateCommand.d.ts +3 -97
- package/dist-types/commands/index.d.ts +3 -0
- package/dist-types/index.d.ts +1 -65
- package/dist-types/models/models_0.d.ts +385 -1235
- package/dist-types/protocols/Aws_json1_0.d.ts +27 -0
- package/dist-types/ts3.4/VerifiedPermissions.d.ts +51 -0
- package/dist-types/ts3.4/VerifiedPermissionsClient.d.ts +18 -0
- package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +51 -0
- package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +47 -0
- package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +47 -0
- package/dist-types/ts3.4/commands/index.d.ts +3 -0
- package/dist-types/ts3.4/models/models_0.d.ts +33 -0
- package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +36 -0
- package/package.json +4 -4
|
@@ -2,7 +2,7 @@ import { awsExpectUnion as __expectUnion, loadRestJsonErrorCode, parseJsonBody a
|
|
|
2
2
|
import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
|
|
3
3
|
import { _json, collectBody, decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectLong as __expectLong, expectNonNull as __expectNonNull, expectString as __expectString, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, take, withBaseException, } from "@smithy/smithy-client";
|
|
4
4
|
import { v4 as generateIdempotencyToken } from "uuid";
|
|
5
|
-
import { AccessDeniedException, AttributeValue, ConflictException, ContextDefinition, EntitiesDefinition, InternalServerException, InvalidStateException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, ValidationException, } from "../models/models_0";
|
|
5
|
+
import { AccessDeniedException, AttributeValue, ConflictException, ContextDefinition, EntitiesDefinition, InternalServerException, InvalidStateException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, TooManyTagsException, ValidationException, } from "../models/models_0";
|
|
6
6
|
import { VerifiedPermissionsServiceException as __BaseException } from "../models/VerifiedPermissionsServiceException";
|
|
7
7
|
export const se_BatchGetPolicyCommand = async (input, context) => {
|
|
8
8
|
const headers = sharedHeaders("BatchGetPolicy");
|
|
@@ -136,12 +136,30 @@ export const se_ListPolicyTemplatesCommand = async (input, context) => {
|
|
|
136
136
|
body = JSON.stringify(_json(input));
|
|
137
137
|
return buildHttpRpcRequest(context, headers, "/", undefined, body);
|
|
138
138
|
};
|
|
139
|
+
export const se_ListTagsForResourceCommand = async (input, context) => {
|
|
140
|
+
const headers = sharedHeaders("ListTagsForResource");
|
|
141
|
+
let body;
|
|
142
|
+
body = JSON.stringify(_json(input));
|
|
143
|
+
return buildHttpRpcRequest(context, headers, "/", undefined, body);
|
|
144
|
+
};
|
|
139
145
|
export const se_PutSchemaCommand = async (input, context) => {
|
|
140
146
|
const headers = sharedHeaders("PutSchema");
|
|
141
147
|
let body;
|
|
142
148
|
body = JSON.stringify(_json(input));
|
|
143
149
|
return buildHttpRpcRequest(context, headers, "/", undefined, body);
|
|
144
150
|
};
|
|
151
|
+
export const se_TagResourceCommand = async (input, context) => {
|
|
152
|
+
const headers = sharedHeaders("TagResource");
|
|
153
|
+
let body;
|
|
154
|
+
body = JSON.stringify(_json(input));
|
|
155
|
+
return buildHttpRpcRequest(context, headers, "/", undefined, body);
|
|
156
|
+
};
|
|
157
|
+
export const se_UntagResourceCommand = async (input, context) => {
|
|
158
|
+
const headers = sharedHeaders("UntagResource");
|
|
159
|
+
let body;
|
|
160
|
+
body = JSON.stringify(_json(input));
|
|
161
|
+
return buildHttpRpcRequest(context, headers, "/", undefined, body);
|
|
162
|
+
};
|
|
145
163
|
export const se_UpdateIdentitySourceCommand = async (input, context) => {
|
|
146
164
|
const headers = sharedHeaders("UpdateIdentitySource");
|
|
147
165
|
let body;
|
|
@@ -452,6 +470,19 @@ export const de_ListPolicyTemplatesCommand = async (output, context) => {
|
|
|
452
470
|
};
|
|
453
471
|
return response;
|
|
454
472
|
};
|
|
473
|
+
export const de_ListTagsForResourceCommand = async (output, context) => {
|
|
474
|
+
if (output.statusCode >= 300) {
|
|
475
|
+
return de_CommandError(output, context);
|
|
476
|
+
}
|
|
477
|
+
const data = await parseBody(output.body, context);
|
|
478
|
+
let contents = {};
|
|
479
|
+
contents = _json(data);
|
|
480
|
+
const response = {
|
|
481
|
+
$metadata: deserializeMetadata(output),
|
|
482
|
+
...contents,
|
|
483
|
+
};
|
|
484
|
+
return response;
|
|
485
|
+
};
|
|
455
486
|
export const de_PutSchemaCommand = async (output, context) => {
|
|
456
487
|
if (output.statusCode >= 300) {
|
|
457
488
|
return de_CommandError(output, context);
|
|
@@ -465,6 +496,32 @@ export const de_PutSchemaCommand = async (output, context) => {
|
|
|
465
496
|
};
|
|
466
497
|
return response;
|
|
467
498
|
};
|
|
499
|
+
export const de_TagResourceCommand = async (output, context) => {
|
|
500
|
+
if (output.statusCode >= 300) {
|
|
501
|
+
return de_CommandError(output, context);
|
|
502
|
+
}
|
|
503
|
+
const data = await parseBody(output.body, context);
|
|
504
|
+
let contents = {};
|
|
505
|
+
contents = _json(data);
|
|
506
|
+
const response = {
|
|
507
|
+
$metadata: deserializeMetadata(output),
|
|
508
|
+
...contents,
|
|
509
|
+
};
|
|
510
|
+
return response;
|
|
511
|
+
};
|
|
512
|
+
export const de_UntagResourceCommand = async (output, context) => {
|
|
513
|
+
if (output.statusCode >= 300) {
|
|
514
|
+
return de_CommandError(output, context);
|
|
515
|
+
}
|
|
516
|
+
const data = await parseBody(output.body, context);
|
|
517
|
+
let contents = {};
|
|
518
|
+
contents = _json(data);
|
|
519
|
+
const response = {
|
|
520
|
+
$metadata: deserializeMetadata(output),
|
|
521
|
+
...contents,
|
|
522
|
+
};
|
|
523
|
+
return response;
|
|
524
|
+
};
|
|
468
525
|
export const de_UpdateIdentitySourceCommand = async (output, context) => {
|
|
469
526
|
if (output.statusCode >= 300) {
|
|
470
527
|
return de_CommandError(output, context);
|
|
@@ -548,6 +605,9 @@ const de_CommandError = async (output, context) => {
|
|
|
548
605
|
case "InvalidStateException":
|
|
549
606
|
case "com.amazonaws.verifiedpermissions#InvalidStateException":
|
|
550
607
|
throw await de_InvalidStateExceptionRes(parsedOutput, context);
|
|
608
|
+
case "TooManyTagsException":
|
|
609
|
+
case "com.amazonaws.verifiedpermissions#TooManyTagsException":
|
|
610
|
+
throw await de_TooManyTagsExceptionRes(parsedOutput, context);
|
|
551
611
|
default:
|
|
552
612
|
const parsedBody = parsedOutput.body;
|
|
553
613
|
return throwDefaultError({
|
|
@@ -620,6 +680,15 @@ const de_ThrottlingExceptionRes = async (parsedOutput, context) => {
|
|
|
620
680
|
});
|
|
621
681
|
return __decorateServiceException(exception, body);
|
|
622
682
|
};
|
|
683
|
+
const de_TooManyTagsExceptionRes = async (parsedOutput, context) => {
|
|
684
|
+
const body = parsedOutput.body;
|
|
685
|
+
const deserialized = _json(body);
|
|
686
|
+
const exception = new TooManyTagsException({
|
|
687
|
+
$metadata: deserializeMetadata(parsedOutput),
|
|
688
|
+
...deserialized,
|
|
689
|
+
});
|
|
690
|
+
return __decorateServiceException(exception, body);
|
|
691
|
+
};
|
|
623
692
|
const de_ValidationExceptionRes = async (parsedOutput, context) => {
|
|
624
693
|
const body = parsedOutput.body;
|
|
625
694
|
const deserialized = _json(body);
|
|
@@ -723,6 +792,7 @@ const se_CreatePolicyStoreInput = (input, context) => {
|
|
|
723
792
|
clientToken: [true, (_) => _ ?? generateIdempotencyToken()],
|
|
724
793
|
deletionProtection: [],
|
|
725
794
|
description: [],
|
|
795
|
+
tags: _json,
|
|
726
796
|
validationSettings: _json,
|
|
727
797
|
});
|
|
728
798
|
};
|
|
@@ -1001,11 +1071,13 @@ const de_GetPolicyOutput = (output, context) => {
|
|
|
1001
1071
|
const de_GetPolicyStoreOutput = (output, context) => {
|
|
1002
1072
|
return take(output, {
|
|
1003
1073
|
arn: __expectString,
|
|
1074
|
+
cedarVersion: __expectString,
|
|
1004
1075
|
createdDate: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
|
|
1005
1076
|
deletionProtection: __expectString,
|
|
1006
1077
|
description: __expectString,
|
|
1007
1078
|
lastUpdatedDate: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
|
|
1008
1079
|
policyStoreId: __expectString,
|
|
1080
|
+
tags: _json,
|
|
1009
1081
|
validationSettings: _json,
|
|
1010
1082
|
});
|
|
1011
1083
|
};
|
|
@@ -21,7 +21,10 @@ import { ListIdentitySourcesCommandInput, ListIdentitySourcesCommandOutput } fro
|
|
|
21
21
|
import { ListPoliciesCommandInput, ListPoliciesCommandOutput } from "./commands/ListPoliciesCommand";
|
|
22
22
|
import { ListPolicyStoresCommandInput, ListPolicyStoresCommandOutput } from "./commands/ListPolicyStoresCommand";
|
|
23
23
|
import { ListPolicyTemplatesCommandInput, ListPolicyTemplatesCommandOutput } from "./commands/ListPolicyTemplatesCommand";
|
|
24
|
+
import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
|
|
24
25
|
import { PutSchemaCommandInput, PutSchemaCommandOutput } from "./commands/PutSchemaCommand";
|
|
26
|
+
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
|
|
27
|
+
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
|
|
25
28
|
import { UpdateIdentitySourceCommandInput, UpdateIdentitySourceCommandOutput } from "./commands/UpdateIdentitySourceCommand";
|
|
26
29
|
import { UpdatePolicyCommandInput, UpdatePolicyCommandOutput } from "./commands/UpdatePolicyCommand";
|
|
27
30
|
import { UpdatePolicyStoreCommandInput, UpdatePolicyStoreCommandOutput } from "./commands/UpdatePolicyStoreCommand";
|
|
@@ -161,12 +164,30 @@ export interface VerifiedPermissions {
|
|
|
161
164
|
listPolicyTemplates(args: ListPolicyTemplatesCommandInput, options?: __HttpHandlerOptions): Promise<ListPolicyTemplatesCommandOutput>;
|
|
162
165
|
listPolicyTemplates(args: ListPolicyTemplatesCommandInput, cb: (err: any, data?: ListPolicyTemplatesCommandOutput) => void): void;
|
|
163
166
|
listPolicyTemplates(args: ListPolicyTemplatesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListPolicyTemplatesCommandOutput) => void): void;
|
|
167
|
+
/**
|
|
168
|
+
* @see {@link ListTagsForResourceCommand}
|
|
169
|
+
*/
|
|
170
|
+
listTagsForResource(args: ListTagsForResourceCommandInput, options?: __HttpHandlerOptions): Promise<ListTagsForResourceCommandOutput>;
|
|
171
|
+
listTagsForResource(args: ListTagsForResourceCommandInput, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void;
|
|
172
|
+
listTagsForResource(args: ListTagsForResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void;
|
|
164
173
|
/**
|
|
165
174
|
* @see {@link PutSchemaCommand}
|
|
166
175
|
*/
|
|
167
176
|
putSchema(args: PutSchemaCommandInput, options?: __HttpHandlerOptions): Promise<PutSchemaCommandOutput>;
|
|
168
177
|
putSchema(args: PutSchemaCommandInput, cb: (err: any, data?: PutSchemaCommandOutput) => void): void;
|
|
169
178
|
putSchema(args: PutSchemaCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutSchemaCommandOutput) => void): void;
|
|
179
|
+
/**
|
|
180
|
+
* @see {@link TagResourceCommand}
|
|
181
|
+
*/
|
|
182
|
+
tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise<TagResourceCommandOutput>;
|
|
183
|
+
tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
|
|
184
|
+
tagResource(args: TagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
|
|
185
|
+
/**
|
|
186
|
+
* @see {@link UntagResourceCommand}
|
|
187
|
+
*/
|
|
188
|
+
untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Promise<UntagResourceCommandOutput>;
|
|
189
|
+
untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
|
|
190
|
+
untagResource(args: UntagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
|
|
170
191
|
/**
|
|
171
192
|
* @see {@link UpdateIdentitySourceCommand}
|
|
172
193
|
*/
|
|
@@ -193,71 +214,7 @@ export interface VerifiedPermissions {
|
|
|
193
214
|
updatePolicyTemplate(args: UpdatePolicyTemplateCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdatePolicyTemplateCommandOutput) => void): void;
|
|
194
215
|
}
|
|
195
216
|
/**
|
|
196
|
-
* <p>Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage
|
|
197
|
-
* permissions for your application, and authorize user access based on those permissions.
|
|
198
|
-
* Using Verified Permissions, application developers can grant access based on information about the
|
|
199
|
-
* users, resources, and requested actions. You can also evaluate additional information
|
|
200
|
-
* like group membership, attributes of the resources, and session context, such as time of
|
|
201
|
-
* request and IP addresses. Verified Permissions manages these permissions by letting you create and
|
|
202
|
-
* store authorization policies for your applications, such as consumer-facing web sites
|
|
203
|
-
* and enterprise business systems.</p>
|
|
204
|
-
* <p>Verified Permissions uses Cedar as the policy language to express your permission requirements.
|
|
205
|
-
* Cedar supports both role-based access control (RBAC) and attribute-based access
|
|
206
|
-
* control (ABAC) authorization models.</p>
|
|
207
|
-
* <p>For more information about configuring, administering, and using Amazon Verified Permissions in your
|
|
208
|
-
* applications, see the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/">Amazon Verified Permissions User Guide</a>.</p>
|
|
209
|
-
* <p>For more information about the Cedar policy language, see the <a href="https://docs.cedarpolicy.com/">Cedar Policy Language Guide</a>.</p>
|
|
210
|
-
* <important>
|
|
211
|
-
* <p>When you write Cedar policies that reference principals, resources and actions,
|
|
212
|
-
* you can define the unique identifiers used for each of those elements. We strongly
|
|
213
|
-
* recommend that you follow these best practices:</p>
|
|
214
|
-
* <ul>
|
|
215
|
-
* <li>
|
|
216
|
-
* <p>
|
|
217
|
-
* <b>Use values like universally unique identifiers
|
|
218
|
-
* (UUIDs) for all principal and resource identifiers.</b>
|
|
219
|
-
* </p>
|
|
220
|
-
* <p>For example, if user <code>jane</code> leaves the company, and you later
|
|
221
|
-
* let someone else use the name <code>jane</code>, then that new user
|
|
222
|
-
* automatically gets access to everything granted by policies that still
|
|
223
|
-
* reference <code>User::"jane"</code>. Cedar can’t distinguish between the
|
|
224
|
-
* new user and the old. This applies to both principal and resource
|
|
225
|
-
* identifiers. Always use identifiers that are guaranteed unique and never
|
|
226
|
-
* reused to ensure that you don’t unintentionally grant access because of the
|
|
227
|
-
* presence of an old identifier in a policy.</p>
|
|
228
|
-
* <p>Where you use a UUID for an entity, we recommend that you follow it with
|
|
229
|
-
* the // comment specifier and the ‘friendly’ name of your entity. This helps
|
|
230
|
-
* to make your policies easier to understand. For example: principal ==
|
|
231
|
-
* User::"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", // alice</p>
|
|
232
|
-
* </li>
|
|
233
|
-
* <li>
|
|
234
|
-
* <p>
|
|
235
|
-
* <b>Do not include personally identifying, confidential,
|
|
236
|
-
* or sensitive information as part of the unique identifier for your
|
|
237
|
-
* principals or resources.</b> These identifiers are included in
|
|
238
|
-
* log entries shared in CloudTrail trails.</p>
|
|
239
|
-
* </li>
|
|
240
|
-
* </ul>
|
|
241
|
-
* </important>
|
|
242
|
-
* <p>Several operations return structures that appear similar, but have different purposes.
|
|
243
|
-
* As new functionality is added to the product, the structure used in a parameter of one
|
|
244
|
-
* operation might need to change in a way that wouldn't make sense for the same parameter
|
|
245
|
-
* in a different operation. To help you understand the purpose of each, the following
|
|
246
|
-
* naming convention is used for the structures:</p>
|
|
247
|
-
* <ul>
|
|
248
|
-
* <li>
|
|
249
|
-
* <p>Parameter type structures that end in <code>Detail</code> are used in
|
|
250
|
-
* <code>Get</code> operations.</p>
|
|
251
|
-
* </li>
|
|
252
|
-
* <li>
|
|
253
|
-
* <p>Parameter type structures that end in <code>Item</code> are used in
|
|
254
|
-
* <code>List</code> operations.</p>
|
|
255
|
-
* </li>
|
|
256
|
-
* <li>
|
|
257
|
-
* <p>Parameter type structures that use neither suffix are used in the mutating
|
|
258
|
-
* (create and update) operations.</p>
|
|
259
|
-
* </li>
|
|
260
|
-
* </ul>
|
|
217
|
+
* <p>Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage permissions for your application, and authorize user access based on those permissions. Using Verified Permissions, application developers can grant access based on information about the users, resources, and requested actions. You can also evaluate additional information like group membership, attributes of the resources, and session context, such as time of request and IP addresses. Verified Permissions manages these permissions by letting you create and store authorization policies for your applications, such as consumer-facing web sites and enterprise business systems.</p> <p>Verified Permissions uses Cedar as the policy language to express your permission requirements. Cedar supports both role-based access control (RBAC) and attribute-based access control (ABAC) authorization models.</p> <p>For more information about configuring, administering, and using Amazon Verified Permissions in your applications, see the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/">Amazon Verified Permissions User Guide</a>.</p> <p>For more information about the Cedar policy language, see the <a href="https://docs.cedarpolicy.com/">Cedar Policy Language Guide</a>.</p> <important> <p>When you write Cedar policies that reference principals, resources and actions, you can define the unique identifiers used for each of those elements. We strongly recommend that you follow these best practices:</p> <ul> <li> <p> <b>Use values like universally unique identifiers (UUIDs) for all principal and resource identifiers.</b> </p> <p>For example, if user <code>jane</code> leaves the company, and you later let someone else use the name <code>jane</code>, then that new user automatically gets access to everything granted by policies that still reference <code>User::"jane"</code>. Cedar can’t distinguish between the new user and the old. This applies to both principal and resource identifiers. Always use identifiers that are guaranteed unique and never reused to ensure that you don’t unintentionally grant access because of the presence of an old identifier in a policy.</p> <p>Where you use a UUID for an entity, we recommend that you follow it with the // comment specifier and the ‘friendly’ name of your entity. This helps to make your policies easier to understand. For example: principal == User::"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", // alice</p> </li> <li> <p> <b>Do not include personally identifying, confidential, or sensitive information as part of the unique identifier for your principals or resources.</b> These identifiers are included in log entries shared in CloudTrail trails.</p> </li> </ul> </important> <p>Several operations return structures that appear similar, but have different purposes. As new functionality is added to the product, the structure used in a parameter of one operation might need to change in a way that wouldn't make sense for the same parameter in a different operation. To help you understand the purpose of each, the following naming convention is used for the structures:</p> <ul> <li> <p>Parameter type structures that end in <code>Detail</code> are used in <code>Get</code> operations.</p> </li> <li> <p>Parameter type structures that end in <code>Item</code> are used in <code>List</code> operations.</p> </li> <li> <p>Parameter type structures that use neither suffix are used in the mutating (create and update) operations.</p> </li> </ul>
|
|
261
218
|
* @public
|
|
262
219
|
*/
|
|
263
220
|
export declare class VerifiedPermissions extends VerifiedPermissionsClient implements VerifiedPermissions {
|
|
@@ -29,7 +29,10 @@ import { ListIdentitySourcesCommandInput, ListIdentitySourcesCommandOutput } fro
|
|
|
29
29
|
import { ListPoliciesCommandInput, ListPoliciesCommandOutput } from "./commands/ListPoliciesCommand";
|
|
30
30
|
import { ListPolicyStoresCommandInput, ListPolicyStoresCommandOutput } from "./commands/ListPolicyStoresCommand";
|
|
31
31
|
import { ListPolicyTemplatesCommandInput, ListPolicyTemplatesCommandOutput } from "./commands/ListPolicyTemplatesCommand";
|
|
32
|
+
import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
|
|
32
33
|
import { PutSchemaCommandInput, PutSchemaCommandOutput } from "./commands/PutSchemaCommand";
|
|
34
|
+
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
|
|
35
|
+
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
|
|
33
36
|
import { UpdateIdentitySourceCommandInput, UpdateIdentitySourceCommandOutput } from "./commands/UpdateIdentitySourceCommand";
|
|
34
37
|
import { UpdatePolicyCommandInput, UpdatePolicyCommandOutput } from "./commands/UpdatePolicyCommand";
|
|
35
38
|
import { UpdatePolicyStoreCommandInput, UpdatePolicyStoreCommandOutput } from "./commands/UpdatePolicyStoreCommand";
|
|
@@ -40,11 +43,11 @@ export { __Client };
|
|
|
40
43
|
/**
|
|
41
44
|
* @public
|
|
42
45
|
*/
|
|
43
|
-
export type ServiceInputTypes = BatchGetPolicyCommandInput | BatchIsAuthorizedCommandInput | BatchIsAuthorizedWithTokenCommandInput | CreateIdentitySourceCommandInput | CreatePolicyCommandInput | CreatePolicyStoreCommandInput | CreatePolicyTemplateCommandInput | DeleteIdentitySourceCommandInput | DeletePolicyCommandInput | DeletePolicyStoreCommandInput | DeletePolicyTemplateCommandInput | GetIdentitySourceCommandInput | GetPolicyCommandInput | GetPolicyStoreCommandInput | GetPolicyTemplateCommandInput | GetSchemaCommandInput | IsAuthorizedCommandInput | IsAuthorizedWithTokenCommandInput | ListIdentitySourcesCommandInput | ListPoliciesCommandInput | ListPolicyStoresCommandInput | ListPolicyTemplatesCommandInput | PutSchemaCommandInput | UpdateIdentitySourceCommandInput | UpdatePolicyCommandInput | UpdatePolicyStoreCommandInput | UpdatePolicyTemplateCommandInput;
|
|
46
|
+
export type ServiceInputTypes = BatchGetPolicyCommandInput | BatchIsAuthorizedCommandInput | BatchIsAuthorizedWithTokenCommandInput | CreateIdentitySourceCommandInput | CreatePolicyCommandInput | CreatePolicyStoreCommandInput | CreatePolicyTemplateCommandInput | DeleteIdentitySourceCommandInput | DeletePolicyCommandInput | DeletePolicyStoreCommandInput | DeletePolicyTemplateCommandInput | GetIdentitySourceCommandInput | GetPolicyCommandInput | GetPolicyStoreCommandInput | GetPolicyTemplateCommandInput | GetSchemaCommandInput | IsAuthorizedCommandInput | IsAuthorizedWithTokenCommandInput | ListIdentitySourcesCommandInput | ListPoliciesCommandInput | ListPolicyStoresCommandInput | ListPolicyTemplatesCommandInput | ListTagsForResourceCommandInput | PutSchemaCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateIdentitySourceCommandInput | UpdatePolicyCommandInput | UpdatePolicyStoreCommandInput | UpdatePolicyTemplateCommandInput;
|
|
44
47
|
/**
|
|
45
48
|
* @public
|
|
46
49
|
*/
|
|
47
|
-
export type ServiceOutputTypes = BatchGetPolicyCommandOutput | BatchIsAuthorizedCommandOutput | BatchIsAuthorizedWithTokenCommandOutput | CreateIdentitySourceCommandOutput | CreatePolicyCommandOutput | CreatePolicyStoreCommandOutput | CreatePolicyTemplateCommandOutput | DeleteIdentitySourceCommandOutput | DeletePolicyCommandOutput | DeletePolicyStoreCommandOutput | DeletePolicyTemplateCommandOutput | GetIdentitySourceCommandOutput | GetPolicyCommandOutput | GetPolicyStoreCommandOutput | GetPolicyTemplateCommandOutput | GetSchemaCommandOutput | IsAuthorizedCommandOutput | IsAuthorizedWithTokenCommandOutput | ListIdentitySourcesCommandOutput | ListPoliciesCommandOutput | ListPolicyStoresCommandOutput | ListPolicyTemplatesCommandOutput | PutSchemaCommandOutput | UpdateIdentitySourceCommandOutput | UpdatePolicyCommandOutput | UpdatePolicyStoreCommandOutput | UpdatePolicyTemplateCommandOutput;
|
|
50
|
+
export type ServiceOutputTypes = BatchGetPolicyCommandOutput | BatchIsAuthorizedCommandOutput | BatchIsAuthorizedWithTokenCommandOutput | CreateIdentitySourceCommandOutput | CreatePolicyCommandOutput | CreatePolicyStoreCommandOutput | CreatePolicyTemplateCommandOutput | DeleteIdentitySourceCommandOutput | DeletePolicyCommandOutput | DeletePolicyStoreCommandOutput | DeletePolicyTemplateCommandOutput | GetIdentitySourceCommandOutput | GetPolicyCommandOutput | GetPolicyStoreCommandOutput | GetPolicyTemplateCommandOutput | GetSchemaCommandOutput | IsAuthorizedCommandOutput | IsAuthorizedWithTokenCommandOutput | ListIdentitySourcesCommandOutput | ListPoliciesCommandOutput | ListPolicyStoresCommandOutput | ListPolicyTemplatesCommandOutput | ListTagsForResourceCommandOutput | PutSchemaCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateIdentitySourceCommandOutput | UpdatePolicyCommandOutput | UpdatePolicyStoreCommandOutput | UpdatePolicyTemplateCommandOutput;
|
|
48
51
|
/**
|
|
49
52
|
* @public
|
|
50
53
|
*/
|
|
@@ -196,71 +199,7 @@ export type VerifiedPermissionsClientResolvedConfigType = __SmithyResolvedConfig
|
|
|
196
199
|
export interface VerifiedPermissionsClientResolvedConfig extends VerifiedPermissionsClientResolvedConfigType {
|
|
197
200
|
}
|
|
198
201
|
/**
|
|
199
|
-
* <p>Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage
|
|
200
|
-
* permissions for your application, and authorize user access based on those permissions.
|
|
201
|
-
* Using Verified Permissions, application developers can grant access based on information about the
|
|
202
|
-
* users, resources, and requested actions. You can also evaluate additional information
|
|
203
|
-
* like group membership, attributes of the resources, and session context, such as time of
|
|
204
|
-
* request and IP addresses. Verified Permissions manages these permissions by letting you create and
|
|
205
|
-
* store authorization policies for your applications, such as consumer-facing web sites
|
|
206
|
-
* and enterprise business systems.</p>
|
|
207
|
-
* <p>Verified Permissions uses Cedar as the policy language to express your permission requirements.
|
|
208
|
-
* Cedar supports both role-based access control (RBAC) and attribute-based access
|
|
209
|
-
* control (ABAC) authorization models.</p>
|
|
210
|
-
* <p>For more information about configuring, administering, and using Amazon Verified Permissions in your
|
|
211
|
-
* applications, see the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/">Amazon Verified Permissions User Guide</a>.</p>
|
|
212
|
-
* <p>For more information about the Cedar policy language, see the <a href="https://docs.cedarpolicy.com/">Cedar Policy Language Guide</a>.</p>
|
|
213
|
-
* <important>
|
|
214
|
-
* <p>When you write Cedar policies that reference principals, resources and actions,
|
|
215
|
-
* you can define the unique identifiers used for each of those elements. We strongly
|
|
216
|
-
* recommend that you follow these best practices:</p>
|
|
217
|
-
* <ul>
|
|
218
|
-
* <li>
|
|
219
|
-
* <p>
|
|
220
|
-
* <b>Use values like universally unique identifiers
|
|
221
|
-
* (UUIDs) for all principal and resource identifiers.</b>
|
|
222
|
-
* </p>
|
|
223
|
-
* <p>For example, if user <code>jane</code> leaves the company, and you later
|
|
224
|
-
* let someone else use the name <code>jane</code>, then that new user
|
|
225
|
-
* automatically gets access to everything granted by policies that still
|
|
226
|
-
* reference <code>User::"jane"</code>. Cedar can’t distinguish between the
|
|
227
|
-
* new user and the old. This applies to both principal and resource
|
|
228
|
-
* identifiers. Always use identifiers that are guaranteed unique and never
|
|
229
|
-
* reused to ensure that you don’t unintentionally grant access because of the
|
|
230
|
-
* presence of an old identifier in a policy.</p>
|
|
231
|
-
* <p>Where you use a UUID for an entity, we recommend that you follow it with
|
|
232
|
-
* the // comment specifier and the ‘friendly’ name of your entity. This helps
|
|
233
|
-
* to make your policies easier to understand. For example: principal ==
|
|
234
|
-
* User::"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", // alice</p>
|
|
235
|
-
* </li>
|
|
236
|
-
* <li>
|
|
237
|
-
* <p>
|
|
238
|
-
* <b>Do not include personally identifying, confidential,
|
|
239
|
-
* or sensitive information as part of the unique identifier for your
|
|
240
|
-
* principals or resources.</b> These identifiers are included in
|
|
241
|
-
* log entries shared in CloudTrail trails.</p>
|
|
242
|
-
* </li>
|
|
243
|
-
* </ul>
|
|
244
|
-
* </important>
|
|
245
|
-
* <p>Several operations return structures that appear similar, but have different purposes.
|
|
246
|
-
* As new functionality is added to the product, the structure used in a parameter of one
|
|
247
|
-
* operation might need to change in a way that wouldn't make sense for the same parameter
|
|
248
|
-
* in a different operation. To help you understand the purpose of each, the following
|
|
249
|
-
* naming convention is used for the structures:</p>
|
|
250
|
-
* <ul>
|
|
251
|
-
* <li>
|
|
252
|
-
* <p>Parameter type structures that end in <code>Detail</code> are used in
|
|
253
|
-
* <code>Get</code> operations.</p>
|
|
254
|
-
* </li>
|
|
255
|
-
* <li>
|
|
256
|
-
* <p>Parameter type structures that end in <code>Item</code> are used in
|
|
257
|
-
* <code>List</code> operations.</p>
|
|
258
|
-
* </li>
|
|
259
|
-
* <li>
|
|
260
|
-
* <p>Parameter type structures that use neither suffix are used in the mutating
|
|
261
|
-
* (create and update) operations.</p>
|
|
262
|
-
* </li>
|
|
263
|
-
* </ul>
|
|
202
|
+
* <p>Amazon Verified Permissions is a permissions management service from Amazon Web Services. You can use Verified Permissions to manage permissions for your application, and authorize user access based on those permissions. Using Verified Permissions, application developers can grant access based on information about the users, resources, and requested actions. You can also evaluate additional information like group membership, attributes of the resources, and session context, such as time of request and IP addresses. Verified Permissions manages these permissions by letting you create and store authorization policies for your applications, such as consumer-facing web sites and enterprise business systems.</p> <p>Verified Permissions uses Cedar as the policy language to express your permission requirements. Cedar supports both role-based access control (RBAC) and attribute-based access control (ABAC) authorization models.</p> <p>For more information about configuring, administering, and using Amazon Verified Permissions in your applications, see the <a href="https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/">Amazon Verified Permissions User Guide</a>.</p> <p>For more information about the Cedar policy language, see the <a href="https://docs.cedarpolicy.com/">Cedar Policy Language Guide</a>.</p> <important> <p>When you write Cedar policies that reference principals, resources and actions, you can define the unique identifiers used for each of those elements. We strongly recommend that you follow these best practices:</p> <ul> <li> <p> <b>Use values like universally unique identifiers (UUIDs) for all principal and resource identifiers.</b> </p> <p>For example, if user <code>jane</code> leaves the company, and you later let someone else use the name <code>jane</code>, then that new user automatically gets access to everything granted by policies that still reference <code>User::"jane"</code>. Cedar can’t distinguish between the new user and the old. This applies to both principal and resource identifiers. Always use identifiers that are guaranteed unique and never reused to ensure that you don’t unintentionally grant access because of the presence of an old identifier in a policy.</p> <p>Where you use a UUID for an entity, we recommend that you follow it with the // comment specifier and the ‘friendly’ name of your entity. This helps to make your policies easier to understand. For example: principal == User::"a1b2c3d4-e5f6-a1b2-c3d4-EXAMPLE11111", // alice</p> </li> <li> <p> <b>Do not include personally identifying, confidential, or sensitive information as part of the unique identifier for your principals or resources.</b> These identifiers are included in log entries shared in CloudTrail trails.</p> </li> </ul> </important> <p>Several operations return structures that appear similar, but have different purposes. As new functionality is added to the product, the structure used in a parameter of one operation might need to change in a way that wouldn't make sense for the same parameter in a different operation. To help you understand the purpose of each, the following naming convention is used for the structures:</p> <ul> <li> <p>Parameter type structures that end in <code>Detail</code> are used in <code>Get</code> operations.</p> </li> <li> <p>Parameter type structures that end in <code>Item</code> are used in <code>List</code> operations.</p> </li> <li> <p>Parameter type structures that use neither suffix are used in the mutating (create and update) operations.</p> </li> </ul>
|
|
264
203
|
* @public
|
|
265
204
|
*/
|
|
266
205
|
export declare class VerifiedPermissionsClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, VerifiedPermissionsClientResolvedConfig> {
|
|
@@ -27,12 +27,7 @@ declare const BatchGetPolicyCommand_base: {
|
|
|
27
27
|
getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
|
-
* <p>Retrieves information about a group (batch) of policies.</p>
|
|
31
|
-
* <note>
|
|
32
|
-
* <p>The <code>BatchGetPolicy</code> operation doesn't have its own IAM
|
|
33
|
-
* permission. To authorize this operation for Amazon Web Services principals, include the permission
|
|
34
|
-
* <code>verifiedpermissions:GetPolicy</code> in their IAM policies.</p>
|
|
35
|
-
* </note>
|
|
30
|
+
* <p>Retrieves information about a group (batch) of policies.</p> <note> <p>The <code>BatchGetPolicy</code> operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission <code>verifiedpermissions:GetPolicy</code> in their IAM policies.</p> </note>
|
|
36
31
|
* @example
|
|
37
32
|
* Use a bare-bones client and the command you need to make an API call.
|
|
38
33
|
* ```javascript
|
|
@@ -104,88 +99,7 @@ declare const BatchGetPolicyCommand_base: {
|
|
|
104
99
|
* <p>The request failed because it exceeded a throttling quota.</p>
|
|
105
100
|
*
|
|
106
101
|
* @throws {@link ValidationException} (client fault)
|
|
107
|
-
* <p>The request failed because one or more input parameters don't satisfy their constraint
|
|
108
|
-
* requirements. The output is provided as a list of fields and a reason for each field that
|
|
109
|
-
* isn't valid.</p>
|
|
110
|
-
* <p>The possible reasons include the following:</p>
|
|
111
|
-
* <ul>
|
|
112
|
-
* <li>
|
|
113
|
-
* <p>
|
|
114
|
-
* <b>UnrecognizedEntityType</b>
|
|
115
|
-
* </p>
|
|
116
|
-
* <p>The policy includes an entity type that isn't found in the schema.</p>
|
|
117
|
-
* </li>
|
|
118
|
-
* <li>
|
|
119
|
-
* <p>
|
|
120
|
-
* <b>UnrecognizedActionId</b>
|
|
121
|
-
* </p>
|
|
122
|
-
* <p>The policy includes an action id that isn't found in the schema.</p>
|
|
123
|
-
* </li>
|
|
124
|
-
* <li>
|
|
125
|
-
* <p>
|
|
126
|
-
* <b>InvalidActionApplication</b>
|
|
127
|
-
* </p>
|
|
128
|
-
* <p>The policy includes an action that, according to the schema, doesn't support
|
|
129
|
-
* the specified principal and resource.</p>
|
|
130
|
-
* </li>
|
|
131
|
-
* <li>
|
|
132
|
-
* <p>
|
|
133
|
-
* <b>UnexpectedType</b>
|
|
134
|
-
* </p>
|
|
135
|
-
* <p>The policy included an operand that isn't a valid type for the specified
|
|
136
|
-
* operation.</p>
|
|
137
|
-
* </li>
|
|
138
|
-
* <li>
|
|
139
|
-
* <p>
|
|
140
|
-
* <b>IncompatibleTypes</b>
|
|
141
|
-
* </p>
|
|
142
|
-
* <p>The types of elements included in a <code>set</code>, or the types of
|
|
143
|
-
* expressions used in an <code>if...then...else</code> clause aren't compatible in
|
|
144
|
-
* this context.</p>
|
|
145
|
-
* </li>
|
|
146
|
-
* <li>
|
|
147
|
-
* <p>
|
|
148
|
-
* <b>MissingAttribute</b>
|
|
149
|
-
* </p>
|
|
150
|
-
* <p>The policy attempts to access a record or entity attribute that isn't
|
|
151
|
-
* specified in the schema. Test for the existence of the attribute first before
|
|
152
|
-
* 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
|
|
153
|
-
* <i>Cedar Policy Language Guide</i>.</p>
|
|
154
|
-
* </li>
|
|
155
|
-
* <li>
|
|
156
|
-
* <p>
|
|
157
|
-
* <b>UnsafeOptionalAttributeAccess</b>
|
|
158
|
-
* </p>
|
|
159
|
-
* <p>The policy attempts to access a record or entity attribute that is optional
|
|
160
|
-
* and isn't guaranteed to be present. Test for the existence of the attribute
|
|
161
|
-
* first before attempting to access its value. For more information, see the
|
|
162
|
-
* <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the
|
|
163
|
-
* <i>Cedar Policy Language Guide</i>.</p>
|
|
164
|
-
* </li>
|
|
165
|
-
* <li>
|
|
166
|
-
* <p>
|
|
167
|
-
* <b>ImpossiblePolicy</b>
|
|
168
|
-
* </p>
|
|
169
|
-
* <p>Cedar has determined that a policy condition always evaluates to false. If
|
|
170
|
-
* the policy is always false, it can never apply to any query, and so it can never
|
|
171
|
-
* affect an authorization decision.</p>
|
|
172
|
-
* </li>
|
|
173
|
-
* <li>
|
|
174
|
-
* <p>
|
|
175
|
-
* <b>WrongNumberArguments</b>
|
|
176
|
-
* </p>
|
|
177
|
-
* <p>The policy references an extension type with the wrong number of
|
|
178
|
-
* arguments.</p>
|
|
179
|
-
* </li>
|
|
180
|
-
* <li>
|
|
181
|
-
* <p>
|
|
182
|
-
* <b>FunctionArgumentValidationError</b>
|
|
183
|
-
* </p>
|
|
184
|
-
* <p>Cedar couldn't parse the argument passed to an extension type. For example,
|
|
185
|
-
* a string that is to be parsed as an IPv4 address can contain only digits and the
|
|
186
|
-
* period character.</p>
|
|
187
|
-
* </li>
|
|
188
|
-
* </ul>
|
|
102
|
+
* <p>The request failed because one or more input parameters don't satisfy their constraint requirements. The output is provided as a list of fields and a reason for each field that isn't valid.</p> <p>The possible reasons include the following:</p> <ul> <li> <p> <b>UnrecognizedEntityType</b> </p> <p>The policy includes an entity type that isn't found in the schema.</p> </li> <li> <p> <b>UnrecognizedActionId</b> </p> <p>The policy includes an action id that isn't found in the schema.</p> </li> <li> <p> <b>InvalidActionApplication</b> </p> <p>The policy includes an action that, according to the schema, doesn't support the specified principal and resource.</p> </li> <li> <p> <b>UnexpectedType</b> </p> <p>The policy included an operand that isn't a valid type for the specified operation.</p> </li> <li> <p> <b>IncompatibleTypes</b> </p> <p>The types of elements included in a <code>set</code>, or the types of expressions used in an <code>if...then...else</code> clause aren't compatible in this context.</p> </li> <li> <p> <b>MissingAttribute</b> </p> <p>The policy attempts to access a record or entity attribute that isn't specified in the schema. Test for the existence of the attribute first before 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 <i>Cedar Policy Language Guide</i>.</p> </li> <li> <p> <b>UnsafeOptionalAttributeAccess</b> </p> <p>The policy attempts to access a record or entity attribute that is optional and isn't guaranteed to be present. Test for the existence of the attribute first before 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 <i>Cedar Policy Language Guide</i>.</p> </li> <li> <p> <b>ImpossiblePolicy</b> </p> <p>Cedar has determined that a policy condition always evaluates to false. If the policy is always false, it can never apply to any query, and so it can never affect an authorization decision.</p> </li> <li> <p> <b>WrongNumberArguments</b> </p> <p>The policy references an extension type with the wrong number of arguments.</p> </li> <li> <p> <b>FunctionArgumentValidationError</b> </p> <p>Cedar couldn't parse the argument passed to an extension type. For example, a string that is to be parsed as an IPv4 address can contain only digits and the period character.</p> </li> </ul>
|
|
189
103
|
*
|
|
190
104
|
* @throws {@link VerifiedPermissionsServiceException}
|
|
191
105
|
* <p>Base exception class for all service exceptions from VerifiedPermissions service.</p>
|
|
@@ -27,27 +27,7 @@ declare const BatchIsAuthorizedCommand_base: {
|
|
|
27
27
|
getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
|
-
* <p>Makes a series of decisions about multiple authorization requests for one principal or
|
|
31
|
-
* resource. Each request contains the equivalent content of an <code>IsAuthorized</code>
|
|
32
|
-
* request: principal, action, resource, and context. Either the <code>principal</code> or
|
|
33
|
-
* the <code>resource</code> parameter must be identical across all requests. For example,
|
|
34
|
-
* Verified Permissions won't evaluate a pair of requests where <code>bob</code> views
|
|
35
|
-
* <code>photo1</code> and <code>alice</code> views <code>photo2</code>. Authorization
|
|
36
|
-
* of <code>bob</code> to view <code>photo1</code> and <code>photo2</code>, or
|
|
37
|
-
* <code>bob</code> and <code>alice</code> to view <code>photo1</code>, are valid
|
|
38
|
-
* batches. </p>
|
|
39
|
-
* <p>The request is evaluated against all policies in the specified policy store that match the
|
|
40
|
-
* entities that you declare. The result of the decisions is a series of <code>Allow</code>
|
|
41
|
-
* or <code>Deny</code> responses, along with the IDs of the policies that produced each
|
|
42
|
-
* decision.</p>
|
|
43
|
-
* <p>The <code>entities</code> of a <code>BatchIsAuthorized</code> API request can contain
|
|
44
|
-
* up to 100 principals and up to 100 resources. The <code>requests</code> of a
|
|
45
|
-
* <code>BatchIsAuthorized</code> API request can contain up to 30 requests.</p>
|
|
46
|
-
* <note>
|
|
47
|
-
* <p>The <code>BatchIsAuthorized</code> operation doesn't have its own IAM
|
|
48
|
-
* permission. To authorize this operation for Amazon Web Services principals, include the permission
|
|
49
|
-
* <code>verifiedpermissions:IsAuthorized</code> in their IAM policies.</p>
|
|
50
|
-
* </note>
|
|
30
|
+
* <p>Makes a series of decisions about multiple authorization requests for one principal or resource. Each request contains the equivalent content of an <code>IsAuthorized</code> request: principal, action, resource, and context. Either the <code>principal</code> or the <code>resource</code> parameter must be identical across all requests. For example, Verified Permissions won't evaluate a pair of requests where <code>bob</code> views <code>photo1</code> and <code>alice</code> views <code>photo2</code>. Authorization of <code>bob</code> to view <code>photo1</code> and <code>photo2</code>, or <code>bob</code> and <code>alice</code> to view <code>photo1</code>, are valid batches. </p> <p>The request is evaluated against all policies in the specified policy store that match the entities that you declare. The result of the decisions is a series of <code>Allow</code> or <code>Deny</code> responses, along with the IDs of the policies that produced each decision.</p> <p>The <code>entities</code> of a <code>BatchIsAuthorized</code> API request can contain up to 100 principals and up to 100 resources. The <code>requests</code> of a <code>BatchIsAuthorized</code> API request can contain up to 30 requests.</p> <note> <p>The <code>BatchIsAuthorized</code> operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission <code>verifiedpermissions:IsAuthorized</code> in their IAM policies.</p> </note>
|
|
51
31
|
* @example
|
|
52
32
|
* Use a bare-bones client and the command you need to make an API call.
|
|
53
33
|
* ```javascript
|
|
@@ -209,88 +189,7 @@ declare const BatchIsAuthorizedCommand_base: {
|
|
|
209
189
|
* <p>The request failed because it exceeded a throttling quota.</p>
|
|
210
190
|
*
|
|
211
191
|
* @throws {@link ValidationException} (client fault)
|
|
212
|
-
* <p>The request failed because one or more input parameters don't satisfy their constraint
|
|
213
|
-
* requirements. The output is provided as a list of fields and a reason for each field that
|
|
214
|
-
* isn't valid.</p>
|
|
215
|
-
* <p>The possible reasons include the following:</p>
|
|
216
|
-
* <ul>
|
|
217
|
-
* <li>
|
|
218
|
-
* <p>
|
|
219
|
-
* <b>UnrecognizedEntityType</b>
|
|
220
|
-
* </p>
|
|
221
|
-
* <p>The policy includes an entity type that isn't found in the schema.</p>
|
|
222
|
-
* </li>
|
|
223
|
-
* <li>
|
|
224
|
-
* <p>
|
|
225
|
-
* <b>UnrecognizedActionId</b>
|
|
226
|
-
* </p>
|
|
227
|
-
* <p>The policy includes an action id that isn't found in the schema.</p>
|
|
228
|
-
* </li>
|
|
229
|
-
* <li>
|
|
230
|
-
* <p>
|
|
231
|
-
* <b>InvalidActionApplication</b>
|
|
232
|
-
* </p>
|
|
233
|
-
* <p>The policy includes an action that, according to the schema, doesn't support
|
|
234
|
-
* the specified principal and resource.</p>
|
|
235
|
-
* </li>
|
|
236
|
-
* <li>
|
|
237
|
-
* <p>
|
|
238
|
-
* <b>UnexpectedType</b>
|
|
239
|
-
* </p>
|
|
240
|
-
* <p>The policy included an operand that isn't a valid type for the specified
|
|
241
|
-
* operation.</p>
|
|
242
|
-
* </li>
|
|
243
|
-
* <li>
|
|
244
|
-
* <p>
|
|
245
|
-
* <b>IncompatibleTypes</b>
|
|
246
|
-
* </p>
|
|
247
|
-
* <p>The types of elements included in a <code>set</code>, or the types of
|
|
248
|
-
* expressions used in an <code>if...then...else</code> clause aren't compatible in
|
|
249
|
-
* this context.</p>
|
|
250
|
-
* </li>
|
|
251
|
-
* <li>
|
|
252
|
-
* <p>
|
|
253
|
-
* <b>MissingAttribute</b>
|
|
254
|
-
* </p>
|
|
255
|
-
* <p>The policy attempts to access a record or entity attribute that isn't
|
|
256
|
-
* specified in the schema. Test for the existence of the attribute first before
|
|
257
|
-
* 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
|
|
258
|
-
* <i>Cedar Policy Language Guide</i>.</p>
|
|
259
|
-
* </li>
|
|
260
|
-
* <li>
|
|
261
|
-
* <p>
|
|
262
|
-
* <b>UnsafeOptionalAttributeAccess</b>
|
|
263
|
-
* </p>
|
|
264
|
-
* <p>The policy attempts to access a record or entity attribute that is optional
|
|
265
|
-
* and isn't guaranteed to be present. Test for the existence of the attribute
|
|
266
|
-
* first before attempting to access its value. For more information, see the
|
|
267
|
-
* <a href="https://docs.cedarpolicy.com/policies/syntax-operators.html#has-presence-of-attribute-test">has (presence of attribute test) operator</a> in the
|
|
268
|
-
* <i>Cedar Policy Language Guide</i>.</p>
|
|
269
|
-
* </li>
|
|
270
|
-
* <li>
|
|
271
|
-
* <p>
|
|
272
|
-
* <b>ImpossiblePolicy</b>
|
|
273
|
-
* </p>
|
|
274
|
-
* <p>Cedar has determined that a policy condition always evaluates to false. If
|
|
275
|
-
* the policy is always false, it can never apply to any query, and so it can never
|
|
276
|
-
* affect an authorization decision.</p>
|
|
277
|
-
* </li>
|
|
278
|
-
* <li>
|
|
279
|
-
* <p>
|
|
280
|
-
* <b>WrongNumberArguments</b>
|
|
281
|
-
* </p>
|
|
282
|
-
* <p>The policy references an extension type with the wrong number of
|
|
283
|
-
* arguments.</p>
|
|
284
|
-
* </li>
|
|
285
|
-
* <li>
|
|
286
|
-
* <p>
|
|
287
|
-
* <b>FunctionArgumentValidationError</b>
|
|
288
|
-
* </p>
|
|
289
|
-
* <p>Cedar couldn't parse the argument passed to an extension type. For example,
|
|
290
|
-
* a string that is to be parsed as an IPv4 address can contain only digits and the
|
|
291
|
-
* period character.</p>
|
|
292
|
-
* </li>
|
|
293
|
-
* </ul>
|
|
192
|
+
* <p>The request failed because one or more input parameters don't satisfy their constraint requirements. The output is provided as a list of fields and a reason for each field that isn't valid.</p> <p>The possible reasons include the following:</p> <ul> <li> <p> <b>UnrecognizedEntityType</b> </p> <p>The policy includes an entity type that isn't found in the schema.</p> </li> <li> <p> <b>UnrecognizedActionId</b> </p> <p>The policy includes an action id that isn't found in the schema.</p> </li> <li> <p> <b>InvalidActionApplication</b> </p> <p>The policy includes an action that, according to the schema, doesn't support the specified principal and resource.</p> </li> <li> <p> <b>UnexpectedType</b> </p> <p>The policy included an operand that isn't a valid type for the specified operation.</p> </li> <li> <p> <b>IncompatibleTypes</b> </p> <p>The types of elements included in a <code>set</code>, or the types of expressions used in an <code>if...then...else</code> clause aren't compatible in this context.</p> </li> <li> <p> <b>MissingAttribute</b> </p> <p>The policy attempts to access a record or entity attribute that isn't specified in the schema. Test for the existence of the attribute first before 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 <i>Cedar Policy Language Guide</i>.</p> </li> <li> <p> <b>UnsafeOptionalAttributeAccess</b> </p> <p>The policy attempts to access a record or entity attribute that is optional and isn't guaranteed to be present. Test for the existence of the attribute first before 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 <i>Cedar Policy Language Guide</i>.</p> </li> <li> <p> <b>ImpossiblePolicy</b> </p> <p>Cedar has determined that a policy condition always evaluates to false. If the policy is always false, it can never apply to any query, and so it can never affect an authorization decision.</p> </li> <li> <p> <b>WrongNumberArguments</b> </p> <p>The policy references an extension type with the wrong number of arguments.</p> </li> <li> <p> <b>FunctionArgumentValidationError</b> </p> <p>Cedar couldn't parse the argument passed to an extension type. For example, a string that is to be parsed as an IPv4 address can contain only digits and the period character.</p> </li> </ul>
|
|
294
193
|
*
|
|
295
194
|
* @throws {@link VerifiedPermissionsServiceException}
|
|
296
195
|
* <p>Base exception class for all service exceptions from VerifiedPermissions service.</p>
|