azure.sql-database
SQL Server Database Resource
The azure.sql-database
resource is a child resource of the SQL Server resource,
and the SQL Server parent id is available as the c7n:parent-id
property.
- example:
Finds all SQL Servers Database in the subscription.
policies:
- name: find-all-sql-databases
resource: azure.sql-database
Filters
advisor-recommendation
Filter resources by Azure Advisor Recommendations
Select all categories with ‘all’
- example:
policies:
- name: disks-with-cost-recommendations
resource: azure.disk
filters:
- type: advisor-recommendation
category: Cost
key: '[].properties.recommendationTypeId'
op: contains
value: '48eda464-1485-4dcf-a674-d0905df5054a'
properties:
category:
type: string
default:
type: object
key:
type: string
op:
enum:
- eq
- equal
- ne
- not-equal
- gt
- greater-than
- ge
- gte
- le
- lte
- lt
- less-than
- glob
- regex
- regex-case
- in
- ni
- not-in
- contains
- difference
- intersect
- mod
type:
enum:
- advisor-recommendation
value:
oneOf:
- type: array
- type: string
- type: boolean
- type: number
- type: 'null'
value_from:
additionalProperties: 'False'
properties:
expr:
oneOf:
- type: integer
- type: string
format:
enum:
- csv
- json
- txt
- csv2dict
headers:
patternProperties:
? ''
: type: string
type: object
query:
type: string
url:
type: string
required:
- url
type: object
value_path:
type: string
value_regex:
type: string
value_type:
enum:
- age
- integer
- expiration
- normalize
- size
- cidr
- cidr_size
- swap
- resource_count
- expr
- unique_size
- date
- version
- float
required:
- category
- type
data-encryption
Filter by the current Transparent Data Encryption configuration for this database.
- example:
Find SQL databases with TDE disabled
policies:
- name: sql-database-no-tde
resource: azure.sql-database
filters:
- type: transparent-data-encryption
enabled: false
properties:
enabled:
type: boolean
type:
enum:
- data-encryption
required:
- type
data-masking-policy
Filter by the current data masking policy configuration for this database.
This filter will exclude the master database because data masking can not be configured on it.
- example:
Find SQL databases with data masking disabled
policies:
- name: sql-database-masking
resource: azure.sql-database
filters:
- type: data-masking-policy
enabled: false
properties:
enabled:
type: boolean
type:
enum:
- data-masking-policy
required:
- type
- enabled
- type
long-term-backup-retention-policy
Filter SQL Databases on the length of their long term backup retention policies.
There are 3 backup types for a sql database: weekly, monthly, and yearly. And, each of these backups has a retention period that can specified in units of days, weeks, months, or years.
- example:
Find all SQL Databases with weekly backup retentions longer than 1 month.
policies:
- name: long-term-backup-retention-policy
resource: azure.sqldatabase
filters:
- type: long-term-backup-retention-policy
backup-type: weekly
op: gt
retention-period: 1
retention-period-units: months
properties:
backup-type:
enum:
- weekly
- monthly
- yearly
op:
enum:
- eq
- equal
- ne
- not-equal
- gt
- greater-than
- ge
- gte
- le
- lte
- lt
- less-than
retention-period:
type: number
retention-period-units:
enum:
- day
- days
- week
- weeks
- month
- months
- year
- years
type:
enum:
- long-term-backup-retention-policy
- long-term-backup-retention
required:
- backup-type
- retention-period
- retention-period-units
- type
short-term-backup-retention-policy
Filter SQL Databases on the length of their short term backup retention policies.
If the database has no backup retention policies, the database is treated as if it has a backup retention of zero days.
- example:
Find all SQL Databases with a short term retention policy shorter than 2 weeks.
policies:
- name: short-term-backup-retention-policy
resource: azure.sqldatabase
filters:
- type: short-term-backup-retention-policy
op: lt
retention-period-days: 14
properties:
op:
enum:
- eq
- equal
- ne
- not-equal
- gt
- greater-than
- ge
- gte
- le
- lte
- lt
- less-than
retention-period-days:
type: number
type:
enum:
- short-term-backup-retention-policy
- short-term-backup-retention
required:
- retention-period-days
- type
transparent-data-encryption
Filter by the current Transparent Data Encryption configuration for this database.
- example:
Find SQL databases with TDE disabled
policies:
- name: sql-database-no-tde
resource: azure.sql-database
filters:
- type: transparent-data-encryption
enabled: false
properties:
enabled:
type: boolean
type:
enum:
- transparent-data-encryption
required:
- type
- enabled
- type
Actions
resize
Action to scale database. Required arguments: capacity in DTUs and tier (Basic, Standard or Premium). Max data size (in bytes) is optional.
- example:
This policy will resize database to Premium tier with 500 DTU and set max data size to 750 GB
policies:
- name: resize-db
resource: azure.sqldatabase
filters:
- type: value
key: name
value: cctestdb
actions:
- type: resize
tier: Premium
capacity: 500
max_size_bytes: 805306368000
properties:
capacity:
type: number
max_size_bytes:
type: number
tier:
enum:
- Basic
- Standard
- Premium
type:
enum:
- resize
required:
- capacity
- tier
- type
update-long-term-backup-retention-policy
Update the long term backup retention policy for a SQL Database.
There are 3 backup types for a sql database: weekly, monthly, and yearly. And, each of these backups has a retention period that can specified in units of days, weeks, months, or years.
- example:
Enforce a 1 month maximum retention for weekly backups on all SQL Databases
policies:
- name: update-long-term-backup-retention-policy
resource: azure.sqldatabase
filters:
- type: long-term-backup-retention-policy
backup-type: weekly
op: gt
retention-period: 1
retention-period-units: months
actions:
- type: update-long-term-backup-retention-policy
backup-type: weekly
retention-period: 1
retention-period-units: months
properties:
backup-type:
enum:
- weekly
- monthly
- yearly
retention-period:
type: number
retention-period-units:
enum:
- day
- days
- week
- weeks
- month
- months
- year
- years
type:
enum:
- update-long-term-backup-retention-policy
- update-long-term-backup-retention
required:
- type
update-short-term-backup-retention-policy
Update the short term backup retention policy for a SQL Database.
- example:
Update any SQL Database short term retentions to at least 7 days.
policies:
- name: update-short-term-backup-retention-policy
resource: azure.sqldatabase
filters:
- type: short-term-backup-retention-policy
op: lt
retention-period-days: 7
actions:
- type: update-short-term-backup-retention-policy
retention-period-days: 7
properties:
retention-period-days:
type: number
type:
enum:
- update-short-term-backup-retention-policy
- update-short-term-backup-retention
required:
- type