PolicyTemplate
Source:
src/AWS/VerifiedPermissions/PolicyTemplate.ts
A Cedar policy template in a Verified Permissions policy store. Templates
contain ?principal / ?resource placeholders; template-linked policies
instantiate the template for a concrete principal and resource, and every
linked policy automatically picks up template updates.
Creating Policy Templates
Section titled “Creating Policy Templates”Template with a Principal Placeholder
import * as AWS from "alchemy/AWS";
const store = yield* AWS.VerifiedPermissions.PolicyStore("Store", {});
const template = yield* AWS.VerifiedPermissions.PolicyTemplate("ViewPhoto", { policyStoreId: store.policyStoreId, statement: `permit( principal == ?principal, action == PhotoApp::Action::"viewPhoto", resource );`, description: "Grant a user access to view photos",});Link a Policy to the Template
yield* AWS.VerifiedPermissions.Policy("AliceCanView", { policyStoreId: store.policyStoreId, templateId: template.policyTemplateId, principal: { entityType: "PhotoApp::User", entityId: "alice" },});