Policies

Browse, run, schedule, and create cloud governance policies in CoreStack, and review job history to track violations across your cloud accounts.

Feature Overview

Policies is the policy management area in CoreStack's Governance module, under Guardrails. A policy defines which cloud resource configurations are allowed and which are not. CoreStack runs policies against your cloud accounts to find resources that break your standards. The Policies page is where you find built-in and custom policies, run them on demand, schedule recurring runs, review job results, and create your own policies.

This feature is most valuable to Account Admins, Tenant Admins, and security, compliance, and FinOps teams who manage cloud guardrails across AWS, Azure, GCP, and OCI. It is not where you review compliance scores against standards (use Compliance Posture) or act on individual cost recommendations (use Recommendations).

📘

Note: Engine-specific cloud permissions must be granted before CoreStack can run AWS Config or Azure Policy policies. See Cloud Permissions for Policy Engines.

How It Works

Each policy uses an engine, such as CoreStack Policy, AWS Config, or Azure Policy, to evaluate resources in a cloud account against its rules. A policy runs when you execute it on demand, when a schedule fires, or automatically when it is a system policy. Each run creates a job in Job History that records how many resources were evaluated and how many violated the policy. From there, violations flow into recommendations and notifications, so the right people can fix them. Built-in policies are available to every tenant. Custom policies you create are available within the scope you choose.

If Policies ticketing is enabled for the tenant, each violation can also open a linked ServiceNow incident.

Prerequisites

Before you begin, make sure that:

  • Role: You have a role with Governance policy access, such as Account Admin or Tenant Admin. Creating, editing, and deleting custom policies requires admin-level access.

  • Cloud accounts: At least one cloud account is onboarded to CoreStack.

  • Engine permissions: The cloud account grants the permissions required by the policy engine. See Cloud Permissions for Policy Engines.

  • Templates: For custom policies with remediation actions, the templates you plan to use are already available in CoreStack.

  • Access: You can open Governance > Guardrails > Policies.

  • For ITSM ticketing: A ServiceNow tool account is configured under Settings > Integrated Tools, and Policies ticketing is enabled in the tenant's Activity Queue Settings. See Enabling ITSM Ticketing for Policy Violations below.

Browsing and Finding Policies

Navigate to Governance > Guardrails > Policies. The Policies page opens on the Policies tab. The Job History and Schedules tabs sit beside it.

Policies page with the Policies, Job History, and Schedules tabs

Step 1: Review the Policy List

By default, the Policy Category is All Policies filter shows every policy available to you. Each row shows:

ColumnDescription
Policy NameThe policy name. Click it to open the policy details.
Engine TypeThe engine that runs the policy, such as CoreStack Policy, AWS Config, or Azure Policy.
Cloud ProviderAWS, Azure, GCP, or OCI.
ClassificationCost, Security, Operation, or Performance.
ScopeWho can use the policy. Built-in policies show Global.
ParameterizedWhether the policy accepts input parameters.
Parameter ConfiguredWhether saved parameter values exist for the policy.
System PolicyWhether CoreStack runs the policy automatically on all onboarded accounts.
Remediation EnabledWhether the policy has remediation actions.
Config. Auto RemediationA toggle that turns on automatic remediation. See Enabling Auto Remediation.
ActionsThe Actions (⋮) menu.

Policy list with column headers highlighted

Step 2: Search for a Policy

Type in the search bar to find policies by name, description, UPI, classification, sub classification, resource type, or service resource.

Policy search bar highlighted

Step 3: Add a Filter

Click ADD and select a field. Choose the values you want. The filter appears as a chip, and the list updates. The available filter fields are Classification, Cloud Provider, Engine Type, Parameter Configured, Parameterized, Remediation Enabled, Severity, Status, Sub Classification, and System Policies.

ADD filter menu on the Policies tab


👍

Tip: Click the Policy Category chip to switch between all policies and a specific category. Click any chip to change or remove it.

Step 4: Save the Current View

To reuse a set of filters, click the More (⋮) icon next to the views drop-down and select Create New View. Saved views appear in the views drop-down. Use Update View to save changes to a view, or Reset to View to discard unsaved changes.

More menu showing Create New View, Update View, and Reset to View

Step 5: Refresh or Download the List

Click the Refresh icon to reload the list. Click the Download icon to export it.

Refresh, filter, and Download icons at the top right of the list

Viewing Policy Details

Click a policy name to open its detail page. The page has five tabs:

TabWhat it shows
MetadataPolicy details (name, status, severity, ID, created by, UPI, description) and classification and resources (engine type, cloud provider, classification, sub classification, content type, resource category, resource type, service resource, equivalent policies).
ContentThe policy's rule definition, including input parameters and their defaults.
ComplianceThe compliance controls mapped to this policy, or a message if none are mapped.
RecommendationsThe recommendation name and description shown to users, plus any remediation actions.
NotificationThe tenant-level notification configuration for the policy.

Policy detail page with the Metadata tab selected

Click the back arrow next to the policy name to return to the list.

Taking Action on a Policy

Click the Actions (⋮) icon at the end of a policy row. The options depend on the policy and your role.

ActionWhat it does
View SchedulesOpens the Schedules tab filtered to this policy.
View ExecutionsOpens the Job History tab filtered to this policy.
ExecuteRuns the policy immediately against a cloud account. See Executing a Policy.
Configure PolicySaves parameter values for the policy at tenant, cloud account, or account master level. See Configuring Policy Parameters.

Actions menu open on a policy row


📘

Note: Edit and Delete are available only for custom policies you have access to manage.

Executing a Policy

Run a policy on demand when you need current results for a specific cloud account.

  1. Click Actions (⋮) > Execute. The Execute Policy panel opens for the selected policy.

  2. Under 1. Scope & Parameters, open the Cloud Account drop-down and select the account to check.

    Execute Policy panel with the Cloud Account drop-down open

  3. For parameterized policies, click Load Parameters. The policy's input parameters appear, pre-filled with the values that apply to the selected account.

  4. Review the parameter values, and change any you need. Required fields are marked with an asterisk. Changes apply to this run only.

  5. Under 2. Notifications, select Yes to add Email ID, Webhook, or Microsoft Teams Webhook recipients, clicking Add after each one. Select No to skip notifications.

    Notifications section and Execute button in the Execute Policy panel

  6. Click Execute. The job appears in Job History with its results.

📘

Note: To use the same values on every run, save them with Configure Policy instead of editing them each time. See Configuring Policy Parameters.

Enabling Auto Remediation

For system policies, turn on the Config. Auto Remediation toggle in the policy row. Confirm when prompted. CoreStack then runs the remediation actions defined in the policy's Recommendations tab whenever violations are found. The policy runs automatically every 12 hours.

📘

Note: Auto remediation cannot be enabled for policies that require input parameters.


Reviewing Job History

Click the Job History tab. Every policy run in your tenant is listed here, including on-demand, scheduled, and system runs.

Job History tab with the job list

Step 1: Review the Job List

Each job shows:

  • Job Name: A name generated from the policy name plus a random suffix.

  • Policy Name: The policy that was run.

  • Job Status: For example, Completed or Failed.

  • Engine Type

  • Cloud Account: The account the job ran against.

  • Evaluated Resources: How many resources were checked.

  • Violated Resources: How many resources failed.

  • Execution Type: On-Demand, Scheduled, or System.

  • Run Date

Step 2: Search and Filter Jobs

Type in the Search by Job Name, Policy Name box, or click ADD and filter by Cloud Account, Cloud Provider, Execution Group, Execution Type, Has Violations, Job Status, Policy, or Run Date.

ADD filter menu on the Job History tab

Step 3: Refresh or Archive a Job

Click the Actions (⋮) icon for a job and select Refresh to update its status, or Archive to remove it from the active list.

Job Actions menu showing Refresh and Archive

Step 4: Open Job Details

Click a job name. The job detail page shows:

  • Summary: Job name, policy name, engine type, run date, evaluated and violated resources, execution type, and job status.

  • Inputs: The cloud account and parameters used for the run.

  • Notifications: The notifications sent for the run.

  • Violated Resources: The resources that failed the policy.

Job detail page showing Summary, Inputs, Notifications, and Violated Resources

Scheduling Policies

Click the Schedules tab. The State is Upcoming filter shows active schedules

Schedules tab with upcoming schedules

Step 1: Review Schedules

Each schedule shows its Schedule Name, Policy, Cloud Account, Recurrence, Next Run Time, and Created By. To narrow the list, search by schedule name, or click ADD and filter by Created By, Policy, or Recurrence.

Step 2: View, Edit, or Delete a Schedule

Click the Actions (⋮) icon for a schedule and select View, Edit, or Delete. View, or clicking the schedule name, opens a details panel. The panel shows the schedule details (policy, next run time, recurrence, created and last updated time), the inputs, and the notifications.

Schedule details panel

Step 3: Create a Schedule

Click Create Schedule. Complete the panel:

SectionFields
1. Schedule DetailsName (required), Description
2. Scope & ParametersPolicy (required), Cloud Account (required), plus any policy parameters
3. ScheduleNext Run Time Date and Time (required), Recurrence (required), End Date (required)
4. NotificationsSelect Yes to add up to 25 Email ID entries, 5 Webhook entries, or 5 Microsoft Teams Webhook entries. At least one is required when notifications are on.

Click Create. The schedule appears in the list with its next run time.

Create Schedule panel showing Schedule Details, Scope & Parameters, and Schedule


📘

Note: If the user who created a schedule is later deleted, the schedule runs under the tenant admin or account admin, and the Updated By field changes to that user.

Creating a Custom Policy

Create a custom policy when the built-in policies don't cover a requirement. On the Policies tab, click Create Custom Policy. The Create Policy wizard opens. Its five stages are listed on the left: Basic Information, Classification & Engine, Recommendation, Trigger & Notification, and Review & Create

Create Custom Policy button on the Policies page

Step 1: Enter Basic Information

Complete the Basic Details:

  • Name (required): A name that identifies the policy.

  • Description (required): What the policy checks, up to 500 characters.

  • Severity (required): High, Medium, or Low.

  • Scope (required): Account, Tenant, or Private.

Basic Information stage with Name and Description fields

Step 2: Upload the Policy Content

In Policy Content, click Upload File. Drag and drop the file, or click Choose file, then click Upload. Accepted formats are .json and .txt.

Upload Policy Content dialog

Step 3: Mark as System Policy (Optional)

Under Policy Metadata, select Mark it as System Policy only if CoreStack should run this policy by default on every cloud account you onboard. Click Next.

Step 4: Select the Engine and Classification

On Classification & Engine, complete these fields:

  • Engine Type (required): The engine that evaluates the policy, such as AWS Config or Azure Policy. Cloud Provider fills in automatically.

  • Classification (required): Cost, Security, Operation, or Performance.

  • Sub Classification (required): A narrower category, such as Access, Application, Data, or Encryption.

Engine Type drop-down on the Classification & Engine stage

Step 5: Select Services and Resources

Under Services & Resources, select the Resource Category (for example, Identity), then the Resource Type (for example, IAM). Then select one or more Service Resources (for example, Role_Assignments) and click OK. Each field narrows the options in the next. Click Next.

Service Resource multi-select with OK button

Step 6: Add a Recommendation and Actions

On Recommendation, enter a Name and Description that tell users how to resolve a violation. To let users fix violations from CoreStack, click Add action. Enter an Action Name, select a Template, and review the Terms & Conditions. Repeat for more actions, or click Remove to delete one. Click Next.

Action form showing Action Name, Template, and Terms & Conditions

📘

Note: Each action runs an existing CoreStack template. Make sure the template is available before you add the action.

Step 7: Configure Triggers and Notifications

On Trigger & Notification, open the Trigger Activity List and select the cloud activities that should trigger the policy. For example, choose a role assignment write event. Click OK. Under Notification Settings, select Yes to add Email ID, Webhook, or Microsoft Teams Webhook recipients, clicking Add after each one. Select No to skip notifications. Click Next.

Trigger Activity List with cloud activity options

Step 8: Review and Create the Policy

On Review & Create, check each section. Click Edit on a section to change it. When everything is correct, click Create Policy. The policy is saved and appears in the policy list, ready to execute or schedule.

Review & Create stage with Edit buttons for each section

👍

Tip: Click Cancel at any point to leave the wizard without saving.

Configuring Policy Parameters

Parameterized policies use threshold values, such as the number of days to look back or a utilization limit. Save these values once so every run uses them. Saved configurations are also used when the policy runs as part of FinOps, Compliance, and Workload Assessments, and when it runs as a system policy.

  1. Click Actions (⋮) > Configure Policy. The Policy Parameter Configuration panel opens. It shows the List of Parameter Configurations, with each configuration's Selected Values, Parameter Scope, and Parameters. If none are saved, the System Defined values apply.

    Policy Parameter Configuration panel listing System Defined values

  2. Click Add New.

  3. Under Parameter Configuration Scope, select where the values apply:

    • Tenant: all cloud accounts in the current tenant.

    • Cloud Account: one or more specific accounts. Open Cloud Accounts, select the accounts, and click Ok.

    • Account Master: all child tenants and cloud accounts under the master tenant.

    Cloud Account scope with the Cloud Accounts multi-select open

  4. Under Policy Parameters, enter the threshold values.

  5. Click Save Config. The configuration appears in the list with its scope. Click Cancel to discard it.

📘

Note: When more than one configuration applies, CoreStack uses the most specific one, in this order: Cloud Account > Tenant > Account Master > System Defined.

📘

Note: Account Master is visible only to Account Admins working in a Master Tenant context.

Enabling ITSM Ticketing for Policy Violations

If your organization tracks policy violations through an ITSM tool, CoreStack can also open one ITSM incident per violating resource for a policy — enabled once at the tenant level, under Settings > Tenant Management > Activity Queue Settings, not per policy. For the full setup steps and the one-ticket-per-resource behavior, see the ServiceNow Integration guide.

Activity Queue Settings with Policies ticketing enabled for ServiceNow

📘

Note: This tenant-level toggle is separate from the per-policy notification settings in Step 19: Configure Triggers and Notifications above, which send Email, Webhook, or Microsoft Teams notifications for an individual custom policy.

To integrate a tool with CoreStack, see Integrating Tool Accounts.

Supported Policy Engines

EngineWhat it uses
CoreStack PolicyCoreStack's own policy language, used across all governance categories.
AWS ConfigNative AWS Config managed and custom rules.
AWS Organization PolicyAWS Service Control Policies.
Azure PolicyNative Azure Policy definitions.
GCP Policy / GCP Organization PolicyNative GCP policy services.
Oracle Cloud GuardNative OCI Cloud Guard.
Kubernetes PolicyKubernetes policy definitions.
📘

Note: No part of the CoreStack policy library runs on Cloud Custodian.

Cloud Permissions for Policy Engines

AWS Config: CoreStack needs these permissions to run managed AWS Config policies:

  • config:DeleteConfigRule

  • config:DescribeConfigRuleEvaluationStatus

  • config:GetComplianceDetailsByConfigRule

  • config:PutConfigRule

Custom Config rules also need Lambda and IAM permissions.

Azure Policy: CoreStack needs access to Microsoft.Authorization and Microsoft.PolicyInsights, with these roles:

  • Resource Policy Contributor: to run Azure Policy operations.

  • Contributor: to perform remediation actions on resources.

📘

Note: The Contributor role has only read access to Azure Policy, so it cannot run policies on its own.

Cost-Optimization Policies by Category and Provider

Recommendation TypeProviderPoliciesServices Covered
Optimize Configurations (85)AWS32Account, AppStream, CloudTrail, Cost, DynamoDB, EBS, EC2, ECS, EMR, Fsx, Lambda, RDS, S3, VPC, Workspaces
Azure32Analysis Services, App Services, Azure Databricks, Cosmos DB, Event Hubs, File Storage, Servers, Storage Disks, Virtual Machines, Virtual Networks
GCP20App Engine, Big Query, Compute Engine, FileStore, SQL, Storage Disks
OCI1Block Storage
Manage Idle (82)AWS25AppStream, Cloudwatch, DMS, DynamoDB, EBS, EC2, ECR private repository, EFS, EMR, Fsx, RDS, Redshift, Route53 Resolver, S3, Traffic Mirroring, VPC
Azure36Analysis Services, App Services, Application Gateway, Azure AI Services, Azure Cache Redis, Azure Kubernetes Service, Azure Synapse Analytics, Container Instances, Cosmos DB, DNS Forwarding Rulesets, DNS Resolvers, Databases, Desktop Virtualization, Event Hubs, Load Balancers, Servers, Storage Disks, Virtual Machines
GCP15App Engine, Bucket, Compute Engine, FileStore, Memory Store, SQL, Storage Disks
OCI6Block Storage, Compute, File Storage, Load Balancers, MySQL
Manage Orphaned (71)AWS21AppStream, DMS, DynamoDB, EBS, EC2, EFS, RDS, Redshift, Route53, Route53 Resolver, S3, Traffic Mirroring, VPC, Workspaces
Azure31Accounts, App Services, Application Gateway, Azure Kubernetes Service, Azure Private Link, Azure SQL Managed Instance, Cosmos DB, DNS Forwarding Rulesets, DNS Resolvers, DNS Zones, Databases, Desktop Virtualization, Event Hubs, Images, Load Balancers, Logic Apps, Private DNS Zones, Servers, Storage Disks, Virtual Networks
GCP14Bucket, Compute Engine, FileStore, Network Services, SQL, Spanner, Storage Disks, VPC
OCI5Block Storage, File Storage, Ip Management, Load Balancers

For the complete list, see the Engine Cost-Optimization Policies Reference.

Frequently Asked Questions

Q: Where did the Marketplace and My Policies tabs go?

They have been replaced by the Policy Category filter and the Scope column. Built-in (marketplace) policies show Global scope. Custom policies show the scope chosen when they were created. Use ADD or the Policy Category chip to show only the policies you want.

Q: Where are Schedules and Job History now?

They are tabs on the Policies page. You can also jump to them for a single policy with Actions (⋮) > View Schedules or View Executions.

Q: Can I edit or delete a built-in policy?

No. Built-in policies are managed by CoreStack (or by your on-site administrator in on-premises installations). To change a built-in policy's behavior, create a custom policy, or save parameter values with Configure Policy.

Q: Which parameter values does a policy run use?

CoreStack uses the most specific saved configuration: Cloud Account, then Tenant, then Account Master, then the System Defined defaults. Values you change in the Execute Policy panel apply to that run only.

Q: What does marking a policy as a system policy do?

CoreStack runs system policies automatically on every cloud account onboarded for that cloud. Only mark a policy as a system policy if it should apply to all accounts by default.

Q: Why can't I turn on Config. Auto Remediation for a policy?

Auto remediation is available only for system policies that don't require input parameters. The policy must also have remediation actions defined in its Recommendations tab.

Q: Why is the Create button disabled in the Notifications section?

When notifications are set to Yes, you must add at least one Email ID, Webhook, or Microsoft Teams Webhook. Either add a recipient or select No.

Q: Can I enable ITSM ticketing for just one policy instead of all of them?

The Activity Queue Settings Policies checkbox enables ServiceNow ticketing for policy violations tenant-wide, not for a single policy.

Troubleshooting

A policy job shows Failed

Cause: The cloud account is missing permissions the policy engine needs, or the credentials have expired.

Solution:

  1. Click the job name and review the Inputs and Summary sections.

  2. Check the account's credentials and the engine permissions listed in Cloud Permissions for Policy Engines.

  3. Run the policy again with Actions (⋮) > Execute and confirm the job completes.

If the issue persists, contact CoreStack support with the job name, policy name, cloud account, run date, and the error shown on the job.


I can't find a policy in the list

Cause: A filter chip or saved view is hiding it, or the policy's scope doesn't include your tenant.

Solution:

  1. Clear the search box and remove any filter chips.

  2. Set Policy Category to All Policies and clear the views drop-down.

  3. For a custom policy, confirm its scope with the person who created it.


A schedule did not run

Cause: The schedule's end date has passed, the policy needs parameters that weren't provided, or the cloud account is unavailable.

Solution:

  1. On the Schedules tab, open the schedule with View. Check the Next Run Time, recurrence, and inputs.

  2. Click Edit to update the end date or inputs.

  3. Check Job History after the next run time for a new job.


A policy violation isn't creating a ServiceNow ticket

Cause: Policies ticketing isn't enabled for this tenant, or no ITSM tool account is selected for it.

Solution:

  1. Navigate to Settings > Tenant Management, select the tenant, then open the Activity Queue Settings tab.

  2. Click Edit.

  3. Select the Policies checkbox and choose your configured ServiceNow tool account from the dropdown.

  4. Click Apply, then re-run the policy and confirm the Incident Number column is populated on the Recommendations dashboard for newly evaluated resources.

Enabling Policies ticketing doesn't retroactively create tickets for resources already flagged before it was enabled.

If the issue persists, contact CoreStack support with the tenant name, the policy name, and the affected resource ID.


Did this page help you?