Partager via


Server Blob Auditing Policies - Create Or Update

Crée ou met à jour la stratégie d’audit d’objet blob d’un serveur.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default?api-version=2023-08-01

Paramètres URI

Nom Dans Obligatoire Type Description
blobAuditingPolicyName
path True

blobAuditingPolicyName

Nom de la stratégie d’audit d’objet blob.

resourceGroupName
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.

serverName
path True

string

Nom du serveur.

subscriptionId
path True

string

ID d’abonnement qui identifie 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

BlobAuditingPolicyState

Spécifie l’état de l’audit. Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled sont requis.

properties.auditActionsAndGroups

string[]

Spécifie la Actions-Groups et les 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 les procédures stockées exécutées sur la base de données et qui 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 Database-Level Groupes d’actions d’audit.

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

Le formulaire général permettant de définir une action à auditer est : {action} ON {object} BY {principal}

Notez que <objet> au 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 les 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 Database-Level Actions d’audit

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 des 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 » comme {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.isDevopsAuditEnabled

boolean

Spécifie l’état de l’audit devops. Si l’état est activé, les journaux devops sont envoyés à Azure Monitor. Pour envoyer les événements à Azure Monitor, spécifiez « State » comme « Enabled », « IsAzureMonitorTargetEnabled » comme true et « IsDevopsAuditEnabled » 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 « DevOpsOperationsAudit » sur la base de données master doivent également être créés.

Format d’URI des paramètres de diagnostic : put 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

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 (int32)

Spécifie la durée en millisecondes qui peut s’écouler avant que les actions d’audit ne soient forcées à être traitées. La valeur minimale par défaut est 1 000 (1 seconde). Le maximum est de 2 147 483 647.

properties.retentionDays

integer (int32)

Spécifie le nombre de jours à conserver dans les journaux d’audit dans le 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é, il n’est pas spécifié que 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 :

  1. Attribuez à SQL Server une identité managée affectée par le système dans Azure Active Directory (AAD).
  2. Accordez à l’identité SQL Server l’accès au compte de stockage en ajoutant le rôle RBAC « Contributeur aux données blob de stockage » à l’identité du serveur. Pour plus d’informations, consultez Audit sur le stockage à l’aide de l’authentification d’identité managée
properties.storageAccountSubscriptionId

string (uuid)

Spécifie l’ID d’abonnement de 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

ServerBlobAuditingPolicy

Mise à jour réussie des paramètres d’audit.

202 Accepted

La mise à jour des paramètres d’audit est en cours.

En-têtes

Location: string

Other Status Codes

ErrorResponse

Réponses d’erreur : ***

  • 400 ManagedInstanceStoppingOrStopped : opération en conflit envoyée pendant l’arrêt/l’état arrêté de l’instance

  • 400 ManagedInstanceStarting - Opération en conflit envoyée pendant que l’instance est à l’état de démarrage

  • 400 InvalidServerBlobAuditingPolicyCreateRequest : la demande de stratégie d’audit d’objet blob de serveur de création n’existe pas ou n’a pas d’objet de propriétés.

  • 400 InvalidBlobAuditActionsAndGroups - Actions d’audit ou groupes d’actions non valides.

  • 400 DataSecurityInvalidUserSuppliedParameter : une valeur de paramètre non valide a été fournie par le client.

  • 400 BlobAuditingInvalidPolicyLength : longueur de stratégie non valide, doit être comprise entre 200 caractères.

  • 400 InvalidBlobAuditActionsAndGroups - Actions d’audit ou groupes d’actions non valides.

  • 400 BlobAuditingNetworkSecurityPerimeterNotAllowed - Network Security Perimeter a bloqué la requête sortante vers le compte de stockage

  • 400 BlobAuditingInvalidStorageAccountCredentials : le compte de stockage ou la clé d’accès fourni n’est pas valide.

  • 400 BlobAuditingStorageOutboundFirewallNotAllowed : le compte de stockage n’est pas dans la liste des noms de domaine complets autorisés et, par conséquent, les règles de pare-feu sortantes bloquent la requête.

  • 400 InsufficientDiskSpaceForAuditing - Espace disque insuffisant pour enregistrer les métadonnées d’audit dans la base de données

  • 400 InvalidBlobAuditActions - Action d’audit non valide

  • 404 ServerNotInSubscriptionResourceGroup : le serveur spécifié n’existe pas dans le groupe de ressources et l’abonnement spécifiés.

  • 404 SubscriptionDoesNotHaveServer - Le serveur demandé est introuvable

  • 404 OperationIdNotFound : l’opération avec ID n’existe pas.

  • 409 ServerBlobAuditingPolicyInProgress : la définition de l’audit des objets blob de serveur est déjà en cours.

  • 409 CannotCancelOperation : l’opération de gestion est dans un état qui ne peut pas être annulé.

  • 409 OperationCancelled : l’opération a été annulée par l’utilisateur.

  • 409 Opération interrompue : l’opération sur la ressource n’a pas pu être terminée, car elle a été interrompue par une autre opération sur la même ressource.

  • 429 SubscriptionTooManyCreateUpdateRequests : demandes au-delà des requêtes maximales pouvant être traitées par les ressources disponibles.

  • 429 SubscriptionTooManyRequests : demandes au-delà des requêtes maximales pouvant être traitées par les ressources disponibles.

  • 500 OperationTimedOut : l’opération a expiré et a été restaurée automatiquement. Réessayez l’opération.

  • 503 TooManyRequests : demandes au-delà des requêtes maximales pouvant être traitées par les ressources disponibles.

Exemples

Update a server's blob auditing policy with all parameters
Update a server's blob auditing policy with minimal parameters

Update a server'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/auditingSettings/default?api-version=2023-08-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": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

Exemple de réponse

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Sql/servers/auditingSettings",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 6,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

Update a server'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/auditingSettings/default?api-version=2023-08-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/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Sql/servers/auditingSettings",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 6,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ]
  }
}

Définitions

Nom Description
blobAuditingPolicyName

Nom de la stratégie d’audit d’objet blob.

BlobAuditingPolicyState

Spécifie l’état de l’audit. Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled sont requis.

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

ErrorDetail

Détail de l’erreur.

ErrorResponse

Réponse d’erreur

ServerBlobAuditingPolicy

Stratégie d’audit d’objet blob de serveur.

blobAuditingPolicyName

Nom de la stratégie d’audit d’objet blob.

Valeur Description
default

BlobAuditingPolicyState

Spécifie l’état de l’audit. Si l’état est Activé, storageEndpoint ou isAzureMonitorTargetEnabled sont requis.

Valeur Description
Enabled
Disabled

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

Nom Type Description
info

object

Informations supplémentaires.

type

string

Type d’informations supplémentaire.

ErrorDetail

Détail de l’erreur.

Nom Type Description
additionalInfo

ErrorAdditionalInfo[]

Informations supplémentaires sur l’erreur.

code

string

Code d’erreur.

details

ErrorDetail[]

Détails de l’erreur.

message

string

Message d’erreur.

target

string

Cible d’erreur.

ErrorResponse

Réponse d’erreur

Nom Type Description
error

ErrorDetail

Objet d’erreur.

ServerBlobAuditingPolicy

Stratégie d’audit d’objet blob de serveur.

Nom Type Description
id

string

ID de ressource.

name

string

Nom de la ressource.

properties.auditActionsAndGroups

string[]

Spécifie la Actions-Groups et les 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 les procédures stockées exécutées sur la base de données et qui 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 Database-Level Groupes d’actions d’audit.

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

Le formulaire général permettant de définir une action à auditer est : {action} ON {object} BY {principal}

Notez que <objet> au 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 les 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 Database-Level Actions d’audit

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 des 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 » comme {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.isDevopsAuditEnabled

boolean

Spécifie l’état de l’audit devops. Si l’état est activé, les journaux devops sont envoyés à Azure Monitor. Pour envoyer les événements à Azure Monitor, spécifiez « State » comme « Enabled », « IsAzureMonitorTargetEnabled » comme true et « IsDevopsAuditEnabled » 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 « DevOpsOperationsAudit » sur la base de données master doivent également être créés.

Format d’URI des paramètres de diagnostic : put 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

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 (int32)

Spécifie la durée en millisecondes qui peut s’écouler avant que les actions d’audit ne soient forcées à être traitées. La valeur minimale par défaut est 1 000 (1 seconde). Le maximum est de 2 147 483 647.

properties.retentionDays

integer (int32)

Spécifie le nombre de jours à conserver dans les journaux d’audit dans le compte de stockage.

properties.state

BlobAuditingPolicyState

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é, il n’est pas spécifié que 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 :

  1. Attribuez à SQL Server une identité managée affectée par le système dans Azure Active Directory (AAD).
  2. Accordez à l’identité SQL Server l’accès au compte de stockage en ajoutant le rôle RBAC « Contributeur aux données blob de stockage » à l’identité du serveur. Pour plus d’informations, consultez Audit sur le stockage à l’aide de l’authentification d’identité managée
properties.storageAccountSubscriptionId

string (uuid)

Spécifie l’ID d’abonnement de 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.