Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
- Latest
- 2025-02-01-preview
- 2025-01-01
- 2024-11-01-preview
- 2024-05-01-preview
- 2023-08-01
- 2023-08-01-preview
- 2023-05-01-preview
- 2023-02-01-preview
- 2022-11-01-preview
- 2022-08-01-preview
- 2022-05-01-preview
- 2022-02-01-preview
- 2021-11-01
- 2021-11-01-preview
- 2021-08-01-preview
- 2021-05-01-preview
- 2021-02-01-preview
- 2020-11-01-preview
- 2020-08-01-preview
- 2020-02-02-preview
- 2017-03-01-preview
Определение ресурса Bicep
Серверы или тип ресурса extendedAuditingSettings можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Создать Microsoft. Ресурс sql/servers/extendedAuditingSettings, добавьте следующий Bicep в свой шаблон.
resource symbolicname 'Microsoft.Sql/servers/extendedAuditingSettings@2025-02-01-preview' = {
parent: resourceSymbolicName
name: 'default'
properties: {
auditActionsAndGroups: [
'string'
]
isAzureMonitorTargetEnabled: bool
isDevopsAuditEnabled: bool
isManagedIdentityInUse: bool
isStorageSecondaryKeyInUse: bool
predicateExpression: 'string'
queueDelayMs: int
retentionDays: int
state: 'string'
storageAccountAccessKey: 'string'
storageAccountSubscriptionId: 'string'
storageEndpoint: 'string'
}
}
Значения свойств
Microsoft. Sql/servers/extendedAuditingSettings
| Name | Description | Value |
|---|---|---|
| name | имя ресурса. | "default" (обязательно) |
| parent | В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить, только если дочерний ресурс объявлен за пределами родительского ресурса. Дополнительные сведения см. в разделе Дочерний ресурс за пределами родительского ресурса. |
Символьное имя ресурса типа: серверы |
| properties | Свойства ресурса. | ExtendedServerBlobAuditingPolicyProperties |
ExtendedServerBlobAuditingPolicyProperties
| Name | Description | Value |
|---|---|---|
| auditActionsAndGroups | Указывает Actions-Groups и действия для аудита. Рекомендуемый набор групп действий, используемый, — это следующая комбинация. Это приведет к аудиту всех запросов и хранимых процедур, выполняемых в базе данных, а также успешных и неудачных имен входа: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Эта приведённая комбинация также является набором, который по умолчанию настроен при включении аудита через портал Azure. Поддерживаемые группы действий для аудита (примечание. Выберите только определенные группы, охватывающие потребности аудита. Использование ненужных групп может привести к очень большому количеству записей аудита): APPLICATION_ROLE_CHANGE_PASSWORD_GROUP BACKUP_RESTORE_GROUP DATABASE_LOGOUT_GROUP DATABASE_OBJECT_CHANGE_GROUP DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP DATABASE_OBJECT_PERMISSION_CHANGE_GROUP DATABASE_OPERATION_GROUP DATABASE_PERMISSION_CHANGE_GROUP DATABASE_PRINCIPAL_CHANGE_GROUP DATABASE_PRINCIPAL_IMPERSONATION_GROUP DATABASE_ROLE_MEMBER_CHANGE_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP SCHEMA_OBJECT_ACCESS_GROUP SCHEMA_OBJECT_CHANGE_GROUP SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP USER_CHANGE_PASSWORD_GROUP BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP Это группы, охватывающие все инструкции SQL и хранимые процедуры, выполняемые в базе данных, и не должны использоваться в сочетании с другими группами, так как это приведет к дублированию журналов аудита. Дополнительные сведения см. в разделе Database-Level Группы действий аудита. Для политики аудита базы данных можно также указать определенные действия (обратите внимание, что действия не могут быть указаны для политики аудита сервера). Поддерживаемые действия для аудита: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Общая форма определения действия для аудита: {действие} НА {объект} ПО {принципал} Обратите внимание, что <объект> в приведенном выше формате может ссылаться на объект, например таблицу, представление или хранимую процедуру, или всю базу данных или схему. В последних случаях используются формы DATABASE::{db_name} и SCHEMA::{schema_name} соответственно. Рассмотрим пример. SELECT в dbo.myTable по общедоступной версии SELECT в DATABASE::myDatabase по общедоступной версии SELECT в SCHEMA::mySchema по общедоступной Дополнительные сведения см. в разделе Database-Level Действия аудита |
string[] |
| isAzureMonitorTargetEnabled | Указывает, отправляются ли события аудита в Azure Monitor. Чтобы отправить события в Azure Monitor, укажите 'State' как 'Enabled' и 'IsAzureMonitorTargetEnabled' как true. При использовании REST API для настройки аудита необходимо также создать параметры диагностики с категорией журналов диагностики SQLSecurityAuditEvents в базе данных. Обратите внимание, что для аудита уровня сервера следует использовать базу данных master как {databaseName}. Формат URI параметров диагностики: ПОСТАВЬТЕ https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-previewДополнительные сведения см. в REST API параметров диагностики или параметров диагностики PowerShell |
bool |
| isDevopsAuditEnabled | Указывает состояние аудита devops. Если состояние включено, логи devops будут отправлены на Azure Monitor. Чтобы отправить события в Azure Monitor, укажите 'State' как 'Enabled', 'IsAzureMonitorTargetEnabled' как true и 'IsDevopsAuditEnabled' как true При использовании REST API для настройки аудита необходимо также создать параметры диагностики с категорией журналов диагностики DevOpsOperationsAudit в базе данных master. Формат URI параметров диагностики: ПОСТАВЬТЕ https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-previewДополнительные сведения см. в REST API параметров диагностики или параметров диагностики PowerShell |
bool |
| isManagedIdentityInUse | Указывает, используется ли управляемое удостоверение для доступа к хранилищу BLOB-объектов | bool |
| isStorageSecondaryKeyInUse | Указывает, является ли значение storageAccountAccessKey вторичным ключом хранилища. | bool |
| predicateExpression | Указывает условие расположения предложения при создании аудита. | string |
| queueDelayMs | Определяет количество времени в миллисекундах, которое может пройти до того, как действия аудита будут принудительно обработаны. Минимальное значение по умолчанию — 1000 (1 секунда). Максимальное значение — 2 147 483 647. |
int |
| retentionDays | Указывает количество дней для хранения в журналах аудита в учетной записи хранения. | int |
| state | Указывает состояние аудита. Если состояние включено, необходимо использовать storageEndpoint или isAzureMonitorTargetEnabled. | 'Disabled' "Включено" (обязательно) |
| storageAccountAccessKey | Указывает ключ идентификатора учетной записи хранения аудита. Если задано состояние "Включено" и storageEndpoint не указано, что storageAccountAccessKey будет использовать управляемое удостоверение, назначаемое системой SQL Server, для доступа к хранилищу. Необходимые условия для использования проверки подлинности управляемого удостоверения: 1. Назначить SQL Server управляемую идентичность в Azure Active Directory (AAD). 2. Предоставить доступ к идентификации SQL Server к аккаунту хранения, добавив роль RBAC 'Storage Blob Data Contributor' к идентификатору сервера. Дополнительные сведения см. в статье Аудит хранилища с помощью проверки подлинности управляемого удостоверения |
string Constraints: Конфиденциальное значение. Передайте в качестве безопасного параметра. |
| storageAccountSubscriptionId | Указывает идентификатор подписки хранилища BLOB-объектов. | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| storageEndpoint | Указывает конечную точку хранилища BLOB-объектов (например, https://MyAccount.blob.core.windows.net). Если состояние включено, требуется storageEndpoint или isAzureMonitorTargetEnabled. |
string |
Определение ресурса шаблона ARM
Серверы или тип ресурса extendedAuditingSettings можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Создать Microsoft. Ресурс sql/servers/extendedAuditingSettings, добавьте следующий JSON в ваш шаблон.
{
"type": "Microsoft.Sql/servers/extendedAuditingSettings",
"apiVersion": "2025-02-01-preview",
"name": "string",
"properties": {
"auditActionsAndGroups": [ "string" ],
"isAzureMonitorTargetEnabled": "bool",
"isDevopsAuditEnabled": "bool",
"isManagedIdentityInUse": "bool",
"isStorageSecondaryKeyInUse": "bool",
"predicateExpression": "string",
"queueDelayMs": "int",
"retentionDays": "int",
"state": "string",
"storageAccountAccessKey": "string",
"storageAccountSubscriptionId": "string",
"storageEndpoint": "string"
}
}
Значения свойств
Microsoft. Sql/servers/extendedAuditingSettings
| Name | Description | Value |
|---|---|---|
| apiVersion | Версия API | «2025-02-01-превью» |
| name | имя ресурса. | "default" (обязательно) |
| properties | Свойства ресурса. | ExtendedServerBlobAuditingPolicyProperties |
| type | Тип ресурса | 'Microsoft. Sql/servers/extendedAuditingSettings' |
ExtendedServerBlobAuditingPolicyProperties
| Name | Description | Value |
|---|---|---|
| auditActionsAndGroups | Указывает Actions-Groups и действия для аудита. Рекомендуемый набор групп действий, используемый, — это следующая комбинация. Это приведет к аудиту всех запросов и хранимых процедур, выполняемых в базе данных, а также успешных и неудачных имен входа: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Эта приведённая комбинация также является набором, который по умолчанию настроен при включении аудита через портал Azure. Поддерживаемые группы действий для аудита (примечание. Выберите только определенные группы, охватывающие потребности аудита. Использование ненужных групп может привести к очень большому количеству записей аудита): APPLICATION_ROLE_CHANGE_PASSWORD_GROUP BACKUP_RESTORE_GROUP DATABASE_LOGOUT_GROUP DATABASE_OBJECT_CHANGE_GROUP DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP DATABASE_OBJECT_PERMISSION_CHANGE_GROUP DATABASE_OPERATION_GROUP DATABASE_PERMISSION_CHANGE_GROUP DATABASE_PRINCIPAL_CHANGE_GROUP DATABASE_PRINCIPAL_IMPERSONATION_GROUP DATABASE_ROLE_MEMBER_CHANGE_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP SCHEMA_OBJECT_ACCESS_GROUP SCHEMA_OBJECT_CHANGE_GROUP SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP USER_CHANGE_PASSWORD_GROUP BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP Это группы, охватывающие все инструкции SQL и хранимые процедуры, выполняемые в базе данных, и не должны использоваться в сочетании с другими группами, так как это приведет к дублированию журналов аудита. Дополнительные сведения см. в разделе Database-Level Группы действий аудита. Для политики аудита базы данных можно также указать определенные действия (обратите внимание, что действия не могут быть указаны для политики аудита сервера). Поддерживаемые действия для аудита: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Общая форма определения действия для аудита: {действие} НА {объект} ПО {принципал} Обратите внимание, что <объект> в приведенном выше формате может ссылаться на объект, например таблицу, представление или хранимую процедуру, или всю базу данных или схему. В последних случаях используются формы DATABASE::{db_name} и SCHEMA::{schema_name} соответственно. Рассмотрим пример. SELECT в dbo.myTable по общедоступной версии SELECT в DATABASE::myDatabase по общедоступной версии SELECT в SCHEMA::mySchema по общедоступной Дополнительные сведения см. в разделе Database-Level Действия аудита |
string[] |
| isAzureMonitorTargetEnabled | Указывает, отправляются ли события аудита в Azure Monitor. Чтобы отправить события в Azure Monitor, укажите 'State' как 'Enabled' и 'IsAzureMonitorTargetEnabled' как true. При использовании REST API для настройки аудита необходимо также создать параметры диагностики с категорией журналов диагностики SQLSecurityAuditEvents в базе данных. Обратите внимание, что для аудита уровня сервера следует использовать базу данных master как {databaseName}. Формат URI параметров диагностики: ПОСТАВЬТЕ https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-previewДополнительные сведения см. в REST API параметров диагностики или параметров диагностики PowerShell |
bool |
| isDevopsAuditEnabled | Указывает состояние аудита devops. Если состояние включено, логи devops будут отправлены на Azure Monitor. Чтобы отправить события в Azure Monitor, укажите 'State' как 'Enabled', 'IsAzureMonitorTargetEnabled' как true и 'IsDevopsAuditEnabled' как true При использовании REST API для настройки аудита необходимо также создать параметры диагностики с категорией журналов диагностики DevOpsOperationsAudit в базе данных master. Формат URI параметров диагностики: ПОСТАВЬТЕ https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-previewДополнительные сведения см. в REST API параметров диагностики или параметров диагностики PowerShell |
bool |
| isManagedIdentityInUse | Указывает, используется ли управляемое удостоверение для доступа к хранилищу BLOB-объектов | bool |
| isStorageSecondaryKeyInUse | Указывает, является ли значение storageAccountAccessKey вторичным ключом хранилища. | bool |
| predicateExpression | Указывает условие расположения предложения при создании аудита. | string |
| queueDelayMs | Определяет количество времени в миллисекундах, которое может пройти до того, как действия аудита будут принудительно обработаны. Минимальное значение по умолчанию — 1000 (1 секунда). Максимальное значение — 2 147 483 647. |
int |
| retentionDays | Указывает количество дней для хранения в журналах аудита в учетной записи хранения. | int |
| state | Указывает состояние аудита. Если состояние включено, необходимо использовать storageEndpoint или isAzureMonitorTargetEnabled. | 'Disabled' "Включено" (обязательно) |
| storageAccountAccessKey | Указывает ключ идентификатора учетной записи хранения аудита. Если задано состояние "Включено" и storageEndpoint не указано, что storageAccountAccessKey будет использовать управляемое удостоверение, назначаемое системой SQL Server, для доступа к хранилищу. Необходимые условия для использования проверки подлинности управляемого удостоверения: 1. Назначить SQL Server управляемую идентичность в Azure Active Directory (AAD). 2. Предоставить доступ к идентификации SQL Server к аккаунту хранения, добавив роль RBAC 'Storage Blob Data Contributor' к идентификатору сервера. Дополнительные сведения см. в статье Аудит хранилища с помощью проверки подлинности управляемого удостоверения |
string Constraints: Конфиденциальное значение. Передайте в качестве безопасного параметра. |
| storageAccountSubscriptionId | Указывает идентификатор подписки хранилища BLOB-объектов. | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| storageEndpoint | Указывает конечную точку хранилища BLOB-объектов (например, https://MyAccount.blob.core.windows.net). Если состояние включено, требуется storageEndpoint или isAzureMonitorTargetEnabled. |
string |
Примеры использования
Определение ресурса Terraform (поставщик AzAPI)
Серверы или тип ресурса extendedAuditingSettings можно развернуть с помощью операций, предназначенных для следующих операций:
- Группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Создать Microsoft. Ресурс sql/servers/extendedAuditingSettings, добавьте следующий Terraform в ваш шаблон.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Sql/servers/extendedAuditingSettings@2025-02-01-preview"
name = "string"
parent_id = "string"
body = {
properties = {
auditActionsAndGroups = [
"string"
]
isAzureMonitorTargetEnabled = bool
isDevopsAuditEnabled = bool
isManagedIdentityInUse = bool
isStorageSecondaryKeyInUse = bool
predicateExpression = "string"
queueDelayMs = int
retentionDays = int
state = "string"
storageAccountAccessKey = "string"
storageAccountSubscriptionId = "string"
storageEndpoint = "string"
}
}
}
Значения свойств
Microsoft. Sql/servers/extendedAuditingSettings
| Name | Description | Value |
|---|---|---|
| name | имя ресурса. | "default" (обязательно) |
| parent_id | Идентификатор ресурса, который является родительским для этого ресурса. | Идентификатор ресурса типа: серверы |
| properties | Свойства ресурса. | ExtendedServerBlobAuditingPolicyProperties |
| type | Тип ресурса | «Microsoft. Sql/servers/extendedAuditingSettings@2025-02-01-preview" |
ExtendedServerBlobAuditingPolicyProperties
| Name | Description | Value |
|---|---|---|
| auditActionsAndGroups | Указывает Actions-Groups и действия для аудита. Рекомендуемый набор групп действий, используемый, — это следующая комбинация. Это приведет к аудиту всех запросов и хранимых процедур, выполняемых в базе данных, а также успешных и неудачных имен входа: BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Эта приведённая комбинация также является набором, который по умолчанию настроен при включении аудита через портал Azure. Поддерживаемые группы действий для аудита (примечание. Выберите только определенные группы, охватывающие потребности аудита. Использование ненужных групп может привести к очень большому количеству записей аудита): APPLICATION_ROLE_CHANGE_PASSWORD_GROUP BACKUP_RESTORE_GROUP DATABASE_LOGOUT_GROUP DATABASE_OBJECT_CHANGE_GROUP DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP DATABASE_OBJECT_PERMISSION_CHANGE_GROUP DATABASE_OPERATION_GROUP DATABASE_PERMISSION_CHANGE_GROUP DATABASE_PRINCIPAL_CHANGE_GROUP DATABASE_PRINCIPAL_IMPERSONATION_GROUP DATABASE_ROLE_MEMBER_CHANGE_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP SCHEMA_OBJECT_ACCESS_GROUP SCHEMA_OBJECT_CHANGE_GROUP SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP USER_CHANGE_PASSWORD_GROUP BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP Это группы, охватывающие все инструкции SQL и хранимые процедуры, выполняемые в базе данных, и не должны использоваться в сочетании с другими группами, так как это приведет к дублированию журналов аудита. Дополнительные сведения см. в разделе Database-Level Группы действий аудита. Для политики аудита базы данных можно также указать определенные действия (обратите внимание, что действия не могут быть указаны для политики аудита сервера). Поддерживаемые действия для аудита: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES Общая форма определения действия для аудита: {действие} НА {объект} ПО {принципал} Обратите внимание, что <объект> в приведенном выше формате может ссылаться на объект, например таблицу, представление или хранимую процедуру, или всю базу данных или схему. В последних случаях используются формы DATABASE::{db_name} и SCHEMA::{schema_name} соответственно. Рассмотрим пример. SELECT в dbo.myTable по общедоступной версии SELECT в DATABASE::myDatabase по общедоступной версии SELECT в SCHEMA::mySchema по общедоступной Дополнительные сведения см. в разделе Database-Level Действия аудита |
string[] |
| isAzureMonitorTargetEnabled | Указывает, отправляются ли события аудита в Azure Monitor. Чтобы отправить события в Azure Monitor, укажите 'State' как 'Enabled' и 'IsAzureMonitorTargetEnabled' как true. При использовании REST API для настройки аудита необходимо также создать параметры диагностики с категорией журналов диагностики SQLSecurityAuditEvents в базе данных. Обратите внимание, что для аудита уровня сервера следует использовать базу данных master как {databaseName}. Формат URI параметров диагностики: ПОСТАВЬТЕ https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-previewДополнительные сведения см. в REST API параметров диагностики или параметров диагностики PowerShell |
bool |
| isDevopsAuditEnabled | Указывает состояние аудита devops. Если состояние включено, логи devops будут отправлены на Azure Monitor. Чтобы отправить события в Azure Monitor, укажите 'State' как 'Enabled', 'IsAzureMonitorTargetEnabled' как true и 'IsDevopsAuditEnabled' как true При использовании REST API для настройки аудита необходимо также создать параметры диагностики с категорией журналов диагностики DevOpsOperationsAudit в базе данных master. Формат URI параметров диагностики: ПОСТАВЬТЕ https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-previewДополнительные сведения см. в REST API параметров диагностики или параметров диагностики PowerShell |
bool |
| isManagedIdentityInUse | Указывает, используется ли управляемое удостоверение для доступа к хранилищу BLOB-объектов | bool |
| isStorageSecondaryKeyInUse | Указывает, является ли значение storageAccountAccessKey вторичным ключом хранилища. | bool |
| predicateExpression | Указывает условие расположения предложения при создании аудита. | string |
| queueDelayMs | Определяет количество времени в миллисекундах, которое может пройти до того, как действия аудита будут принудительно обработаны. Минимальное значение по умолчанию — 1000 (1 секунда). Максимальное значение — 2 147 483 647. |
int |
| retentionDays | Указывает количество дней для хранения в журналах аудита в учетной записи хранения. | int |
| state | Указывает состояние аудита. Если состояние включено, необходимо использовать storageEndpoint или isAzureMonitorTargetEnabled. | 'Disabled' "Включено" (обязательно) |
| storageAccountAccessKey | Указывает ключ идентификатора учетной записи хранения аудита. Если задано состояние "Включено" и storageEndpoint не указано, что storageAccountAccessKey будет использовать управляемое удостоверение, назначаемое системой SQL Server, для доступа к хранилищу. Необходимые условия для использования проверки подлинности управляемого удостоверения: 1. Назначить SQL Server управляемую идентичность в Azure Active Directory (AAD). 2. Предоставить доступ к идентификации SQL Server к аккаунту хранения, добавив роль RBAC 'Storage Blob Data Contributor' к идентификатору сервера. Дополнительные сведения см. в статье Аудит хранилища с помощью проверки подлинности управляемого удостоверения |
string Constraints: Конфиденциальное значение. Передайте в качестве безопасного параметра. |
| storageAccountSubscriptionId | Указывает идентификатор подписки хранилища BLOB-объектов. | string Constraints: Минимальная длина = 36 Максимальная длина = 36 Шаблон = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
| storageEndpoint | Указывает конечную точку хранилища BLOB-объектов (например, https://MyAccount.blob.core.windows.net). Если состояние включено, требуется storageEndpoint или isAzureMonitorTargetEnabled. |
string |
Примеры использования
Примеры Terraform
Базовый пример развертывания политики расширенного аудита MS SQL Server.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westus"
}
variable "administrator_login_password" {
type = string
sensitive = true
description = "The administrator login password for the SQL server"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "server" {
type = "Microsoft.Sql/servers@2023-08-01-preview"
parent_id = azapi_resource.resourceGroup.id
name = "${var.resource_name}-sqlserver"
location = var.location
body = {
properties = {
administratorLogin = "missadministrator"
administratorLoginPassword = var.administrator_login_password
minimalTlsVersion = "1.2"
publicNetworkAccess = "Enabled"
restrictOutboundNetworkAccess = "Disabled"
version = "12.0"
}
}
}
resource "azapi_resource" "storageAccount" {
type = "Microsoft.Storage/storageAccounts@2023-05-01"
parent_id = azapi_resource.resourceGroup.id
name = "${replace(var.resource_name, "-", "")}sta"
location = var.location
body = {
kind = "StorageV2"
properties = {
accessTier = "Hot"
allowBlobPublicAccess = true
allowCrossTenantReplication = false
allowSharedKeyAccess = true
defaultToOAuthAuthentication = false
dnsEndpointType = "Standard"
encryption = {
keySource = "Microsoft.Storage"
services = {
queue = {
keyType = "Service"
}
table = {
keyType = "Service"
}
}
}
isHnsEnabled = false
isLocalUserEnabled = true
isNfsV3Enabled = false
isSftpEnabled = false
minimumTlsVersion = "TLS1_2"
networkAcls = {
bypass = "AzureServices"
defaultAction = "Allow"
ipRules = []
resourceAccessRules = []
virtualNetworkRules = []
}
publicNetworkAccess = "Enabled"
supportsHttpsTrafficOnly = true
}
sku = {
name = "Standard_LRS"
}
}
}
resource "azapi_resource_action" "storageAccountKeys" {
type = "Microsoft.Storage/storageAccounts@2023-05-01"
resource_id = azapi_resource.storageAccount.id
action = "listKeys"
response_export_values = ["keys"]
}
resource "azapi_resource" "extendedAuditingSetting" {
type = "Microsoft.Sql/servers/extendedAuditingSettings@2023-08-01-preview"
parent_id = azapi_resource.server.id
name = "default"
body = {
properties = {
isAzureMonitorTargetEnabled = true
isStorageSecondaryKeyInUse = false
retentionDays = 0
state = "Enabled"
storageAccountAccessKey = azapi_resource_action.storageAccountKeys.output.keys[0].value
storageEndpoint = azapi_resource.storageAccount.output.properties.primaryEndpoints.blob
}
}
}