Database Blob Auditing Policies - Create Or Update
Crée ou met à jour la stratégie d’audit d’objets blob d’une base de données.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2021-11-01
Paramètres URI
Nom | Dans | Obligatoire | Type | Description |
---|---|---|---|---|
blob
|
path | True |
Nom de la stratégie d’audit d’objets blob. |
|
database
|
path | True |
string |
Nom de la base de données. |
resource
|
path | True |
string |
Nom du groupe de ressources qui contient la ressource. Vous pouvez obtenir cette valeur à partir de l’API Azure Resource Manager ou du portail. |
server
|
path | True |
string |
Le nom du serveur |
subscription
|
path | True |
string |
L’ID d’abonnement d’un abonnement Azure. |
api-version
|
query | True |
string |
Version de l’API à utiliser pour la requête. |
Corps de la demande
Nom | Obligatoire | Type | Description |
---|---|---|---|
properties.state | True |
Spécifie l’état de l’audit. Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled sont requis. |
|
properties.auditActionsAndGroups |
string[] |
Spécifie les Actions-Groups et actions à auditer. L’ensemble recommandé de groupes d’actions à utiliser est la combinaison suivante : cela permet d’auditer toutes les requêtes et procédures stockées exécutées sur la base de données, ainsi que les connexions réussies et ayant échoué : BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Cette combinaison ci-dessus est également l’ensemble configuré par défaut lors de l’activation de l’audit à partir du Portail Azure. Les groupes d’actions pris en charge à auditer sont (remarque : choisissez uniquement des groupes spécifiques qui couvrent vos besoins d’audit. L’utilisation de groupes inutiles peut entraîner de très grandes quantités d’enregistrements d’audit : 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 Il s’agit de groupes qui couvrent toutes les instructions sql et procédures stockées exécutées sur la base de données, et ne doivent pas être utilisés en combinaison avec d’autres groupes, car cela entraîne des journaux d’audit en double. Pour plus d’informations, consultez Groupes d’actions d’audit au niveau de la base de données. Pour la stratégie d’audit de base de données, des actions spécifiques peuvent également être spécifiées (notez que les actions ne peuvent pas être spécifiées pour la stratégie d’audit du serveur). Les actions prises en charge pour l’audit sont les suivantes : SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES La forme générale pour définir une action à auditer est la suivante : {action} ON {object} BY {principal} Notez que dans le format ci-dessus peut faire référence à un objet comme une table, une vue ou une procédure stockée, ou une base de données ou un schéma entier. Pour ces derniers cas, les formulaires DATABASE ::{db_name} et SCHEMA ::{schema_name} sont utilisés, respectivement. Par exemple : SELECT sur dbo.myTable by public SELECT on DATABASE ::myDatabase by public SELECT on SCHEMA ::mySchema by public Pour plus d’informations, consultez Actions d’audit au niveau de la base de données |
|
properties.isAzureMonitorTargetEnabled |
boolean |
Spécifie si les événements d’audit sont envoyés à Azure Monitor. Pour envoyer les événements à Azure Monitor, spécifiez « State » comme « Enabled » et « IsAzureMonitorTargetEnabled » comme true. Lorsque vous utilisez l’API REST pour configurer l’audit, les paramètres de diagnostic avec la catégorie de journaux de diagnostic « SQLSecurityAuditEvents » sur la base de données doivent également être créés. Notez que pour l’audit au niveau du serveur, vous devez utiliser la base de données « master » en tant que {databaseName}. Format d’URI des paramètres de diagnostic : 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 Pour plus d’informations, consultez API REST des paramètres de diagnostic ou Paramètres de diagnostic PowerShell |
|
properties.isManagedIdentityInUse |
boolean |
Spécifie si l’identité managée est utilisée pour accéder au stockage d’objets blob |
|
properties.isStorageSecondaryKeyInUse |
boolean |
Spécifie si la valeur storageAccountAccessKey est la clé secondaire du stockage. |
|
properties.queueDelayMs |
integer |
Spécifie la durée (en millisecondes) qui peut s'écouler avant que le traitement des actions d'audit ne soit forcé. La valeur minimale par défaut est 1000 (1 seconde). Le maximum est de 2 147 483 647. |
|
properties.retentionDays |
integer |
Spécifie le nombre de jours à conserver dans les journaux d’audit du compte de stockage. |
|
properties.storageAccountAccessKey |
string |
Spécifie la clé d’identificateur du compte de stockage d’audit. Si l’état est Activé et que storageEndpoint est spécifié, le fait de ne pas spécifier storageAccountAccessKey utilise l’identité managée affectée par le système SQL Server pour accéder au stockage. Conditions préalables à l’utilisation de l’authentification d’identité managée :
|
|
properties.storageAccountSubscriptionId |
string |
Spécifie l’ID d’abonnement au stockage d’objets blob. |
|
properties.storageEndpoint |
string |
Spécifie le point de terminaison de stockage d’objets blob (par exemple https://MyAccount.blob.core.windows.net). Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled est requis. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
Définissez correctement la stratégie d’audit des objets blob de base de données. |
|
201 Created |
La stratégie d’audit d’objet blob de base de données a été créée. |
|
Other Status Codes |
Réponses d’erreur : ***
|
Exemples
Create or update a database's azure monitor auditing policy with minimal parameters
Exemple de requête
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true
}
}
Exemple de réponse
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
Create or update a database's blob auditing policy with all parameters
Exemple de requête
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 6,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Exemple de réponse
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Create or update a database's blob auditing policy with minimal parameters
Exemple de requête
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb/auditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net"
}
}
Exemple de réponse
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/auditingSettings",
"kind": "V12",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
Définitions
Nom | Description |
---|---|
blob |
Nom de la stratégie d’audit d’objet blob. |
Blob |
Spécifie l’état de l’audit. Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled sont requis. |
Database |
Stratégie d’audit d’objet blob de base de données. |
blobAuditingPolicyName
Nom de la stratégie d’audit d’objet blob.
Nom | Type | Description |
---|---|---|
default |
string |
BlobAuditingPolicyState
Spécifie l’état de l’audit. Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled sont requis.
Nom | Type | Description |
---|---|---|
Disabled |
string |
|
Enabled |
string |
DatabaseBlobAuditingPolicy
Stratégie d’audit d’objet blob de base de données.
Nom | Type | Description |
---|---|---|
id |
string |
ID de la ressource |
kind |
string |
Type de ressource. |
name |
string |
Nom de la ressource. |
properties.auditActionsAndGroups |
string[] |
Spécifie les Actions-Groups et actions à auditer. L’ensemble recommandé de groupes d’actions à utiliser est la combinaison suivante : cela permet d’auditer toutes les requêtes et procédures stockées exécutées sur la base de données, ainsi que les connexions réussies et ayant échoué : BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP. Cette combinaison ci-dessus est également l’ensemble configuré par défaut lors de l’activation de l’audit à partir du Portail Azure. Les groupes d’actions pris en charge à auditer sont (remarque : choisissez uniquement des groupes spécifiques qui couvrent vos besoins d’audit. L’utilisation de groupes inutiles peut entraîner de très grandes quantités d’enregistrements d’audit : 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 Il s’agit de groupes qui couvrent toutes les instructions sql et procédures stockées exécutées sur la base de données, et ne doivent pas être utilisés en combinaison avec d’autres groupes, car cela entraîne des journaux d’audit en double. Pour plus d’informations, consultez Groupes d’actions d’audit au niveau de la base de données. Pour la stratégie d’audit de base de données, des actions spécifiques peuvent également être spécifiées (notez que les actions ne peuvent pas être spécifiées pour la stratégie d’audit du serveur). Les actions prises en charge pour l’audit sont les suivantes : SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES La forme générale pour définir une action à auditer est la suivante : {action} ON {object} BY {principal} Notez que dans le format ci-dessus peut faire référence à un objet comme une table, une vue ou une procédure stockée, ou une base de données ou un schéma entier. Pour ces derniers cas, les formulaires DATABASE ::{db_name} et SCHEMA ::{schema_name} sont utilisés, respectivement. Par exemple : SELECT sur dbo.myTable by public SELECT on DATABASE ::myDatabase by public SELECT on SCHEMA ::mySchema by public Pour plus d’informations, consultez Actions d’audit au niveau de la base de données |
properties.isAzureMonitorTargetEnabled |
boolean |
Spécifie si les événements d’audit sont envoyés à Azure Monitor. Pour envoyer les événements à Azure Monitor, spécifiez « State » comme « Enabled » et « IsAzureMonitorTargetEnabled » comme true. Lorsque vous utilisez l’API REST pour configurer l’audit, les paramètres de diagnostic avec la catégorie de journaux de diagnostic « SQLSecurityAuditEvents » sur la base de données doivent également être créés. Notez que pour l’audit au niveau du serveur, vous devez utiliser la base de données « master » en tant que {databaseName}. Format d’URI des paramètres de diagnostic : 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 Pour plus d’informations, consultez API REST des paramètres de diagnostic ou Paramètres de diagnostic PowerShell |
properties.isManagedIdentityInUse |
boolean |
Spécifie si l’identité managée est utilisée pour accéder au stockage d’objets blob |
properties.isStorageSecondaryKeyInUse |
boolean |
Spécifie si la valeur storageAccountAccessKey est la clé secondaire du stockage. |
properties.queueDelayMs |
integer |
Spécifie la durée (en millisecondes) qui peut s'écouler avant que le traitement des actions d'audit ne soit forcé. La valeur minimale par défaut est 1000 (1 seconde). Le maximum est de 2 147 483 647. |
properties.retentionDays |
integer |
Spécifie le nombre de jours à conserver dans les journaux d’audit du compte de stockage. |
properties.state |
Spécifie l’état de l’audit. Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled sont requis. |
|
properties.storageAccountAccessKey |
string |
Spécifie la clé d’identificateur du compte de stockage d’audit. Si l’état est Activé et que storageEndpoint est spécifié, le fait de ne pas spécifier storageAccountAccessKey utilise l’identité managée affectée par le système SQL Server pour accéder au stockage. Conditions préalables à l’utilisation de l’authentification d’identité managée :
|
properties.storageAccountSubscriptionId |
string |
Spécifie l’ID d’abonnement au stockage d’objets blob. |
properties.storageEndpoint |
string |
Spécifie le point de terminaison de stockage d’objets blob (par exemple https://MyAccount.blob.core.windows.net). Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled est requis. |
type |
string |
Type de ressource. |