Майкрософт. SQL servers/extendedAuditingSettings 2021-02-01-preview

Определение ресурса Bicep

Серверы или тип ресурса extendedAuditingSettings можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Создать Майкрософт. Ресурс sql/servers/extendedAuditingSettings, добавьте следующий Bicep в свой шаблон.

resource symbolicname 'Microsoft.Sql/servers/extendedAuditingSettings@2021-02-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    auditActionsAndGroups: [
      'string'
    ]
    isAzureMonitorTargetEnabled: bool
    isDevopsAuditEnabled: bool
    isStorageSecondaryKeyInUse: bool
    predicateExpression: 'string'
    queueDelayMs: int
    retentionDays: int
    state: 'string'
    storageAccountAccessKey: 'string'
    storageAccountSubscriptionId: 'string'
    storageEndpoint: 'string'
  }
}

Значения свойств

Майкрософт. 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/Майкрософт.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/Майкрософт.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

Дополнительные сведения см. в REST API параметров диагностики
или параметров диагностики PowerShell
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 см. в журнала изменений.

Формат ресурса

Создать Майкрософт. Ресурс sql/servers/extendedAuditingSettings, добавьте следующий JSON в ваш шаблон.

{
  "type": "Microsoft.Sql/servers/extendedAuditingSettings",
  "apiVersion": "2021-02-01-preview",
  "name": "string",
  "properties": {
    "auditActionsAndGroups": [ "string" ],
    "isAzureMonitorTargetEnabled": "bool",
    "isDevopsAuditEnabled": "bool",
    "isStorageSecondaryKeyInUse": "bool",
    "predicateExpression": "string",
    "queueDelayMs": "int",
    "retentionDays": "int",
    "state": "string",
    "storageAccountAccessKey": "string",
    "storageAccountSubscriptionId": "string",
    "storageEndpoint": "string"
  }
}

Значения свойств

Майкрософт. Sql/servers/extendedAuditingSettings

Name Description Value
apiVersion Версия API '2021-02-01-preview'
name имя ресурса. "default" (обязательно)
properties Свойства ресурса. ExtendedServerBlobAuditingPolicyProperties
type Тип ресурса 'Майкрософт. 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/Майкрософт.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/Майкрософт.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

Дополнительные сведения см. в REST API параметров диагностики
или параметров диагностики PowerShell
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 см. в журнала изменений.

Формат ресурса

Создать Майкрософт. Ресурс sql/servers/extendedAuditingSettings, добавьте следующий Terraform в ваш шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/extendedAuditingSettings@2021-02-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      auditActionsAndGroups = [
        "string"
      ]
      isAzureMonitorTargetEnabled = bool
      isDevopsAuditEnabled = bool
      isStorageSecondaryKeyInUse = bool
      predicateExpression = "string"
      queueDelayMs = int
      retentionDays = int
      state = "string"
      storageAccountAccessKey = "string"
      storageAccountSubscriptionId = "string"
      storageEndpoint = "string"
    }
  }
}

Значения свойств

Майкрософт. Sql/servers/extendedAuditingSettings

Name Description Value
name имя ресурса. "default" (обязательно)
parent_id Идентификатор ресурса, который является родительским для этого ресурса. Идентификатор ресурса типа: серверы
properties Свойства ресурса. ExtendedServerBlobAuditingPolicyProperties
type Тип ресурса «Майкрософт. Sql/servers/extendedAuditingSettings@2021-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/Майкрософт.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/Майкрософт.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

Дополнительные сведения см. в REST API параметров диагностики
или параметров диагностики PowerShell
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
    }
  }
}