IPolicyEngine Interface
Contains all properties and methods for both created and imported policy engines.
Properties
descriptionmay be undefinedstringdescriptionmay be undefinedstrdescriptionmay be undefinedStringDescriptionmay be undefinedstringDescriptionmay be undefined*string#envResourceEnvironmentenvResourceEnvironmentenvResourceEnvironmentEnvResourceEnvironmentEnvResourceEnvironment#notes
For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.
For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.
grantPrincipalIPrincipalgrant_principalIPrincipalgrantPrincipalIPrincipalGrantPrincipalIPrincipalGrantPrincipalIPrincipal#kmsKeymay be undefinedIKeykms_keymay be undefinedIKeykmsKeymay be undefinedIKeyKmsKeymay be undefinedIKeyKmsKeymay be undefinedIKey#policyEngineArnstringpolicy_engine_arnstrpolicyEngineArnStringPolicyEngineArnstringPolicyEngineArn*string#policyEngineIdstringpolicy_engine_idstrpolicyEngineIdStringPolicyEngineIdstringPolicyEngineId*string#policyEngineNamestringpolicy_engine_namestrpolicyEngineNameStringPolicyEngineNamestringPolicyEngineName*string#policyEngineRefPolicyEngineReferencepolicy_engine_refPolicyEngineReferencepolicyEngineRefPolicyEngineReferencePolicyEngineRefPolicyEngineReferencePolicyEngineRefPolicyEngineReference#Methods
applyRemovalPolicy(policy: RemovalPolicy): voiddef apply_removal_policy(self, policy: RemovalPolicy) -> Nonepublic void applyRemovalPolicy(RemovalPolicy policy)public void ApplyRemovalPolicy(RemovalPolicy policy)func ApplyRemovalPolicy(Policy RemovalPolicy)#notes
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).
grant(grantee: IGrantable, ...actions: string[]): Grantdef grant(self, grantee: IGrantable, actions: str) -> Grantpublic Grant grant(IGrantable grantee, String actions)public Grant Grant(IGrantable grantee, string actions)func Grant(Grantee IGrantable, Actions *string) Grant#2 parameters
Parameters
granteegranteegranteegranteeGrantee— - The IAM principal to grant permissions to.actionsactionsactionsactionsActions— - The actions to grant.
grantEvaluate(grantee: IGrantable): Grantdef grant_evaluate(self, grantee: IGrantable) -> Grantpublic Grant grantEvaluate(IGrantable grantee)public Grant GrantEvaluate(IGrantable grantee)func GrantEvaluate(Grantee IGrantable) Grant#This is the primary permission needed by Gateway execution roles to evaluate authorization decisions during agent requests. Grant this to roles that need to call AuthorizeAction or PartiallyAuthorizeActions.
1 parameter
Parameters
granteegranteegranteegranteeGrantee— - The IAM principal to grant evaluation permissions to.
grantEvaluateForGateway(grantee: IGrantable, gateway: IGateway): Grantdef grant_evaluate_for_gateway(self, grantee: IGrantable, gateway: IGateway) -> Grantpublic Grant grantEvaluateForGateway(IGrantable grantee, IGateway gateway)public Grant GrantEvaluateForGateway(IGrantable grantee, IGateway gateway)func GrantEvaluateForGateway(Grantee IGrantable, Gateway IGateway) Grant#notes · 2 parameters
Per the AWS docs, AuthorizeAction and PartiallyAuthorizeActions require both the policy engine ARN and the gateway ARN as resources, while GetPolicyEngine only needs the policy engine ARN.
This follows the same pattern as Lambda's grantInvokeVersion(grantee, version).
Parameters
granteegranteegranteegranteeGrantee— - The IAM principal (gateway execution role) to grant permissions to.gatewaygatewaygatewaygatewayGateway— - The gateway that will use this policy engine [disable-awslint:prefer-ref-interface].
grantRead(grantee: IGrantable): Grantdef grant_read(self, grantee: IGrantable) -> Grantpublic Grant grantRead(IGrantable grantee)public Grant GrantRead(IGrantable grantee)func GrantRead(Grantee IGrantable) Grant#This grants runtime read access to policy engine configuration. Use this for monitoring, observability, or read-only administrative roles.
1 parameter
Parameters
granteegranteegranteegranteeGrantee— - The IAM principal to grant read permissions to.
metric(metricName: string, props?: MetricOptions): Metricdef metric(self, metric_name: str, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metric(String metricName, MetricOptions props)public Metric Metric(string metricName, MetricOptions? props = null)func Metric(MetricName *string, Props MetricOptions) Metric#2 parameters
Parameters
metricNamemetric_namemetricNamemetricNameMetricName— The name of the metric.propspropspropspropsProps— Optional metric configuration.
metricAuthorizationLatency(props?: MetricOptions): Metricdef metric_authorization_latency(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricAuthorizationLatency(MetricOptions props)public Metric MetricAuthorizationLatency(MetricOptions? props = null)func MetricAuthorizationLatency(Props MetricOptions) Metric#This metric represents the time taken to evaluate authorization policies.
1 parameter
Parameters
propspropspropspropsProps— Optional metric configuration.
metricDeniedRequests(props?: MetricOptions): Metricdef metric_denied_requests(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricDeniedRequests(MetricOptions props)public Metric MetricDeniedRequests(MetricOptions? props = null)func MetricDeniedRequests(Props MetricOptions) Metric#This metric tracks authorization requests that were explicitly denied by policies.
1 parameter
Parameters
propspropspropspropsProps— Optional metric configuration.
metricErrors(props?: MetricOptions): Metricdef metric_errors(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricErrors(MetricOptions props)public Metric MetricErrors(MetricOptions? props = null)func MetricErrors(Props MetricOptions) Metric#This metric tracks errors encountered during policy evaluation.
1 parameter
Parameters
propspropspropspropsProps— Optional metric configuration.
with(...mixins: IMixin[]): IConstructdef with(self, mixins: IMixin) -> IConstructpublic IConstruct with(IMixin mixins)public IConstruct With(IMixin mixins)func With(Mixins IMixin) IConstruct#Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited.
1 parameter · returns
Parameters
mixinsmixinsmixinsmixinsMixins— The mixins to apply.
Returns: This construct for chaining