Condividi tramite


Microsoft.Sql servers/databases/auditingSettings 2023-02-01-preview

Definizione di risorsa Bicep

Il tipo di risorsa servers/databases/auditingSettings può essere distribuito con operazioni destinate a:

  • gruppi di risorse - Vedere i comandi di distribuzione del gruppo di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare una risorsa Microsoft.Sql/servers/databases/auditingSettings, aggiungere il bicep seguente al modello.

resource symbolicname 'Microsoft.Sql/servers/databases/auditingSettings@2023-02-01-preview' = {
  parent: resourceSymbolicName
  name: 'default'
  properties: {
    auditActionsAndGroups: [
      'string'
    ]
    isAzureMonitorTargetEnabled: bool
    isManagedIdentityInUse: bool
    isStorageSecondaryKeyInUse: bool
    queueDelayMs: int
    retentionDays: int
    state: 'string'
    storageAccountAccessKey: 'string'
    storageAccountSubscriptionId: 'string'
    storageEndpoint: 'string'
  }
}

Valori delle proprietà

DatabaseBlobAuditingPolicyProperties

Nome Descrizione Valore
auditActionsAndGroups Specifica il Actions-Groups e le azioni da controllare.

Il set consigliato di gruppi di azioni da usare è la combinazione seguente: in questo modo verranno controllate tutte le query e le stored procedure eseguite sul database, nonché gli accessi riusciti e non riusciti:

BATCH_COMPLETED_GROUP,
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,
FAILED_DATABASE_AUTHENTICATION_GROUP.

Questa combinazione precedente è anche il set configurato per impostazione predefinita quando si abilita il controllo dal portale di Azure.

I gruppi di azioni supportati da controllare sono (nota: scegliere solo gruppi specifici che coprono le esigenze di controllo. L'uso di gruppi non necessari potrebbe causare grandi quantità di record di controllo:

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

Si tratta di gruppi che coprono tutte le istruzioni SQL e le stored procedure eseguite sul database e non devono essere usati in combinazione con altri gruppi, in quanto ciò comporterà la duplicazione dei log di controllo.

Per altre informazioni, vedere Database-Level Controlla gruppi di azioni.

Per i criteri di controllo del database, è anche possibile specificare azioni specifiche. Si noti che non è possibile specificare azioni per i criteri di controllo del server. Le azioni supportate da controllare sono:
SELEZIONARE
AGGIORNARE
INSERIRE
CANCELLARE
ESEGUIRE
RICEVERE
REFERENZE

Il modulo generale per la definizione di un'azione da controllare è:
{action} ON {object} BY {principal}

Si noti che <oggetto> nel formato precedente può fare riferimento a un oggetto come una tabella, una vista o una stored procedure oppure un intero database o uno schema. Per questi ultimi casi, vengono usati rispettivamente i moduli DATABASE::{db_name} e SCHEMA::{schema_name} .

Per esempio:
SELECT on dbo.myTable by public
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public

Per altre informazioni, vedere Database-Level Azioni di controllo
string[]
isAzureMonitorTargetEnabled Specifica se gli eventi di controllo vengono inviati a Monitoraggio di Azure.
Per inviare gli eventi a Monitoraggio di Azure, specificare 'State' come 'Enabled' e 'IsAzureMonitorTargetEnabled' come true.

Quando si usa l'API REST per configurare il controllo, è necessario creare anche le impostazioni di diagnostica con la categoria dei log di diagnostica "SQLSecurityAuditEvents" nel database.
Si noti che per il controllo a livello di server è consigliabile usare il database 'master' come {databaseName}.

Formato URI impostazioni di diagnostica:
PUT 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

Per altre informazioni, vedere 'API REST delle impostazioni di diagnostica
o Impostazioni di diagnostica di PowerShell
Bool
isManagedIdentityInUse Specifica se l'identità gestita viene usata per accedere all'archiviazione BLOB Bool
isStorageSecondaryKeyInUse Specifica se il valore storageAccountAccessKey è la chiave secondaria dell'archiviazione. Bool
queueDelayMs Specifica la quantità di tempo in millisecondi che può trascorrere prima dell'elaborazione delle azioni di controllo.
Il valore minimo predefinito è 1000 (1 secondo). Il valore massimo è 2.147.483.647.
Int
retentionDays Specifica il numero di giorni da mantenere nei log di controllo nell'account di archiviazione. Int
stato Specifica lo stato del controllo. Se lo stato è Abilitato, sono necessari storageEndpoint o isAzureMonitorTargetEnabled. 'Disabilitato'
'Enabled' (obbligatorio)
storageAccountAccessKey Specifica la chiave di identificatore dell'account di archiviazione di controllo.
Se lo stato è Abilitato e viene specificato storageEndpoint, non specificando storageAccountAccessKey verrà usata l'identità gestita assegnata dal sistema di SQL Server per accedere all'archiviazione.
Prerequisiti per l'uso dell'autenticazione dell'identità gestita:
1. Assegnare a SQL Server un'identità gestita assegnata dal sistema in Azure Active Directory (AAD).
2. Concedere all'identità di SQL Server l'accesso all'account di archiviazione aggiungendo il ruolo controllo degli accessi in base al ruolo "Collaboratore ai dati dei BLOB di archiviazione" all'identità del server.
Per altre informazioni, vedere Auditing to storage using Managed Identity Authentication
corda

Vincoli:
Valore sensibile. Passare come parametro sicuro.
storageAccountSubscriptionId Specifica l'ID sottoscrizione dell'archiviazione BLOB. corda

Vincoli:
Lunghezza minima = 36
Lunghezza massima = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint Specifica l'endpoint di archiviazione BLOB , ad esempio https://MyAccount.blob.core.windows.net. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. corda

Microsoft.Sql/servers/databases/auditingSettings

Nome Descrizione Valore
nome Nome della risorsa 'default' (obbligatorio)
genitore In Bicep è possibile specificare la risorsa padre per una risorsa figlio. È necessario aggiungere questa proprietà solo quando la risorsa figlio viene dichiarata all'esterno della risorsa padre.

Per altre informazioni, vedere risorsa figlio all'esterno della risorsa padre.
Nome simbolico per la risorsa di tipo: server/database
proprietà Proprietà delle risorse. DatabaseBlobAuditingPolicyProperties

Definizione di risorsa del modello di Resource Manager

Il tipo di risorsa servers/databases/auditingSettings può essere distribuito con operazioni destinate a:

  • gruppi di risorse - Vedere i comandi di distribuzione del gruppo di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare una risorsa Microsoft.Sql/servers/databases/auditingSettings, aggiungere il codice JSON seguente al modello.

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

Valori delle proprietà

DatabaseBlobAuditingPolicyProperties

Nome Descrizione Valore
auditActionsAndGroups Specifica il Actions-Groups e le azioni da controllare.

Il set consigliato di gruppi di azioni da usare è la combinazione seguente: in questo modo verranno controllate tutte le query e le stored procedure eseguite sul database, nonché gli accessi riusciti e non riusciti:

BATCH_COMPLETED_GROUP,
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,
FAILED_DATABASE_AUTHENTICATION_GROUP.

Questa combinazione precedente è anche il set configurato per impostazione predefinita quando si abilita il controllo dal portale di Azure.

I gruppi di azioni supportati da controllare sono (nota: scegliere solo gruppi specifici che coprono le esigenze di controllo. L'uso di gruppi non necessari potrebbe causare grandi quantità di record di controllo:

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

Si tratta di gruppi che coprono tutte le istruzioni SQL e le stored procedure eseguite sul database e non devono essere usati in combinazione con altri gruppi, in quanto ciò comporterà la duplicazione dei log di controllo.

Per altre informazioni, vedere Database-Level Controlla gruppi di azioni.

Per i criteri di controllo del database, è anche possibile specificare azioni specifiche. Si noti che non è possibile specificare azioni per i criteri di controllo del server. Le azioni supportate da controllare sono:
SELEZIONARE
AGGIORNARE
INSERIRE
CANCELLARE
ESEGUIRE
RICEVERE
REFERENZE

Il modulo generale per la definizione di un'azione da controllare è:
{action} ON {object} BY {principal}

Si noti che <oggetto> nel formato precedente può fare riferimento a un oggetto come una tabella, una vista o una stored procedure oppure un intero database o uno schema. Per questi ultimi casi, vengono usati rispettivamente i moduli DATABASE::{db_name} e SCHEMA::{schema_name} .

Per esempio:
SELECT on dbo.myTable by public
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public

Per altre informazioni, vedere Database-Level Azioni di controllo
string[]
isAzureMonitorTargetEnabled Specifica se gli eventi di controllo vengono inviati a Monitoraggio di Azure.
Per inviare gli eventi a Monitoraggio di Azure, specificare 'State' come 'Enabled' e 'IsAzureMonitorTargetEnabled' come true.

Quando si usa l'API REST per configurare il controllo, è necessario creare anche le impostazioni di diagnostica con la categoria dei log di diagnostica "SQLSecurityAuditEvents" nel database.
Si noti che per il controllo a livello di server è consigliabile usare il database 'master' come {databaseName}.

Formato URI impostazioni di diagnostica:
PUT 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

Per altre informazioni, vedere 'API REST delle impostazioni di diagnostica
o Impostazioni di diagnostica di PowerShell
Bool
isManagedIdentityInUse Specifica se l'identità gestita viene usata per accedere all'archiviazione BLOB Bool
isStorageSecondaryKeyInUse Specifica se il valore storageAccountAccessKey è la chiave secondaria dell'archiviazione. Bool
queueDelayMs Specifica la quantità di tempo in millisecondi che può trascorrere prima dell'elaborazione delle azioni di controllo.
Il valore minimo predefinito è 1000 (1 secondo). Il valore massimo è 2.147.483.647.
Int
retentionDays Specifica il numero di giorni da mantenere nei log di controllo nell'account di archiviazione. Int
stato Specifica lo stato del controllo. Se lo stato è Abilitato, sono necessari storageEndpoint o isAzureMonitorTargetEnabled. 'Disabilitato'
'Enabled' (obbligatorio)
storageAccountAccessKey Specifica la chiave di identificatore dell'account di archiviazione di controllo.
Se lo stato è Abilitato e viene specificato storageEndpoint, non specificando storageAccountAccessKey verrà usata l'identità gestita assegnata dal sistema di SQL Server per accedere all'archiviazione.
Prerequisiti per l'uso dell'autenticazione dell'identità gestita:
1. Assegnare a SQL Server un'identità gestita assegnata dal sistema in Azure Active Directory (AAD).
2. Concedere all'identità di SQL Server l'accesso all'account di archiviazione aggiungendo il ruolo controllo degli accessi in base al ruolo "Collaboratore ai dati dei BLOB di archiviazione" all'identità del server.
Per altre informazioni, vedere Auditing to storage using Managed Identity Authentication
corda

Vincoli:
Valore sensibile. Passare come parametro sicuro.
storageAccountSubscriptionId Specifica l'ID sottoscrizione dell'archiviazione BLOB. corda

Vincoli:
Lunghezza minima = 36
Lunghezza massima = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint Specifica l'endpoint di archiviazione BLOB , ad esempio https://MyAccount.blob.core.windows.net. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. corda

Microsoft.Sql/servers/databases/auditingSettings

Nome Descrizione Valore
apiVersion Versione dell'API '2023-02-01-preview'
nome Nome della risorsa 'default' (obbligatorio)
proprietà Proprietà delle risorse. DatabaseBlobAuditingPolicyProperties
digitare Tipo di risorsa 'Microsoft.Sql/servers/databases/auditingSettings'

Definizione di risorsa Terraform (provider AzAPI)

Il tipo di risorsa servers/databases/auditingSettings può essere distribuito con operazioni destinate a:

  • gruppi di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare una risorsa Microsoft.Sql/servers/databases/auditingSettings, aggiungere il codice Terraform seguente al modello.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/databases/auditingSettings@2023-02-01-preview"
  name = "string"
  body = jsonencode({
    properties = {
      auditActionsAndGroups = [
        "string"
      ]
      isAzureMonitorTargetEnabled = bool
      isManagedIdentityInUse = bool
      isStorageSecondaryKeyInUse = bool
      queueDelayMs = int
      retentionDays = int
      state = "string"
      storageAccountAccessKey = "string"
      storageAccountSubscriptionId = "string"
      storageEndpoint = "string"
    }
  })
}

Valori delle proprietà

DatabaseBlobAuditingPolicyProperties

Nome Descrizione Valore
auditActionsAndGroups Specifica il Actions-Groups e le azioni da controllare.

Il set consigliato di gruppi di azioni da usare è la combinazione seguente: in questo modo verranno controllate tutte le query e le stored procedure eseguite sul database, nonché gli accessi riusciti e non riusciti:

BATCH_COMPLETED_GROUP,
SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP,
FAILED_DATABASE_AUTHENTICATION_GROUP.

Questa combinazione precedente è anche il set configurato per impostazione predefinita quando si abilita il controllo dal portale di Azure.

I gruppi di azioni supportati da controllare sono (nota: scegliere solo gruppi specifici che coprono le esigenze di controllo. L'uso di gruppi non necessari potrebbe causare grandi quantità di record di controllo:

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

Si tratta di gruppi che coprono tutte le istruzioni SQL e le stored procedure eseguite sul database e non devono essere usati in combinazione con altri gruppi, in quanto ciò comporterà la duplicazione dei log di controllo.

Per altre informazioni, vedere Database-Level Controlla gruppi di azioni.

Per i criteri di controllo del database, è anche possibile specificare azioni specifiche. Si noti che non è possibile specificare azioni per i criteri di controllo del server. Le azioni supportate da controllare sono:
SELEZIONARE
AGGIORNARE
INSERIRE
CANCELLARE
ESEGUIRE
RICEVERE
REFERENZE

Il modulo generale per la definizione di un'azione da controllare è:
{action} ON {object} BY {principal}

Si noti che <oggetto> nel formato precedente può fare riferimento a un oggetto come una tabella, una vista o una stored procedure oppure un intero database o uno schema. Per questi ultimi casi, vengono usati rispettivamente i moduli DATABASE::{db_name} e SCHEMA::{schema_name} .

Per esempio:
SELECT on dbo.myTable by public
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public

Per altre informazioni, vedere Database-Level Azioni di controllo
string[]
isAzureMonitorTargetEnabled Specifica se gli eventi di controllo vengono inviati a Monitoraggio di Azure.
Per inviare gli eventi a Monitoraggio di Azure, specificare 'State' come 'Enabled' e 'IsAzureMonitorTargetEnabled' come true.

Quando si usa l'API REST per configurare il controllo, è necessario creare anche le impostazioni di diagnostica con la categoria dei log di diagnostica "SQLSecurityAuditEvents" nel database.
Si noti che per il controllo a livello di server è consigliabile usare il database 'master' come {databaseName}.

Formato URI impostazioni di diagnostica:
PUT 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

Per altre informazioni, vedere 'API REST delle impostazioni di diagnostica
o Impostazioni di diagnostica di PowerShell
Bool
isManagedIdentityInUse Specifica se l'identità gestita viene usata per accedere all'archiviazione BLOB Bool
isStorageSecondaryKeyInUse Specifica se il valore storageAccountAccessKey è la chiave secondaria dell'archiviazione. Bool
queueDelayMs Specifica la quantità di tempo in millisecondi che può trascorrere prima dell'elaborazione delle azioni di controllo.
Il valore minimo predefinito è 1000 (1 secondo). Il valore massimo è 2.147.483.647.
Int
retentionDays Specifica il numero di giorni da mantenere nei log di controllo nell'account di archiviazione. Int
stato Specifica lo stato del controllo. Se lo stato è Abilitato, sono necessari storageEndpoint o isAzureMonitorTargetEnabled. 'Disabilitato'
'Enabled' (obbligatorio)
storageAccountAccessKey Specifica la chiave di identificatore dell'account di archiviazione di controllo.
Se lo stato è Abilitato e viene specificato storageEndpoint, non specificando storageAccountAccessKey verrà usata l'identità gestita assegnata dal sistema di SQL Server per accedere all'archiviazione.
Prerequisiti per l'uso dell'autenticazione dell'identità gestita:
1. Assegnare a SQL Server un'identità gestita assegnata dal sistema in Azure Active Directory (AAD).
2. Concedere all'identità di SQL Server l'accesso all'account di archiviazione aggiungendo il ruolo controllo degli accessi in base al ruolo "Collaboratore ai dati dei BLOB di archiviazione" all'identità del server.
Per altre informazioni, vedere Auditing to storage using Managed Identity Authentication
corda

Vincoli:
Valore sensibile. Passare come parametro sicuro.
storageAccountSubscriptionId Specifica l'ID sottoscrizione dell'archiviazione BLOB. corda

Vincoli:
Lunghezza minima = 36
Lunghezza massima = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint Specifica l'endpoint di archiviazione BLOB , ad esempio https://MyAccount.blob.core.windows.net. Se lo stato è Abilitato, è necessario storageEndpoint o isAzureMonitorTargetEnabled. corda

Microsoft.Sql/servers/databases/auditingSettings

Nome Descrizione Valore
nome Nome della risorsa 'default' (obbligatorio)
parent_id ID della risorsa padre per questa risorsa. ID per la risorsa di tipo: server/database
proprietà Proprietà delle risorse. DatabaseBlobAuditingPolicyProperties
digitare Tipo di risorsa "Microsoft.Sql/servers/databases/auditingSettings@2023-02-01-preview"