Policy types for @turbot/azure-compute
- Azure > Compute > Approved Regions [Default]
- Azure > Compute > Availability Set > Active
- Azure > Compute > Availability Set > Active > Age
- Azure > Compute > Availability Set > Active > Last Modified
- Azure > Compute > Availability Set > Approved
- Azure > Compute > Availability Set > Approved > Custom
- Azure > Compute > Availability Set > Approved > Regions
- Azure > Compute > Availability Set > Approved > Usage
- Azure > Compute > Availability Set > CMDB
- Azure > Compute > Availability Set > Regions
- Azure > Compute > Availability Set > Tags
- Azure > Compute > Availability Set > Tags > Template
- Azure > Compute > Disk > Active
- Azure > Compute > Disk > Active > Age
- Azure > Compute > Disk > Active > Attached
- Azure > Compute > Disk > Active > Last Modified
- Azure > Compute > Disk > Approved
- Azure > Compute > Disk > Approved > Custom
- Azure > Compute > Disk > Approved > Regions
- Azure > Compute > Disk > Approved > Usage
- Azure > Compute > Disk > CMDB
- Azure > Compute > Disk > Regions
- Azure > Compute > Disk > Tags
- Azure > Compute > Disk > Tags > Template
- Azure > Compute > Disk Encryption Set > Active
- Azure > Compute > Disk Encryption Set > Active > Age
- Azure > Compute > Disk Encryption Set > Active > Last Modified
- Azure > Compute > Disk Encryption Set > Approved
- Azure > Compute > Disk Encryption Set > Approved > Custom
- Azure > Compute > Disk Encryption Set > Approved > Regions
- Azure > Compute > Disk Encryption Set > Approved > Usage
- Azure > Compute > Disk Encryption Set > CMDB
- Azure > Compute > Disk Encryption Set > Regions
- Azure > Compute > Disk Encryption Set > Tags
- Azure > Compute > Disk Encryption Set > Tags > Template
- Azure > Compute > Enabled
- Azure > Compute > Image > Active
- Azure > Compute > Image > Active > Age
- Azure > Compute > Image > Active > Last Modified
- Azure > Compute > Image > Approved
- Azure > Compute > Image > Approved > Custom
- Azure > Compute > Image > Approved > Regions
- Azure > Compute > Image > Approved > Usage
- Azure > Compute > Image > CMDB
- Azure > Compute > Image > Regions
- Azure > Compute > Image > Tags
- Azure > Compute > Image > Tags > Template
- Azure > Compute > Image > Trusted Publishers
- Azure > Compute > Image > Trusted Publishers > Custom - list of publishers
- Azure > Compute > Image > Trusted Publishers > Local
- Azure > Compute > Image > Trusted Publishers > RHEL
- Azure > Compute > Image > Trusted Publishers > Ubuntu
- Azure > Compute > Image > Trusted Publishers > Windows Server
- Azure > Compute > Permissions
- Azure > Compute > Permissions > Levels
- Azure > Compute > Permissions > Levels > Modifiers
- Azure > Compute > Regions
- Azure > Compute > Snapshot > Active
- Azure > Compute > Snapshot > Active > Age
- Azure > Compute > Snapshot > Active > Last Modified
- Azure > Compute > Snapshot > Approved
- Azure > Compute > Snapshot > Approved > Custom
- Azure > Compute > Snapshot > Approved > Regions
- Azure > Compute > Snapshot > Approved > Usage
- Azure > Compute > Snapshot > CMDB
- Azure > Compute > Snapshot > Regions
- Azure > Compute > Snapshot > Tags
- Azure > Compute > Snapshot > Tags > Template
- Azure > Compute > Ssh Public Key > Active
- Azure > Compute > Ssh Public Key > Active > Age
- Azure > Compute > Ssh Public Key > Active > Last Modified
- Azure > Compute > Ssh Public Key > Approved
- Azure > Compute > Ssh Public Key > Approved > Custom
- Azure > Compute > Ssh Public Key > Approved > Regions
- Azure > Compute > Ssh Public Key > Approved > Usage
- Azure > Compute > Ssh Public Key > CMDB
- Azure > Compute > Ssh Public Key > Regions
- Azure > Compute > Ssh Public Key > Tags
- Azure > Compute > Ssh Public Key > Tags > Template
- Azure > Compute > Tags Template [Default]
- Azure > Compute > Virtual Machine > Active
- Azure > Compute > Virtual Machine > Active > Age
- Azure > Compute > Virtual Machine > Active > Last Modified
- Azure > Compute > Virtual Machine > Approved
- Azure > Compute > Virtual Machine > Approved > Custom
- Azure > Compute > Virtual Machine > Approved > Image
- Azure > Compute > Virtual Machine > Approved > Image > Compiled Rules
- Azure > Compute > Virtual Machine > Approved > Image > Local
- Azure > Compute > Virtual Machine > Approved > Image > RHEL 6
- Azure > Compute > Virtual Machine > Approved > Image > RHEL 7
- Azure > Compute > Virtual Machine > Approved > Image > Rules
- Azure > Compute > Virtual Machine > Approved > Image > Status
- Azure > Compute > Virtual Machine > Approved > Image > Trusted Publishers
- Azure > Compute > Virtual Machine > Approved > Image > Ubuntu 16.04
- Azure > Compute > Virtual Machine > Approved > Image > Ubuntu 18.04
- Azure > Compute > Virtual Machine > Approved > Image > Windows 2012-R2 Datacenter
- Azure > Compute > Virtual Machine > Approved > Image > Windows 2016 Datacenter
- Azure > Compute > Virtual Machine > Approved > Image > Windows 2019 Datacenter
- Azure > Compute > Virtual Machine > Approved > Regions
- Azure > Compute > Virtual Machine > Approved > Usage
- Azure > Compute > Virtual Machine > CMDB
- Azure > Compute > Virtual Machine > Regions
- Azure > Compute > Virtual Machine > Schedule
- Azure > Compute > Virtual Machine > Schedule Tag
- Azure > Compute > Virtual Machine > Tags
- Azure > Compute > Virtual Machine > Tags > Template
- Azure > Compute > Virtual Machine Scale Set > Active
- Azure > Compute > Virtual Machine Scale Set > Active > Age
- Azure > Compute > Virtual Machine Scale Set > Active > Last Modified
- Azure > Compute > Virtual Machine Scale Set > Approved
- Azure > Compute > Virtual Machine Scale Set > Approved > Custom
- Azure > Compute > Virtual Machine Scale Set > Approved > Regions
- Azure > Compute > Virtual Machine Scale Set > Approved > Usage
- Azure > Compute > Virtual Machine Scale Set > CMDB
- Azure > Compute > Virtual Machine Scale Set > Regions
- Azure > Compute > Virtual Machine Scale Set > Tags
- Azure > Compute > Virtual Machine Scale Set > Tags > Template
- Azure > Turbot > Permissions > Compiled > Levels > @turbot/azure-compute
- Azure > Turbot > Permissions > Compiled > Service Permissions > @turbot/azure-compute
Azure > Compute > Approved Regions [Default]
A list of Azure regions in which Azure Compute resources are approved for use.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
This policy is the default value for all Azure Compute resources' Approved > Regions policies.
tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault
"{\n regions: policyValue(uri:\"tmod:@turbot/azure#/policy/types/approvedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Availability Set > Active
Determine the action to take when an Azure Compute availability set, based on the Azure > Compute > Availability Set > Active > *
policies.
The control determines whether the resource is in active use, and if not,
has the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Availability Set > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note: In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/availabilitySetActive
[ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning"]
{ "type": "string", "enum": [ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning" ], "example": [ "Check: Active" ], "default": "Skip"}
Azure > Compute > Availability Set > Active > Age
The age after which the Azure Compute availability set
is no longer considered active. If a create time is unavailable, the time Guardrails discovered the resource is used.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Availability Set > Active > *
),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/availabilitySetActiveAge
[ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days"]
{ "type": "string", "enum": [ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days" ], "example": [ "Force inactive if age > 90 days" ], "default": "Skip"}
Azure > Compute > Availability Set > Active > Last Modified
The number of days since the Azure Compute availability set was last modified before it is considered
inactive.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Availability Set > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
tmod:@turbot/azure-compute#/policy/types/availabilitySetActiveLastModified
[ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days"]
{ "type": "string", "enum": [ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days" ], "example": [ "Active if last modified <= 90 days" ], "default": "Skip"}
Azure > Compute > Availability Set > Approved
Determine the action to take when an Azure Compute availability set is not approved based on Azure > Compute > Availability Set > Approved > *
policies.
The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.
For any enforcement actions that specify if new
, e.g., Enforce: Delete unapproved if new
, this control will only take the enforcement actions for resources created within the last 60 minutes.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/availabilitySetApproved
[ "Skip", "Check: Approved", "Enforce: Delete unapproved if new"]
{ "type": "string", "enum": [ "Skip", "Check: Approved", "Enforce: Delete unapproved if new" ], "example": [ "Check: Approved" ], "default": "Skip"}
Azure > Compute > Availability Set > Approved > Custom
Determine whether the Azure Compute availability set is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute availability set is not approved, it will be subject to the action specified in the Azure > Compute > Availability Set > Approved
policy.
See Approved for more information.
Note: The policy value must be a string with a value of Approved
, Not approved
or Skip
, or in the form of YAML objects. The object(s) must contain the key result
with its value as Approved
or Not approved
. A custom title and message can also be added using the keys title
and message
respectively.
tmod:@turbot/azure-compute#/policy/types/availabilitySetApprovedCustom
{ "example": [ "Approved", "Not approved", "Skip", { "result": "Approved" }, { "title": "string", "result": "Not approved" }, { "title": "string", "result": "Approved", "message": "string" }, [ { "title": "string", "result": "Approved", "message": "string" }, { "title": "string", "result": "Not approved", "message": "string" } ] ], "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false } }, { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false }, { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } ], "default": "Skip"}
Azure > Compute > Availability Set > Approved > Regions
A list of Azure regions in which Azure Compute availability sets are approved for use.
The expected format is an array of regions names. You may use the '*' and '?' wildcard characters.
This policy will be evaluated by the Approved control. If an Azure Compute availability set is created in a region that is not in the approved list, it will be subject to the action specified in the Azure > Compute > Availability Set > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/availabilitySetApprovedRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Availability Set > Approved > Usage
Determine whether the Azure Compute availability set is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute availability set is not approved, it will be subject to the action specified in the Azure > Compute > Availability Set > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/availabilitySetApprovedUsage
[ "Not approved", "Approved", "Approved if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Not approved", "Approved", "Approved if Azure > Compute > Enabled" ], "example": [ "Not approved" ], "default": "Approved if Azure > Compute > Enabled"}
Azure > Compute > Availability Set > CMDB
Configure whether to record and synchronize details for the Azure Compute availability set into the CMDB.
The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.
All policies and controls in Guardrails are based around the resource, so usually the CMDB policy is set to "Enforce: Enabled".
If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.
To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".
CMDB controls also use the Regions policy associated with the resource. If region is not in Azure > Compute > Availability Set > Regions
policy, the CMDB control will delete the resource from the CMDB.
(Note: Setting CMDB to "Skip" will also pause these changes.)
tmod:@turbot/azure-compute#/policy/types/availabilitySetCmdb
[ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled"]
{ "type": "string", "enum": [ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled" ], "example": [ "Skip" ], "default": "Enforce: Enabled if Compute provider is Registered"}
Azure > Compute > Availability Set > Regions
A list of Azure regions in which Azure Compute availability sets are supported for use.
Any availability sets in a region not listed here will not be recorded in CMDB.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
tmod:@turbot/azure-compute#/policy/types/availabilitySetRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Availability Set > Tags
Determine the action to take when an Azure Compute availability set tags are not updated based on the Azure > Compute > Availability Set > Tags > *
policies.
The control ensure Azure Compute availability set tags include tags defined in Azure > Compute > Availability Set > Tags > Template
.
Tags not defined in Availability Set Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/availabilitySetTags
[ "Skip", "Check: Tags are correct", "Enforce: Set tags"]
{ "type": "string", "enum": [ "Skip", "Check: Tags are correct", "Enforce: Set tags" ], "example": [ "Check: Tags are correct" ], "default": "Skip"}
Azure > Compute > Availability Set > Tags > Template
The template is used to generate the keys and values for Azure Compute availability set.
Tags not defined in Availability Set Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/availabilitySetTagsTemplate
[ "{\n subscription {\n turbot {\n id\n }\n }\n}\n", "{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate\" resourceId: \"{{ $.subscription.turbot.id }}\") {\n value\n }\n}\n"]
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Compute > Disk > Active
Determine the action to take when an Azure Compute disk, based on the Azure > Compute > Disk > Active > *
policies.
The control determines whether the resource is in active use, and if not,
has the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Disk > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note: In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/diskActive
[ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning"]
{ "type": "string", "enum": [ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning" ], "example": [ "Check: Active" ], "default": "Skip"}
Azure > Compute > Disk > Active > Age
The age after which the Azure Compute disk
is no longer considered active. If a create time is unavailable, the time Guardrails discovered the resource is used.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Disk > Active > *
),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/diskActiveAge
[ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days"]
{ "type": "string", "enum": [ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days" ], "example": [ "Force inactive if age > 90 days" ], "default": "Skip"}
Azure > Compute > Disk > Active > Attached
Determine whether the Disk is active, based on whether it is attached to any other resource types.
The Active control determines whether the resource is in active use, and if not, has the ability to delete / cleanup the resource. When running an automated compliance environment, it's common to end up with a wide range of alarms that are difficult and time consuming to clear. The Active control brings automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the resource (Azure > Compute > Disk > Active > *
), raises an alarm, and takes the defined enforcement action. Each Active sub-policy can calculate a status of active, inactive or skipped. Generally, if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved for any reason it will be considered Unapproved.
tmod:@turbot/azure-compute#/policy/types/diskActiveAttached
[ "Skip", "Active if attached", "Force active if attached", "Force inactive if unattached"]
{ "type": "string", "enum": [ "Skip", "Active if attached", "Force active if attached", "Force inactive if unattached" ], "example": [ "Skip" ], "default": "Skip"}
Azure > Compute > Disk > Active > Last Modified
The number of days since the Azure Compute disk was last modified before it is considered
inactive.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Disk > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
tmod:@turbot/azure-compute#/policy/types/diskActiveLastModified
[ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days"]
{ "type": "string", "enum": [ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days" ], "example": [ "Active if last modified <= 90 days" ], "default": "Skip"}
Azure > Compute > Disk > Approved
Determine the action to take when an Azure Compute disk is not approved based on Azure > Compute > Disk > Approved > *
policies.
The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.
For any enforcement actions that specify if new
, e.g., Enforce: Delete unapproved if new
, this control will only take the enforcement actions for resources created within the last 60 minutes.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/diskApproved
[ "Skip", "Check: Approved", "Enforce: Delete unapproved if new"]
{ "type": "string", "enum": [ "Skip", "Check: Approved", "Enforce: Delete unapproved if new" ], "example": [ "Check: Approved" ], "default": "Skip"}
Azure > Compute > Disk > Approved > Custom
Determine whether the Azure Compute disk is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute disk is not approved, it will be subject to the action specified in the Azure > Compute > Disk > Approved
policy.
See Approved for more information.
Note: The policy value must be a string with a value of Approved
, Not approved
or Skip
, or in the form of YAML objects. The object(s) must contain the key result
with its value as Approved
or Not approved
. A custom title and message can also be added using the keys title
and message
respectively.
tmod:@turbot/azure-compute#/policy/types/diskApprovedCustom
{ "example": [ "Approved", "Not approved", "Skip", { "result": "Approved" }, { "title": "string", "result": "Not approved" }, { "title": "string", "result": "Approved", "message": "string" }, [ { "title": "string", "result": "Approved", "message": "string" }, { "title": "string", "result": "Not approved", "message": "string" } ] ], "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false } }, { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false }, { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } ], "default": "Skip"}
Azure > Compute > Disk > Approved > Regions
A list of Azure regions in which Azure Compute disks are approved for use.
The expected format is an array of regions names. You may use the '*' and '?' wildcard characters.
This policy will be evaluated by the Approved control. If an Azure Compute disk is created in a region that is not in the approved list, it will be subject to the action specified in the Azure > Compute > Disk > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/diskApprovedRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Disk > Approved > Usage
Determine whether the Azure Compute disk is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute disk is not approved, it will be subject to the action specified in the Azure > Compute > Disk > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/diskApprovedUsage
[ "Not approved", "Approved", "Approved if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Not approved", "Approved", "Approved if Azure > Compute > Enabled" ], "example": [ "Not approved" ], "default": "Approved if Azure > Compute > Enabled"}
Azure > Compute > Disk > CMDB
Configure whether to record and synchronize details for the Azure Compute disk into the CMDB.
The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.
All policies and controls in Guardrails are based around the resource, so usually the CMDB policy is set to "Enforce: Enabled".
If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.
To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".
CMDB controls also use the Regions policy associated with the resource. If region is not in Azure > Compute > Disk > Regions
policy, the CMDB control will delete the resource from the CMDB.
(Note: Setting CMDB to "Skip" will also pause these changes.)
tmod:@turbot/azure-compute#/policy/types/diskCmdb
[ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled"]
{ "type": "string", "enum": [ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled" ], "example": [ "Skip" ], "default": "Enforce: Enabled if Compute provider is Registered"}
Azure > Compute > Disk > Regions
A list of Azure regions in which Azure Compute disks are supported for use.
Any disks in a region not listed here will not be recorded in CMDB.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
tmod:@turbot/azure-compute#/policy/types/diskRegions
{ "allOf": [ { "$ref": "azure#/definitions/regionNameMatcherList" }, { "default": [ "australiacentral", "australiaeast", "australiasoutheast", "brazilsouth", "canadacentral", "canadaeast", "centralindia", "centralus", "chinaeast", "chinaeast2", "chinaeast3", "chinanorth", "chinanorth2", "chinanorth3", "eastasia", "eastus", "eastus2", "francecentral", "germanywestcentral", "japaneast", "japanwest", "koreacentral", "koreasouth", "northcentralus", "northeurope", "norwayeast", "southafricanorth", "southcentralus", "southeastasia", "southindia", "switzerlandnorth", "uaenorth", "uksouth", "ukwest", "usgovarizona", "usgovtexas", "usgovvirginia", "westcentralus", "westeurope", "westindia", "westus", "westus2" ] } ]}
Azure > Compute > Disk > Tags
Determine the action to take when an Azure Compute disk tags are not updated based on the Azure > Compute > Disk > Tags > *
policies.
The control ensure Azure Compute disk tags include tags defined in Azure > Compute > Disk > Tags > Template
.
Tags not defined in Disk Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/diskTags
[ "Skip", "Check: Tags are correct", "Enforce: Set tags"]
{ "type": "string", "enum": [ "Skip", "Check: Tags are correct", "Enforce: Set tags" ], "example": [ "Check: Tags are correct" ], "default": "Skip"}
Azure > Compute > Disk > Tags > Template
The template is used to generate the keys and values for Azure Compute disk.
Tags not defined in Disk Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/diskTagsTemplate
[ "{\n subscription {\n turbot {\n id\n }\n }\n}\n", "{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate\" resourceId: \"{{ $.subscription.turbot.id }}\") {\n value\n }\n}\n"]
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Compute > Disk Encryption Set > Active
Determine the action to take when an Azure Compute disk encryption set, based on the Azure > Compute > Disk Encryption Set > Active > *
policies.
The control determines whether the resource is in active use, and if not,
has the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Disk Encryption Set > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note: In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetActive
[ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning"]
{ "type": "string", "enum": [ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning" ], "example": [ "Check: Active" ], "default": "Skip"}
Azure > Compute > Disk Encryption Set > Active > Age
The age after which the Azure Compute disk encryption set
is no longer considered active. If a create time is unavailable, the time Guardrails discovered the resource is used.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Disk Encryption Set > Active > *
),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetActiveAge
[ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days"]
{ "type": "string", "enum": [ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days" ], "example": [ "Force inactive if age > 90 days" ], "default": "Skip"}
Azure > Compute > Disk Encryption Set > Active > Last Modified
The number of days since the Azure Compute disk encryption set was last modified before it is considered
inactive.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Disk Encryption Set > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetActiveLastModified
[ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days"]
{ "type": "string", "enum": [ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days" ], "example": [ "Active if last modified <= 90 days" ], "default": "Skip"}
Azure > Compute > Disk Encryption Set > Approved
Determine the action to take when an Azure Compute disk encryption set is not approved based on Azure > Compute > Disk Encryption Set > Approved > *
policies.
The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.
For any enforcement actions that specify if new
, e.g., Enforce: Delete unapproved if new
, this control will only take the enforcement actions for resources created within the last 60 minutes.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetApproved
[ "Skip", "Check: Approved", "Enforce: Delete unapproved if new"]
{ "type": "string", "enum": [ "Skip", "Check: Approved", "Enforce: Delete unapproved if new" ], "example": [ "Check: Approved" ], "default": "Skip"}
Azure > Compute > Disk Encryption Set > Approved > Custom
Determine whether the Azure Compute disk encryption set is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute disk encryption set is not approved, it will be subject to the action specified in the Azure > Compute > Disk Encryption Set > Approved
policy.
See Approved for more information.
Note: The policy value must be a string with a value of Approved
, Not approved
or Skip
, or in the form of YAML objects. The object(s) must contain the key result
with its value as Approved
or Not approved
. A custom title and message can also be added using the keys title
and message
respectively.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetApprovedCustom
{ "example": [ "Approved", "Not approved", "Skip", { "result": "Approved" }, { "title": "string", "result": "Not approved" }, { "title": "string", "result": "Approved", "message": "string" }, [ { "title": "string", "result": "Approved", "message": "string" }, { "title": "string", "result": "Not approved", "message": "string" } ] ], "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false } }, { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false }, { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } ], "default": "Skip"}
Azure > Compute > Disk Encryption Set > Approved > Regions
A list of Azure regions in which Azure Compute disk encryption sets are approved for use.
The expected format is an array of regions names. You may use the '*' and '?' wildcard characters.
This policy will be evaluated by the Approved control. If an Azure Compute disk encryption set is created in a region that is not in the approved list, it will be subject to the action specified in the Azure > Compute > Disk Encryption Set > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetApprovedRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Disk Encryption Set > Approved > Usage
Determine whether the Azure Compute disk encryption set is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute disk encryption set is not approved, it will be subject to the action specified in the Azure > Compute > Disk Encryption Set > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetApprovedUsage
[ "Not approved", "Approved", "Approved if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Not approved", "Approved", "Approved if Azure > Compute > Enabled" ], "example": [ "Not approved" ], "default": "Approved if Azure > Compute > Enabled"}
Azure > Compute > Disk Encryption Set > CMDB
Configure whether to record and synchronize details for the Azure Compute disk encryption set into the CMDB.
The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.
All policies and controls in Guardrails are based around the resource, so usually the CMDB policy is set to "Enforce: Enabled".
If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.
To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".
CMDB controls also use the Regions policy associated with the resource. If region is not in Azure > Compute > Disk Encryption Set > Regions
policy, the CMDB control will delete the resource from the CMDB.
(Note: Setting CMDB to "Skip" will also pause these changes.)
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetCmdb
[ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled"]
{ "type": "string", "enum": [ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled" ], "example": [ "Skip" ], "default": "Enforce: Enabled if Compute provider is Registered"}
Azure > Compute > Disk Encryption Set > Regions
A list of Azure regions in which Azure Compute disk encryption sets are supported for use.
Any disk encryption sets in a region not listed here will not be recorded in CMDB.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetRegions
{ "allOf": [ { "$ref": "azure#/definitions/regionNameMatcherList" }, { "default": [ "australiacentral", "australiaeast", "australiasoutheast", "brazilsouth", "canadacentral", "canadaeast", "centralindia", "centralus", "chinaeast", "chinaeast2", "chinaeast3", "chinanorth", "chinanorth2", "chinanorth3", "eastasia", "eastus", "eastus2", "francecentral", "germanywestcentral", "japaneast", "japanwest", "koreacentral", "koreasouth", "northcentralus", "northeurope", "norwayeast", "southafricanorth", "southcentralus", "southeastasia", "southindia", "switzerlandnorth", "uaenorth", "uksouth", "ukwest", "usgovarizona", "usgovtexas", "usgovvirginia", "westcentralus", "westeurope", "westindia", "westus", "westus2" ] } ]}
Azure > Compute > Disk Encryption Set > Tags
Determine the action to take when an Azure Compute disk encryption set tags are not updated based on the Azure > Compute > Disk Encryption Set > Tags > *
policies.
The control ensure Azure Compute disk encryption set tags include tags defined in Azure > Compute > Disk Encryption Set > Tags > Template
.
Tags not defined in Disk Encryption Set Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetTags
[ "Skip", "Check: Tags are correct", "Enforce: Set tags"]
{ "type": "string", "enum": [ "Skip", "Check: Tags are correct", "Enforce: Set tags" ], "example": [ "Check: Tags are correct" ], "default": "Skip"}
Azure > Compute > Disk Encryption Set > Tags > Template
The template is used to generate the keys and values for Azure Compute disk encryption set.
Tags not defined in Disk Encryption Set Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/diskEncryptionSetTagsTemplate
[ "{\n subscription {\n turbot {\n id\n }\n }\n}\n", "{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate\" resourceId: \"{{ $.subscription.turbot.id }}\") {\n value\n }\n}\n"]
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Compute > Enabled
Enable Azure Compute service.
tmod:@turbot/azure-compute#/policy/types/computeEnabled
[ "Enabled", "Enabled: Metadata Only", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Enabled: Metadata Only", "Disabled" ], "example": [ "Enabled" ], "default": "Disabled"}
Azure > Compute > Image > Active
Determine the action to take when an Azure Compute image, based on the Azure > Compute > Image > Active > *
policies.
The control determines whether the resource is in active use, and if not,
has the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Image > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note: In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/imageActive
[ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning"]
{ "type": "string", "enum": [ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning" ], "example": [ "Check: Active" ], "default": "Skip"}
Azure > Compute > Image > Active > Age
The age after which the Azure Compute image
is no longer considered active. If a create time is unavailable, the time Guardrails discovered the resource is used.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Image > Active > *
),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/imageActiveAge
[ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days"]
{ "type": "string", "enum": [ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days" ], "example": [ "Force inactive if age > 90 days" ], "default": "Skip"}
Azure > Compute > Image > Active > Last Modified
The number of days since the Azure Compute image was last modified before it is considered
inactive.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Image > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
tmod:@turbot/azure-compute#/policy/types/imageActiveLastModified
[ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days"]
{ "type": "string", "enum": [ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days" ], "example": [ "Active if last modified <= 90 days" ], "default": "Skip"}
Azure > Compute > Image > Approved
Determine the action to take when an Azure Compute image is not approved based on Azure > Compute > Image > Approved > *
policies.
The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.
For any enforcement actions that specify if new
, e.g., Enforce: Delete unapproved if new
, this control will only take the enforcement actions for resources created within the last 60 minutes.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/imageApproved
[ "Skip", "Check: Approved", "Enforce: Delete unapproved if new"]
{ "type": "string", "enum": [ "Skip", "Check: Approved", "Enforce: Delete unapproved if new" ], "example": [ "Check: Approved" ], "default": "Skip"}
Azure > Compute > Image > Approved > Custom
Determine whether the Azure Compute image is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute image is not approved, it will be subject to the action specified in the Azure > Compute > Image > Approved
policy.
See Approved for more information.
Note: The policy value must be a string with a value of Approved
, Not approved
or Skip
, or in the form of YAML objects. The object(s) must contain the key result
with its value as Approved
or Not approved
. A custom title and message can also be added using the keys title
and message
respectively.
tmod:@turbot/azure-compute#/policy/types/imageApprovedCustom
{ "example": [ "Approved", "Not approved", "Skip", { "result": "Approved" }, { "title": "string", "result": "Not approved" }, { "title": "string", "result": "Approved", "message": "string" }, [ { "title": "string", "result": "Approved", "message": "string" }, { "title": "string", "result": "Not approved", "message": "string" } ] ], "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false } }, { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false }, { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } ], "default": "Skip"}
Azure > Compute > Image > Approved > Regions
A list of Azure regions in which Azure Compute images are approved for use.
The expected format is an array of regions names. You may use the '*' and '?' wildcard characters.
This policy will be evaluated by the Approved control. If an Azure Compute image is created in a region that is not in the approved list, it will be subject to the action specified in the Azure > Compute > Image > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/imageApprovedRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Image > Approved > Usage
Determine whether the Azure Compute image is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute image is not approved, it will be subject to the action specified in the Azure > Compute > Image > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/imageApprovedUsage
[ "Not approved", "Approved", "Approved if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Not approved", "Approved", "Approved if Azure > Compute > Enabled" ], "example": [ "Not approved" ], "default": "Approved if Azure > Compute > Enabled"}
Azure > Compute > Image > CMDB
Configure whether to record and synchronize details for the Azure Compute image into the CMDB.
The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.
All policies and controls in Guardrails are based around the resource, so usually the CMDB policy is set to "Enforce: Enabled".
If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.
To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".
CMDB controls also use the Regions policy associated with the resource. If region is not in Azure > Compute > Image > Regions
policy, the CMDB control will delete the resource from the CMDB.
(Note: Setting CMDB to "Skip" will also pause these changes.)
tmod:@turbot/azure-compute#/policy/types/imageCmdb
[ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled"]
{ "type": "string", "enum": [ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled" ], "example": [ "Skip" ], "default": "Enforce: Enabled if Compute provider is Registered"}
Azure > Compute > Image > Regions
A list of Azure regions in which Azure Compute images are supported for use.
Any images in a region not listed here will not be recorded in CMDB.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
tmod:@turbot/azure-compute#/policy/types/imageRegions
{ "allOf": [ { "$ref": "azure#/definitions/regionNameMatcherList" }, { "default": [ "australiacentral", "australiaeast", "australiasoutheast", "brazilsouth", "canadacentral", "canadaeast", "centralindia", "centralus", "chinaeast", "chinaeast2", "chinaeast3", "chinanorth", "chinanorth2", "chinanorth3", "eastasia", "eastus", "eastus2", "francecentral", "germanywestcentral", "japaneast", "japanwest", "koreacentral", "koreasouth", "northcentralus", "northeurope", "norwayeast", "southafricanorth", "southcentralus", "southeastasia", "southindia", "switzerlandnorth", "uaenorth", "uksouth", "ukwest", "usgovarizona", "usgovtexas", "usgovvirginia", "westcentralus", "westeurope", "westindia", "westus", "westus2" ] } ]}
Azure > Compute > Image > Tags
Determine the action to take when an Azure Compute image tags are not updated based on the Azure > Compute > Image > Tags > *
policies.
The control ensure Azure Compute image tags include tags defined in Azure > Compute > Image > Tags > Template
.
Tags not defined in Image Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/imageTags
[ "Skip", "Check: Tags are correct", "Enforce: Set tags"]
{ "type": "string", "enum": [ "Skip", "Check: Tags are correct", "Enforce: Set tags" ], "example": [ "Check: Tags are correct" ], "default": "Skip"}
Azure > Compute > Image > Tags > Template
The template is used to generate the keys and values for Azure Compute image.
Tags not defined in Image Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/imageTagsTemplate
[ "{\n subscription {\n turbot {\n id\n }\n }\n}\n", "{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate\" resourceId: \"{{ $.subscription.turbot.id }}\") {\n value\n }\n}\n"]
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Compute > Image > Trusted Publishers
A list of total Publishers whose Images will be allowed to run in the subscription. All others will be disabled.
tmod:@turbot/azure-compute#/policy/types/imageTrustedPublishers
{ "type": "array", "items": { "type": "string" }}
Azure > Compute > Image > Trusted Publishers > Custom - list of publishers
A list of publishers whose Images are allowed to be run in the subscription.
tmod:@turbot/azure-compute#/policy/types/imageTrustedPublishersCustom
{ "type": "array", "items": { "type": "string" }, "default": []}
Azure > Compute > Image > Trusted Publishers > Local
Determine whether the Local Images (from this Azure Subscription may be
may be used to launch and run Compute Virtual Machines
tmod:@turbot/azure-compute#/policy/types/imageTrustedPublishersLocal
[ "Enabled", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Disabled" ], "example": [ "Enabled" ], "default": "Enabled"}
Azure > Compute > Image > Trusted Publishers > RHEL
Determine whether the RHEL Server publisher
Images may be used to launch and run Compute Virtual Machines
tmod:@turbot/azure-compute#/policy/types/imageTrustedPublishersRhel
[ "Enabled", "Disabled", "Enabled if Azure > Compute > Virtual Machine > Approved > Image > RHEL Server * is Enabled"]
{ "type": "string", "enum": [ "Enabled", "Disabled", "Enabled if Azure > Compute > Virtual Machine > Approved > Image > RHEL Server * is Enabled" ], "example": [ "Enabled if Azure > Compute > Virtual Machine > Approved > Image > RHEL Server * is Enabled" ], "default": "Enabled if Azure > Compute > Virtual Machine > Approved > Image > RHEL Server * is Enabled"}
Azure > Compute > Image > Trusted Publishers > Ubuntu
Determine whether the Ubuntu Server publisher
Images may be used to launch and run Compute Virtual Machines
tmod:@turbot/azure-compute#/policy/types/imageTrustedPublishersUbuntu
[ "Enabled", "Disabled", "Enabled if Azure > Compute > Virtual Machine > Approved > Image > Ubuntu Server * is Enabled"]
{ "type": "string", "enum": [ "Enabled", "Disabled", "Enabled if Azure > Compute > Virtual Machine > Approved > Image > Ubuntu Server * is Enabled" ], "example": [ "Enabled if Azure > Compute > Virtual Machine > Approved > Image > Ubuntu Server * is Enabled" ], "default": "Enabled if Azure > Compute > Virtual Machine > Approved > Image > Ubuntu Server * is Enabled"}
Azure > Compute > Image > Trusted Publishers > Windows Server
Determine whether the Microsoft Windows Server publisher
Images may be used to launch and run Compute Virtual Machines
tmod:@turbot/azure-compute#/policy/types/imageTrustedPublishersWindows
[ "Enabled", "Disabled", "Enabled if Azure > Compute > Virtual Machine > Approved > Image > Windows Server * is Enabled"]
{ "type": "string", "enum": [ "Enabled", "Disabled", "Enabled if Azure > Compute > Virtual Machine > Approved > Image > Windows Server * is Enabled" ], "example": [ "Enabled if Azure > Compute > Virtual Machine > Approved > Image > Windows Server * is Enabled" ], "default": "Enabled if Azure > Compute > Virtual Machine > Approved > Image > Windows Server * is Enabled"}
Azure > Compute > Permissions
Configure whether permissions policies are in effect for Azure Compute
This setting does not affect Subscription level permissions (Azure/Admin, Azure/Owner, etc)
tmod:@turbot/azure-compute#/policy/types/computePermissions
[ "Enabled", "Disabled", "Enabled if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Enabled", "Disabled", "Enabled if Azure > Compute > Enabled" ], "example": [ "Enabled" ], "default": "Enabled if Azure > Compute > Enabled"}
Azure > Compute > Permissions > Levels
Define the permissions levels that can be used to grant access to Storage an
Azure Subscription. Permissions levels defined will appear in the UI to assign
access to Guardrails users.
tmod:@turbot/azure-compute#/policy/types/computePermissionsLevels
[ "{\n item: subscription {\n turbot{\n id\n }\n }\n}\n", "{\n availableLevels: policyValues(filter:\"policyTypeLevel:self resourceId:{{ $.item.turbot.id }} policyTypeId:'tmod:@turbot/azure-iam#/policy/types/permissionsLevelsDefault'\") {\n items {\n value\n }\n }\n}\n"]
"{% if $.availableLevels.items[0].value | length == 0 %} [] {% endif %}{% for item in $.availableLevels.items[0].value %}- {{ item }}\n{% endfor %}"
{ "type": "array", "items": { "type": "string", "enum": [ "User", "Metadata", "ReadOnly", "Operator", "Admin", "Owner" ] }}
Azure > Compute > Permissions > Levels > Modifiers
A map of Azure API to Guardrails Permission Level used to customize Guardrails'
standard permissions. You can add, remove or redefine the mapping of
Azure API operations to Guardrails permissions levels here.<br />example:<br /> - "Microsoft.Compute/Compute/delete": operator<br /> - "Microsoft.Compute/Compute/write": admin<br /> - "Microsoft.Compute/Compute/read": readonly<br />
tmod:@turbot/azure-compute#/policy/types/computePermissionsLevelsModifiers
Azure > Compute > Regions
A list of Azure regions in which Azure Compute resources are supported for use.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
This policy is the default value for all Azure Compute resources' Regions policies.
tmod:@turbot/azure-compute#/policy/types/computeRegionsDefault
{ "allOf": [ { "$ref": "azure#/definitions/regionNameMatcherList" }, { "default": [ "australiacentral", "australiaeast", "australiasoutheast", "brazilsouth", "canadacentral", "canadaeast", "centralindia", "centralus", "chinaeast", "chinaeast2", "chinaeast3", "chinanorth", "chinanorth2", "chinanorth3", "eastasia", "eastus", "eastus2", "francecentral", "germanywestcentral", "japaneast", "japanwest", "koreacentral", "koreasouth", "northcentralus", "northeurope", "southafricanorth", "southcentralus", "southeastasia", "southindia", "uaenorth", "uksouth", "ukwest", "usgovarizona", "usgoviowa", "usgovtexas", "usgovvirginia", "westcentralus", "westeurope", "westindia", "westus", "westus2" ] } ]}
Azure > Compute > Snapshot > Active
Determine the action to take when an Azure Compute snapshot, based on the Azure > Compute > Snapshot > Active > *
policies.
The control determines whether the resource is in active use, and if not,
has the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Snapshot > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note: In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/snapshotActive
[ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning"]
{ "type": "string", "enum": [ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning" ], "example": [ "Check: Active" ], "default": "Skip"}
Azure > Compute > Snapshot > Active > Age
The age after which the Azure Compute snapshot
is no longer considered active. If a create time is unavailable, the time Guardrails discovered the resource is used.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Snapshot > Active > *
),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/snapshotActiveAge
[ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days"]
{ "type": "string", "enum": [ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days" ], "example": [ "Force inactive if age > 90 days" ], "default": "Skip"}
Azure > Compute > Snapshot > Active > Last Modified
The number of days since the Azure Compute snapshot was last modified before it is considered
inactive.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Snapshot > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
tmod:@turbot/azure-compute#/policy/types/snapshotActiveLastModified
[ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days"]
{ "type": "string", "enum": [ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days" ], "example": [ "Active if last modified <= 90 days" ], "default": "Skip"}
Azure > Compute > Snapshot > Approved
Determine the action to take when an Azure Compute snapshot is not approved based on Azure > Compute > Snapshot > Approved > *
policies.
The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.
For any enforcement actions that specify if new
, e.g., Enforce: Delete unapproved if new
, this control will only take the enforcement actions for resources created within the last 60 minutes.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/snapshotApproved
[ "Skip", "Check: Approved", "Enforce: Delete unapproved if new"]
{ "type": "string", "enum": [ "Skip", "Check: Approved", "Enforce: Delete unapproved if new" ], "example": [ "Check: Approved" ], "default": "Skip"}
Azure > Compute > Snapshot > Approved > Custom
Determine whether the Azure Compute snapshot is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute snapshot is not approved, it will be subject to the action specified in the Azure > Compute > Snapshot > Approved
policy.
See Approved for more information.
Note: The policy value must be a string with a value of Approved
, Not approved
or Skip
, or in the form of YAML objects. The object(s) must contain the key result
with its value as Approved
or Not approved
. A custom title and message can also be added using the keys title
and message
respectively.
tmod:@turbot/azure-compute#/policy/types/snapshotApprovedCustom
{ "example": [ "Approved", "Not approved", "Skip", { "result": "Approved" }, { "title": "string", "result": "Not approved" }, { "title": "string", "result": "Approved", "message": "string" }, [ { "title": "string", "result": "Approved", "message": "string" }, { "title": "string", "result": "Not approved", "message": "string" } ] ], "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false } }, { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false }, { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } ], "default": "Skip"}
Azure > Compute > Snapshot > Approved > Regions
A list of Azure regions in which Azure Compute snapshots are approved for use.
The expected format is an array of regions names. You may use the '*' and '?' wildcard characters.
This policy will be evaluated by the Approved control. If an Azure Compute snapshot is created in a region that is not in the approved list, it will be subject to the action specified in the Azure > Compute > Snapshot > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/snapshotApprovedRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Snapshot > Approved > Usage
Determine whether the Azure Compute snapshot is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute snapshot is not approved, it will be subject to the action specified in the Azure > Compute > Snapshot > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/snapshotApprovedUsage
[ "Not approved", "Approved", "Approved if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Not approved", "Approved", "Approved if Azure > Compute > Enabled" ], "example": [ "Not approved" ], "default": "Approved if Azure > Compute > Enabled"}
Azure > Compute > Snapshot > CMDB
Configure whether to record and synchronize details for the Azure Compute snapshot into the CMDB.
The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.
All policies and controls in Guardrails are based around the resource, so usually the CMDB policy is set to "Enforce: Enabled".
If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.
To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".
CMDB controls also use the Regions policy associated with the resource. If region is not in Azure > Compute > Snapshot > Regions
policy, the CMDB control will delete the resource from the CMDB.
(Note: Setting CMDB to "Skip" will also pause these changes.)
tmod:@turbot/azure-compute#/policy/types/snapshotCmdb
[ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled"]
{ "type": "string", "enum": [ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled" ], "example": [ "Skip" ], "default": "Enforce: Enabled if Compute provider is Registered"}
Azure > Compute > Snapshot > Regions
A list of Azure regions in which Azure Compute snapshots are supported for use.
Any snapshots in a region not listed here will not be recorded in CMDB.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
tmod:@turbot/azure-compute#/policy/types/snapshotRegions
{ "allOf": [ { "$ref": "azure#/definitions/regionNameMatcherList" }, { "default": [ "australiacentral", "australiaeast", "australiasoutheast", "brazilsouth", "canadacentral", "canadaeast", "centralindia", "centralus", "chinaeast", "chinaeast2", "chinaeast3", "chinanorth", "chinanorth2", "chinanorth3", "eastasia", "eastus", "eastus2", "francecentral", "germanywestcentral", "japaneast", "japanwest", "koreacentral", "koreasouth", "northcentralus", "northeurope", "norwayeast", "southafricanorth", "southcentralus", "southeastasia", "southindia", "switzerlandnorth", "uaenorth", "uksouth", "ukwest", "usgovarizona", "usgovtexas", "usgovvirginia", "westcentralus", "westeurope", "westindia", "westus", "westus2" ] } ]}
Azure > Compute > Snapshot > Tags
Determine the action to take when an Azure Compute snapshot tags are not updated based on the Azure > Compute > Snapshot > Tags > *
policies.
The control ensure Azure Compute snapshot tags include tags defined in Azure > Compute > Snapshot > Tags > Template
.
Tags not defined in Snapshot Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/snapshotTags
[ "Skip", "Check: Tags are correct", "Enforce: Set tags"]
{ "type": "string", "enum": [ "Skip", "Check: Tags are correct", "Enforce: Set tags" ], "example": [ "Check: Tags are correct" ], "default": "Skip"}
Azure > Compute > Snapshot > Tags > Template
The template is used to generate the keys and values for Azure Compute snapshot.
Tags not defined in Snapshot Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/snapshotTagsTemplate
[ "{\n subscription {\n turbot {\n id\n }\n }\n}\n", "{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate\" resourceId: \"{{ $.subscription.turbot.id }}\") {\n value\n }\n}\n"]
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Compute > Ssh Public Key > Active
Determine the action to take when an Azure Compute ssh public key, based on the Azure > Compute > Ssh Public Key > Active > *
policies.
The control determines whether the resource is in active use, and if not,
has the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Ssh Public Key > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note: In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyActive
[ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning"]
{ "type": "string", "enum": [ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning" ], "example": [ "Check: Active" ], "default": "Skip"}
Azure > Compute > Ssh Public Key > Active > Age
The age after which the Azure Compute ssh public key
is no longer considered active. If a create time is unavailable, the time Guardrails discovered the resource is used.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Ssh Public Key > Active > *
),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyActiveAge
[ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days"]
{ "type": "string", "enum": [ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days" ], "example": [ "Force inactive if age > 90 days" ], "default": "Skip"}
Azure > Compute > Ssh Public Key > Active > Last Modified
The number of days since the Azure Compute ssh public key was last modified before it is considered
inactive.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Ssh Public Key > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyActiveLastModified
[ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days"]
{ "type": "string", "enum": [ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days" ], "example": [ "Active if last modified <= 90 days" ], "default": "Skip"}
Azure > Compute > Ssh Public Key > Approved
Determine the action to take when an Azure Compute ssh public key is not approved based on Azure > Compute > Ssh Public Key > Approved > *
policies.
The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.
For any enforcement actions that specify if new
, e.g., Enforce: Delete unapproved if new
, this control will only take the enforcement actions for resources created within the last 60 minutes.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyApproved
[ "Skip", "Check: Approved", "Enforce: Delete unapproved if new"]
{ "type": "string", "enum": [ "Skip", "Check: Approved", "Enforce: Delete unapproved if new" ], "example": [ "Check: Approved" ], "default": "Skip"}
Azure > Compute > Ssh Public Key > Approved > Custom
Determine whether the Azure Compute ssh public key is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute ssh public key is not approved, it will be subject to the action specified in the Azure > Compute > Ssh Public Key > Approved
policy.
See Approved for more information.
Note: The policy value must be a string with a value of Approved
, Not approved
or Skip
, or in the form of YAML objects. The object(s) must contain the key result
with its value as Approved
or Not approved
. A custom title and message can also be added using the keys title
and message
respectively.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyApprovedCustom
{ "example": [ "Approved", "Not approved", "Skip", { "result": "Approved" }, { "title": "string", "result": "Not approved" }, { "title": "string", "result": "Approved", "message": "string" }, [ { "title": "string", "result": "Approved", "message": "string" }, { "title": "string", "result": "Not approved", "message": "string" } ] ], "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false } }, { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false }, { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } ], "default": "Skip"}
Azure > Compute > Ssh Public Key > Approved > Regions
A list of Azure regions in which Azure Compute ssh public keys are approved for use.
The expected format is an array of regions names. You may use the '*' and '?' wildcard characters.
This policy will be evaluated by the Approved control. If an Azure Compute ssh public key is created in a region that is not in the approved list, it will be subject to the action specified in the Azure > Compute > Ssh Public Key > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyApprovedRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Ssh Public Key > Approved > Usage
Determine whether the Azure Compute ssh public key is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute ssh public key is not approved, it will be subject to the action specified in the Azure > Compute > Ssh Public Key > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyApprovedUsage
[ "Not approved", "Approved", "Approved if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Not approved", "Approved", "Approved if Azure > Compute > Enabled" ], "example": [ "Not approved" ], "default": "Approved if Azure > Compute > Enabled"}
Azure > Compute > Ssh Public Key > CMDB
Configure whether to record and synchronize details for the Azure Compute ssh public key into the CMDB.
The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.
All policies and controls in Guardrails are based around the resource, so usually the CMDB policy is set to "Enforce: Enabled".
If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.
To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".
CMDB controls also use the Regions policy associated with the resource. If region is not in Azure > Compute > Ssh Public Key > Regions
policy, the CMDB control will delete the resource from the CMDB.
(Note: Setting CMDB to "Skip" will also pause these changes.)
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyCmdb
[ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled"]
{ "type": "string", "enum": [ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled" ], "example": [ "Skip" ], "default": "Enforce: Enabled if Compute provider is Registered"}
Azure > Compute > Ssh Public Key > Regions
A list of Azure regions in which Azure Compute ssh public keys are supported for use.
Any ssh public keys in a region not listed here will not be recorded in CMDB.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Ssh Public Key > Tags
Determine the action to take when an Azure Compute ssh public key tags are not updated based on the Azure > Compute > Ssh Public Key > Tags > *
policies.
The control ensure Azure Compute ssh public key tags include tags defined in Azure > Compute > Ssh Public Key > Tags > Template
.
Tags not defined in Ssh Public Key Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyTags
[ "Skip", "Check: Tags are correct", "Enforce: Set tags"]
{ "type": "string", "enum": [ "Skip", "Check: Tags are correct", "Enforce: Set tags" ], "example": [ "Check: Tags are correct" ], "default": "Skip"}
Azure > Compute > Ssh Public Key > Tags > Template
The template is used to generate the keys and values for Azure Compute ssh public key.
Tags not defined in Ssh Public Key Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/sshPublicKeyTagsTemplate
[ "{\n subscription {\n turbot {\n id\n }\n }\n}\n", "{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate\" resourceId: \"{{ $.subscription.turbot.id }}\") {\n value\n }\n}\n"]
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Compute > Tags Template [Default]
A template used to generate the keys and values for Azure Compute resources.
By default, all Compute resource Tags > Template policies will use this value.
tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate
"{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure#/policy/types/defaultTagsTemplate\") {\n value\n }\n}\n"
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Compute > Virtual Machine > Active
Determine the action to take when an Azure Compute virtual machine, based on the Azure > Compute > Virtual Machine > Active > *
policies.
The control determines whether the resource is in active use, and if not,
has the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Virtual Machine > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note: In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineActive
[ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning"]
{ "type": "string", "enum": [ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning" ], "example": [ "Check: Active" ], "default": "Skip"}
Azure > Compute > Virtual Machine > Active > Age
The age after which the Azure Compute virtual machine
is no longer considered active. If a create time is unavailable, the time Guardrails discovered the resource is used.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Virtual Machine > Active > *
),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineActiveAge
[ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days"]
{ "type": "string", "enum": [ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days" ], "example": [ "Force inactive if age > 90 days" ], "default": "Skip"}
Azure > Compute > Virtual Machine > Active > Last Modified
The number of days since the Azure Compute virtual machine was last modified before it is considered
inactive.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Virtual Machine > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
tmod:@turbot/azure-compute#/policy/types/virtualMachineActiveLastModified
[ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days"]
{ "type": "string", "enum": [ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days" ], "example": [ "Active if last modified <= 90 days" ], "default": "Skip"}
Azure > Compute > Virtual Machine > Approved
Determine the action to take when an Azure Compute virtual machine is not approved based on Azure > Compute > Virtual Machine > Approved > *
policies.
The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.
For any enforcement actions that specify if new
, e.g., Enforce: Delete unapproved if new
, this control will only take the enforcement actions for resources created within the last 60 minutes.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineApproved
[ "Skip", "Check: Approved", "Enforce: Stop unapproved", "Enforce: Stop unapproved if new", "Enforce: Delete unapproved if new"]
{ "type": "string", "enum": [ "Skip", "Check: Approved", "Enforce: Stop unapproved", "Enforce: Stop unapproved if new", "Enforce: Delete unapproved if new" ], "example": [ "Check: Approved" ], "default": "Skip"}
Azure > Compute > Virtual Machine > Approved > Custom
Determine whether the Azure Compute virtual machine is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute virtual machine is not approved, it will be subject to the action specified in the Azure > Compute > Virtual Machine > Approved
policy.
See Approved for more information.
Note: The policy value must be a string with a value of Approved
, Not approved
or Skip
, or in the form of YAML objects. The object(s) must contain the key result
with its value as Approved
or Not approved
. A custom title and message can also be added using the keys title
and message
respectively.
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedCustom
{ "example": [ "Approved", "Not approved", "Skip", { "result": "Approved" }, { "title": "string", "result": "Not approved" }, { "title": "string", "result": "Approved", "message": "string" }, [ { "title": "string", "result": "Approved", "message": "string" }, { "title": "string", "result": "Not approved", "message": "string" } ] ], "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false } }, { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false }, { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } ], "default": "Skip"}
Azure > Compute > Virtual Machine > Approved > Image
Determine whether the Virtual Machine is approved based on the AMI status
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImage
[ "Skip", "Approved if Image > Status is Enabled"]
{ "type": "string", "enum": [ "Skip", "Approved if Image > Status is Enabled" ], "example": [ "Skip" ], "default": "Skip"}
Azure > Compute > Virtual Machine > Approved > Image > Compiled Rules
An OCL policy to define the status of Images based on fields in the Image Reference data. This
policy is read only, and is constructed by Guardrails based on the values of the
'Azure > Compute > Virtual Machine > Approved > Image . *' sub-policies
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageCompiledRules
{ "type": "OCL", "x-schema-form": { "type": "textarea" }}
Azure > Compute > Virtual Machine > Approved > Image > Local
Determine whether all local Images are enabled. If enabled, all
local AMIs are enabled.
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageLocal
[ "Skip", "Enabled"]
{ "type": "string", "enum": [ "Skip", "Enabled" ], "default": "Enabled"}
Azure > Compute > Virtual Machine > Approved > Image > RHEL 6
Determine the status of the standard RHEL 6 marketplace image:
Enabled - This is image is approved for use
Deprecated - This image cannot be used to launch new vms, but
existing vms launched from it may continue to run
Disabled - This image is unapproved
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageRHEL6
[ "Enabled", "Deprecated", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Deprecated", "Disabled" ], "example": [ "Enabled" ], "default": "Enabled"}
Azure > Compute > Virtual Machine > Approved > Image > RHEL 7
Determine the status of the standard RHEL 7 marketplace image:
Enabled - This is image is approved for use
Deprecated - This image cannot be used to launch new vms, but
existing vms launched from it may continue to run
Disabled - This image is unapproved
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageRHEL7
[ "Enabled", "Deprecated", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Deprecated", "Disabled" ], "example": [ "Enabled" ], "default": "Enabled"}
Azure > Compute > Virtual Machine > Approved > Image > Rules
An OCL policy to define the status of Images based on fields in the image reference data.
Standard OCL syntax may be used. Allowed actions are:
ENABLED - Images that match should be considered "enabled"
DEPRECATED - Images that match should be considered "deprecated"
DISABLED - Images that match should be considered "disabled" and may not be used
Examples:
ENABLED * # Allow all images published
DEPRECATED $.publisher:MicrosoftWindowsServer $.sku:2016-Datacenter $.offer:WindowsServer # Windows Server 2016 images are deprecated. New vms may not use these Images
DISABLED $.publisher:MicrosoftWindowsServer $.sku:/^2012-/ $.offer:WindowsServer # Windows Server 2012 images are disabled.
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageRules
{ "type": "string", "default": "# Approve unmatched rules\nENABLED *", "x-schema-form": { "type": "textarea" }}
Azure > Compute > Virtual Machine > Approved > Image > Status
The status of the Image from which this instance was launched.
This is a calculated, read-only policy that shows the AMI status based on other Guardrails policies.
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedStatus
[ "Enabled", "Deprecated", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Deprecated", "Disabled" ]}
Azure > Compute > Virtual Machine > Approved > Image > Trusted Publishers
A list of publishers whose Images are allowed to be used to launch
virtual machines. Images from publishers not listed are not allowed.
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageTrustedPublishers
[ "{\n item: subscription {\n turbot {\n id\n }\n }\n}\n", "{\n imageTrustedPublishers: policyValue(resourceId:\"{{ $.item.turbot.id }}\" uri:\"tmod:@turbot/azure-compute#/policy/types/imageTrustedPublishers\") {\n path: value\n }\n}\n"]
"{% if $.imageTrustedPublishers.path | length == 0 %} [] {% endif %}{% for item in $.imageTrustedPublishers.path %}- {{ item }}\n{% endfor %}"
{ "type": "array", "items": { "type": "string" }}
Azure > Compute > Virtual Machine > Approved > Image > Ubuntu 16.04
Determine the status of the standard Ubuntu 16.04 marketplace image:
Enabled - This is image is approved for use
Deprecated - This image cannot be used to launch new vms, but
existing vms launched from it may continue to run
Disabled - This image is unapproved
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageUbuntu16
[ "Enabled", "Deprecated", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Deprecated", "Disabled" ], "example": [ "Enabled" ], "default": "Enabled"}
Azure > Compute > Virtual Machine > Approved > Image > Ubuntu 18.04
Determine the status of the standard Ubuntu 18.04 marketplace image:
Enabled - This is image is approved for use
Deprecated - This image cannot be used to launch new vms, but
existing vms launched from it may continue to run
Disabled - This image is unapproved
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageUbuntu18
[ "Enabled", "Deprecated", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Deprecated", "Disabled" ], "example": [ "Enabled" ], "default": "Enabled"}
Azure > Compute > Virtual Machine > Approved > Image > Windows 2012-R2 Datacenter
Determine the status of the standard Windows 2012-R2 Datacenter marketplace image:
Enabled - This is image is approved for use
Deprecated - This image cannot be used to launch new vms, but
existing vms launched from it may continue to run
Disabled - This image is unapproved
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageWindows2012DataCenter
[ "Enabled", "Deprecated", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Deprecated", "Disabled" ], "example": [ "Enabled" ], "default": "Enabled"}
Azure > Compute > Virtual Machine > Approved > Image > Windows 2016 Datacenter
Determine the status of the standard Windows 2016 Datacenter marketplace image:
Enabled - This is image is approved for use
Deprecated - This image cannot be used to launch new vms, but
existing vms launched from it may continue to run
Disabled - This image is unapproved
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageWindows2016DataCenter
[ "Enabled", "Deprecated", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Deprecated", "Disabled" ], "example": [ "Enabled" ], "default": "Enabled"}
Azure > Compute > Virtual Machine > Approved > Image > Windows 2019 Datacenter
Determine the status of the standard Windows 2019 Datacenter marketplace image:
Enabled - This is image is approved for use
Deprecated - This image cannot be used to launch new vms, but
existing vms launched from it may continue to run
Disabled - This image is unapproved
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedImageWindows2019DataCenter
[ "Enabled", "Deprecated", "Disabled"]
{ "type": "string", "enum": [ "Enabled", "Deprecated", "Disabled" ], "example": [ "Enabled" ], "default": "Enabled"}
Azure > Compute > Virtual Machine > Approved > Regions
A list of Azure regions in which Azure Compute virtual machines are approved for use.
The expected format is an array of regions names. You may use the '*' and '?' wildcard characters.
This policy will be evaluated by the Approved control. If an Azure Compute virtual machine is created in a region that is not in the approved list, it will be subject to the action specified in the Azure > Compute > Virtual Machine > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Virtual Machine > Approved > Usage
Determine whether the Azure Compute virtual machine is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute virtual machine is not approved, it will be subject to the action specified in the Azure > Compute > Virtual Machine > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineApprovedUsage
[ "Not approved", "Approved", "Approved if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Not approved", "Approved", "Approved if Azure > Compute > Enabled" ], "example": [ "Not approved" ], "default": "Approved if Azure > Compute > Enabled"}
Azure > Compute > Virtual Machine > CMDB
Configure whether to record and synchronize details for the Azure Compute virtual machine into the CMDB.
The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.
All policies and controls in Guardrails are based around the resource, so usually the CMDB policy is set to "Enforce: Enabled".
If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.
To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".
CMDB controls also use the Regions policy associated with the resource. If region is not in Azure > Compute > Virtual Machine > Regions
policy, the CMDB control will delete the resource from the CMDB.
(Note: Setting CMDB to "Skip" will also pause these changes.)
tmod:@turbot/azure-compute#/policy/types/virtualMachineCmdb
[ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled"]
{ "type": "string", "enum": [ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled" ], "example": [ "Skip" ], "default": "Enforce: Enabled if Compute provider is Registered"}
Azure > Compute > Virtual Machine > Regions
A list of Azure regions in which Azure Compute virtual machines are supported for use.
Any virtual machines in a region not listed here will not be recorded in CMDB.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
tmod:@turbot/azure-compute#/policy/types/virtualMachineRegions
{ "allOf": [ { "$ref": "azure#/definitions/regionNameMatcherList" }, { "default": [ "australiacentral", "australiaeast", "australiasoutheast", "brazilsouth", "canadacentral", "canadaeast", "centralindia", "centralus", "chinaeast", "chinaeast2", "chinaeast3", "chinanorth", "chinanorth2", "chinanorth3", "eastasia", "eastus", "eastus2", "francecentral", "germanywestcentral", "japaneast", "japanwest", "koreacentral", "koreasouth", "northcentralus", "northeurope", "norwayeast", "southafricanorth", "southcentralus", "southeastasia", "southindia", "switzerlandnorth", "uaenorth", "uksouth", "ukwest", "usgovarizona", "usgoviowa", "usgovtexas", "usgovvirginia", "westcentralus", "westeurope", "westindia", "westus", "westus2" ] } ]}
Azure > Compute > Virtual Machine > Schedule
Set a schedule for starting and stopping an Azure Compute virtual machine.
Note If both "Schedule" and "Schedule Tag" are set to enforce and the
virtual machine has a turbot_custom_schedule tag, then the schedule specified by
the tag will be in effect.
tmod:@turbot/azure-compute#/policy/types/virtualMachineSchedule
[ "Skip", "Enforce: Business hours (8:00am - 6:00pm on weekdays)", "Enforce: Extended business hours (7:00am - 11:00pm on weekdays)", "Enforce: Stop for night (stop at 10:00pm every day)", "Enforce: Stop for weekend (stop at 10:00pm on Friday)"]
{ "type": "string", "enum": [ "Skip", "Enforce: Business hours (8:00am - 6:00pm on weekdays)", "Enforce: Extended business hours (7:00am - 11:00pm on weekdays)", "Enforce: Stop for night (stop at 10:00pm every day)", "Enforce: Stop for weekend (stop at 10:00pm on Friday)" ], "example": [ "Enforce: Business hours (8:00am - 6:00pm on weekdays)" ], "default": "Skip"}
Azure > Compute > Virtual Machine > Schedule Tag
Allow setting a schedule for starting and stopping an Azure Compute virtual machine via the
turbot_custom_schedule tag. If the schedule is invalid, no actions will be
taken against the virtualMachine.
Note If both "Schedule" and "Schedule Tag" are set to enforce and the
virtual machine has a turbot_custom_schedule, then the schedule specified by the
tag will be in effect.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScheduleTag
[ "Skip", "Enforce: Schedule per turbot_custom_schedule tag"]
{ "type": "string", "enum": [ "Skip", "Enforce: Schedule per turbot_custom_schedule tag" ], "example": [ "Enforce: Schedule per turbot_custom_schedule tag" ], "default": "Skip"}
Azure > Compute > Virtual Machine > Tags
Determine the action to take when an Azure Compute virtual machine tags are not updated based on the Azure > Compute > Virtual Machine > Tags > *
policies.
The control ensure Azure Compute virtual machine tags include tags defined in Azure > Compute > Virtual Machine > Tags > Template
.
Tags not defined in Virtual Machine Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineTags
[ "Skip", "Check: Tags are correct", "Enforce: Set tags"]
{ "type": "string", "enum": [ "Skip", "Check: Tags are correct", "Enforce: Set tags" ], "example": [ "Check: Tags are correct" ], "default": "Skip"}
Azure > Compute > Virtual Machine > Tags > Template
The template is used to generate the keys and values for Azure Compute virtual machine.
Tags not defined in Virtual Machine Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineTagsTemplate
[ "{\n subscription {\n turbot {\n id\n }\n }\n}\n", "{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate\" resourceId: \"{{ $.subscription.turbot.id }}\") {\n value\n }\n}\n"]
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Compute > Virtual Machine Scale Set > Active
Determine the action to take when an Azure Compute virtual machine scale set, based on the Azure > Compute > Virtual Machine Scale Set > Active > *
policies.
The control determines whether the resource is in active use, and if not,
has the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Virtual Machine Scale Set > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note: In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetActive
[ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning"]
{ "type": "string", "enum": [ "Skip", "Check: Active", "Enforce: Delete inactive with 1 day warning", "Enforce: Delete inactive with 3 days warning", "Enforce: Delete inactive with 7 days warning", "Enforce: Delete inactive with 14 days warning", "Enforce: Delete inactive with 30 days warning", "Enforce: Delete inactive with 60 days warning", "Enforce: Delete inactive with 90 days warning", "Enforce: Delete inactive with 180 days warning", "Enforce: Delete inactive with 365 days warning" ], "example": [ "Check: Active" ], "default": "Skip"}
Azure > Compute > Virtual Machine Scale Set > Active > Age
The age after which the Azure Compute virtual machine scale set
is no longer considered active. If a create time is unavailable, the time Guardrails discovered the resource is used.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Virtual Machine Scale Set > Active > *
),
raises an alarm, and takes the defined enforcement action. Each Active
sub-policy can calculate a status of active, inactive or skipped. Generally,
if the resource appears to be Active for any reason it will be considered Active.
Note In contrast with Approved, where if the resource appears to be Unapproved
for any reason it will be considered Unapproved.
See Active for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetActiveAge
[ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days"]
{ "type": "string", "enum": [ "Skip", "Force inactive if age > 1 day", "Force inactive if age > 3 days", "Force inactive if age > 7 days", "Force inactive if age > 14 days", "Force inactive if age > 30 days", "Force inactive if age > 60 days", "Force inactive if age > 90 days", "Force inactive if age > 180 days", "Force inactive if age > 365 days" ], "example": [ "Force inactive if age > 90 days" ], "default": "Skip"}
Azure > Compute > Virtual Machine Scale Set > Active > Last Modified
The number of days since the Azure Compute virtual machine scale set was last modified before it is considered
inactive.
The Active
control determines whether the resource is in active use, and if not, has
the ability to delete / cleanup the resource. When running an automated
compliance environment, it's common to end up with a wide range of alarms
that are difficult and time consuming to clear. The Active control brings
automated, well-defined control to this process.
The Active control checks the status of all defined Active policies for the
resource (Azure > Compute > Virtual Machine Scale Set > Active > *
), raises an alarm, and takes the defined enforcement
action. Each Active sub-policy can calculate a status of active, inactive
or skipped. Generally, if the resource appears to be Active for any reason
it will be considered Active.
Note In contrast with Approved, where if the
resource appears to be Unapproved for any reason it will be considered
Unapproved.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetActiveLastModified
[ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days"]
{ "type": "string", "enum": [ "Skip", "Active if last modified <= 1 day", "Active if last modified <= 3 days", "Active if last modified <= 7 days", "Active if last modified <= 14 days", "Active if last modified <= 30 days", "Active if last modified <= 60 days", "Active if last modified <= 90 days", "Active if last modified <= 180 days", "Active if last modified <= 365 days", "Force active if last modified <= 1 day", "Force active if last modified <= 3 days", "Force active if last modified <= 7 days", "Force active if last modified <= 14 days", "Force active if last modified <= 30 days", "Force active if last modified <= 60 days", "Force active if last modified <= 90 days", "Force active if last modified <= 180 days", "Force active if last modified <= 365 days" ], "example": [ "Active if last modified <= 90 days" ], "default": "Skip"}
Azure > Compute > Virtual Machine Scale Set > Approved
Determine the action to take when an Azure Compute virtual machine scale set is not approved based on Azure > Compute > Virtual Machine Scale Set > Approved > *
policies.
The Approved control checks the status of the defined Approved sub-policies for the resource. If the resource is not approved according to any of these policies, this control raises an alarm and takes the defined enforcement action.
For any enforcement actions that specify if new
, e.g., Enforce: Delete unapproved if new
, this control will only take the enforcement actions for resources created within the last 60 minutes.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetApproved
[ "Skip", "Check: Approved", "Enforce: Delete unapproved if new"]
{ "type": "string", "enum": [ "Skip", "Check: Approved", "Enforce: Delete unapproved if new" ], "example": [ "Check: Approved" ], "default": "Skip"}
Azure > Compute > Virtual Machine Scale Set > Approved > Custom
Determine whether the Azure Compute virtual machine scale set is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute virtual machine scale set is not approved, it will be subject to the action specified in the Azure > Compute > Virtual Machine Scale Set > Approved
policy.
See Approved for more information.
Note: The policy value must be a string with a value of Approved
, Not approved
or Skip
, or in the form of YAML objects. The object(s) must contain the key result
with its value as Approved
or Not approved
. A custom title and message can also be added using the keys title
and message
respectively.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetApprovedCustom
{ "example": [ "Approved", "Not approved", "Skip", { "result": "Approved" }, { "title": "string", "result": "Not approved" }, { "title": "string", "result": "Approved", "message": "string" }, [ { "title": "string", "result": "Approved", "message": "string" }, { "title": "string", "result": "Not approved", "message": "string" } ] ], "anyOf": [ { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false } }, { "type": "object", "properties": { "title": { "type": "string", "pattern": "^[\\W\\w]{1,32}$" }, "message": { "type": "string", "pattern": "^[\\W\\w]{1,128}$" }, "result": { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } }, "required": [ "result" ], "additionalProperties": false }, { "type": "string", "pattern": "^(Approved|Not approved|Skip)$" } ], "default": "Skip"}
Azure > Compute > Virtual Machine Scale Set > Approved > Regions
A list of Azure regions in which Azure Compute virtual machine scale sets are approved for use.
The expected format is an array of regions names. You may use the '*' and '?' wildcard characters.
This policy will be evaluated by the Approved control. If an Azure Compute virtual machine scale set is created in a region that is not in the approved list, it will be subject to the action specified in the Azure > Compute > Virtual Machine Scale Set > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetApprovedRegions
"{\n regions: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeApprovedRegionsDefault\") {\n value\n }\n}\n"
"{% if $.regions.value | length == 0 %} [] {% endif %}{% for item in $.regions.value %}- '{{ item }}'\n{% endfor %}"
Azure > Compute > Virtual Machine Scale Set > Approved > Usage
Determine whether the Azure Compute virtual machine scale set is allowed to exist.
This policy will be evaluated by the Approved control. If an Azure Compute virtual machine scale set is not approved, it will be subject to the action specified in the Azure > Compute > Virtual Machine Scale Set > Approved
policy.
See Approved for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetApprovedUsage
[ "Not approved", "Approved", "Approved if Azure > Compute > Enabled"]
{ "type": "string", "enum": [ "Not approved", "Approved", "Approved if Azure > Compute > Enabled" ], "example": [ "Not approved" ], "default": "Approved if Azure > Compute > Enabled"}
Azure > Compute > Virtual Machine Scale Set > CMDB
Configure whether to record and synchronize details for the Azure Compute virtual machine scale set into the CMDB.
The CMDB control is responsible for populating and updating all the attributes for that resource type in the Guardrails CMDB.
All policies and controls in Guardrails are based around the resource, so usually the CMDB policy is set to "Enforce: Enabled".
If set to Skip then all changes to the CMDB are paused - no new resources will be discovered, no updates will be made and deleted resources will not be removed.
To cleanup resources and stop tracking changes, set this policy to "Enforce: Disabled".
CMDB controls also use the Regions policy associated with the resource. If region is not in Azure > Compute > Virtual Machine Scale Set > Regions
policy, the CMDB control will delete the resource from the CMDB.
(Note: Setting CMDB to "Skip" will also pause these changes.)
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetCmdb
[ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled"]
{ "type": "string", "enum": [ "Skip", "Enforce: Enabled", "Enforce: Enabled if Compute provider is Registered", "Enforce: Disabled" ], "example": [ "Skip" ], "default": "Enforce: Enabled if Compute provider is Registered"}
Azure > Compute > Virtual Machine Scale Set > Regions
A list of Azure regions in which Azure Compute virtual machine scale sets are supported for use.
Any virtual machine scale sets in a region not listed here will not be recorded in CMDB.
The expected format is an array of regions names. You may use the '*' and
'?' wildcard characters.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetRegions
{ "allOf": [ { "$ref": "azure#/definitions/regionNameMatcherList" }, { "default": [ "australiacentral", "australiacentral2", "australiaeast", "australiasoutheast", "brazilsouth", "brazilsoutheast", "canadacentral", "canadaeast", "centralindia", "centralus", "chinaeast", "chinaeast2", "chinaeast3", "chinanorth", "chinanorth2", "chinanorth3", "eastasia", "eastus", "eastus2", "francecentral", "francesouth", "germanynorth", "germanywestcentral", "japaneast", "japanwest", "koreacentral", "koreasouth", "northcentralus", "northeurope", "norwayeast", "norwaywest", "qatarcentral", "southafricanorth", "southafricawest", "southcentralus", "southeastasia", "southindia", "swedencentral", "swedensouth", "switzerlandnorth", "switzerlandwest", "uaecentral", "uaenorth", "uksouth", "ukwest", "usdodcentral", "usdodeast", "usgovarizona", "usgoviowa", "usgovtexas", "usgovvirginia", "westcentralus", "westeurope", "westindia", "westus", "westus2", "westus3" ] } ]}
Azure > Compute > Virtual Machine Scale Set > Tags
Determine the action to take when an Azure Compute virtual machine scale set tags are not updated based on the Azure > Compute > Virtual Machine Scale Set > Tags > *
policies.
The control ensure Azure Compute virtual machine scale set tags include tags defined in Azure > Compute > Virtual Machine Scale Set > Tags > Template
.
Tags not defined in Virtual Machine Scale Set Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetTags
[ "Skip", "Check: Tags are correct", "Enforce: Set tags"]
{ "type": "string", "enum": [ "Skip", "Check: Tags are correct", "Enforce: Set tags" ], "example": [ "Check: Tags are correct" ], "default": "Skip"}
Azure > Compute > Virtual Machine Scale Set > Tags > Template
The template is used to generate the keys and values for Azure Compute virtual machine scale set.
Tags not defined in Virtual Machine Scale Set Tags Template will not be modified or deleted. Setting a tag value to undefined
will result in the tag being deleted.
See Tags for more information.
tmod:@turbot/azure-compute#/policy/types/virtualMachineScaleSetTagsTemplate
[ "{\n subscription {\n turbot {\n id\n }\n }\n}\n", "{\n defaultTags: policyValue(uri:\"tmod:@turbot/azure-compute#/policy/types/computeTagsTemplate\" resourceId: \"{{ $.subscription.turbot.id }}\") {\n value\n }\n}\n"]
"{%- if $.defaultTags.value | length == 0 %} [] {%- elif $.defaultTags.value != undefined %}{{ $.defaultTags.value | dump | safe }}{%- else %}{% for item in $.defaultTags.value %}- {{ item }}{% endfor %}{% endif %}"
Azure > Turbot > Permissions > Compiled > Levels > @turbot/azure-compute
A calculated policy that Guardrails uses to create a compiled list of ALL
permission levels for Azure Compute that is used as input to the
stack that manages the Guardrails IAM permissions objects.
tmod:@turbot/azure-compute#/policy/types/azureLevelsCompiled
Azure > Turbot > Permissions > Compiled > Service Permissions > @turbot/azure-compute
A calculated policy that Guardrails uses to create a compiled list of ALL
permissions for Azure Compute that is used as input to the control that manages
the IAM stack.
tmod:@turbot/azure-compute#/policy/types/azureCompiledServicePermissions