Sdílet prostřednictvím


Database Auditing Settings - Create Or Update

Vytvoří nebo aktualizuje zásady auditování objektů blob databáze.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2015-05-01-preview

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
blobAuditingPolicyName
path True

string

Název zásady auditování objektů blob.

databaseName
path True

string

Název databáze.

resourceGroupName
path True

string

Název skupiny prostředků, která prostředek obsahuje. Tuto hodnotu můžete získat z rozhraní API Resource Manager Azure nebo z portálu.

serverName
path True

string

Název serveru.

subscriptionId
path True

string

ID předplatného, které identifikuje předplatné Azure.

api-version
query True

string

Verze rozhraní API, která se má použít pro požadavek.

Text požadavku

Name Vyžadováno Typ Description
properties.state True

BlobAuditingPolicyState

Určuje stav zásady. Pokud je stav Povoleno, vyžaduje se storageEndpoint nebo isAzureMonitorTargetEnabled.

properties.auditActionsAndGroups

string[]

Určuje Actions-Groups a akce, které se mají auditovat.

Doporučená sada skupin akcí, které se mají použít, je následující kombinace – tato kombinace provede audit všech dotazů a uložených procedur spuštěných v databázi a také úspěšných a neúspěšných přihlášení:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP.

Tato výše uvedená kombinace je také sada, která se ve výchozím nastavení konfiguruje při povolování auditování z Azure Portal.

Podporované skupiny akcí, které se mají auditovat, jsou (poznámka: Vyberte pouze konkrétní skupiny, které pokrývají vaše potřeby auditování. Použití nepotřebných skupin může vést k velmi velkému množství záznamů auditu:

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

Jedná se o skupiny, které pokrývají všechny příkazy SQL a uložené procedury spuštěné v databázi a neměly by se používat v kombinaci s jinými skupinami, protože výsledkem budou duplicitní protokoly auditu.

Další informace najdete v tématu Skupiny akcí auditu na úrovni databáze.

Pro zásady auditování databáze je také možné zadat konkrétní akce (mějte na paměti, že akce nelze zadat pro zásady auditování serveru). Podporované akce k auditování: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

Obecný formulář pro definování akce, která se má auditovat, je: {action} ON {object} BY {principal}

Všimněte si, že ve výše uvedeném formátu může odkazovat na objekt, jako je tabulka, zobrazení nebo uložená procedura, nebo na celou databázi nebo schéma. V těchto případech se použijí formuláře DATABASE::{db_name} a SCHEMA::{schema_name} v uvedeném pořadí.

Příklad: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Další informace najdete v tématu Akce auditu na úrovni databáze.

properties.isAzureMonitorTargetEnabled

boolean

Určuje, jestli se události auditu odesílají do služby Azure Monitor. Pokud chcete odesílat události do Azure Monitoru, zadejte stav jako Povoleno a jako hodnotu true zadejte isAzureMonitorTargetEnabled.

Pokud ke konfiguraci auditování používáte rozhraní REST API, mělo by se v databázi vytvořit také nastavení diagnostiky s kategorií diagnostických protokolů SQLSecurityAuditEvents. Všimněte si, že pro audit na úrovni serveru byste měli použít hlavní databázi jako {databaseName}.

Formát identifikátoru URI nastavení diagnostiky: 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

Další informace najdete v tématu Rozhraní REST API pro nastavení diagnostiky nebo Nastavení diagnostiky v PowerShellu.

properties.isStorageSecondaryKeyInUse

boolean

Určuje, jestli je hodnota storageAccountAccessKey sekundárním klíčem úložiště.

properties.queueDelayMs

integer

Určuje dobu v milisekundách, která může uplynout před vynuceným zpracováním akcí auditu. Výchozí minimální hodnota je 1000 (1 sekunda). Maximální hodnota je 2 147 483 647.

properties.retentionDays

integer

Určuje počet dnů, které se mají uchovávat v protokolech auditu v účtu úložiště.

properties.storageAccountAccessKey

string

Určuje klíč identifikátoru účtu úložiště auditování. Pokud je ve stavu Povoleno a je zadaný parametr storageEndpoint, nezadáte storageAccountAccessKey, použije se pro přístup k úložišti spravovaná identita přiřazená systémem SQL Serveru. Požadavky pro použití ověřování spravované identity:

  1. Přiřazení SQL Server spravované identity přiřazené systémem v Azure Active Directory (AAD).
  2. Udělte SQL Server identitě přístup k účtu úložiště přidáním role RBAC Přispěvatel dat v objektech blob služby Storage k identitě serveru. Další informace najdete v tématu Auditování úložiště s využitím ověřování spravované identity.
properties.storageAccountSubscriptionId

string

Určuje ID předplatného úložiště objektů blob.

properties.storageEndpoint

string

Určuje koncový bod úložiště objektů blob (např. https://MyAccount.blob.core.windows.net). Pokud je stav Povoleno, vyžaduje se parametr storageEndpoint nebo isAzureMonitorTargetEnabled.

Odpovědi

Name Typ Description
200 OK

DatabaseBlobAuditingPolicy

Zásady auditování objektů blob databáze se úspěšně nastavily.

201 Created

DatabaseBlobAuditingPolicy

Zásady auditování objektů blob databáze se úspěšně vytvořily.

Other Status Codes

Chybové odpovědi: ***

  • 400 BlobAuditingIsNotSupportedOnResourceType – Auditování objektů blob se pro tento typ prostředku v současné době nepodporuje.

  • 400 InvalidDatabaseBlobAuditingPolicyCreateRequest – požadavek na zásady auditování objektu blob databáze neexistuje nebo nemá žádný objekt properties.

  • 400 InvalidBlobAuditActionsAndGroups – neplatné akce auditu nebo skupiny akcí.

  • 400 DataSecurityInvalidUserSuppliedParameter – klient zadal neplatnou hodnotu parametru.

  • 400 BlobAuditingInvalidStorageAccountName – zadaný účet úložiště není platný nebo neexistuje.

  • 400 UpdateNotAllowedOnPausedDatabase – uživatel se pokusil provést aktualizaci pozastavené databáze.

  • 400 BlobAuditingInvalidStorageAccountCredentials – Zadaný účet úložiště nebo přístupový klíč nejsou platné.

  • 400 BlobAuditingIsNotSupportedOnGeoDr – Auditování objektů blob je možné nakonfigurovat pouze v primárních databázích.

  • 400 BlobAuditingNoServerIdentity – Identita serveru není správně nakonfigurovaná.

  • 400 InvalidBlobAuditActionsAndGroupsForDW – Nepodporované akce auditu nebo skupiny akcí pro dw.

  • 400 BlobAuditingInsufficientStorageAccountPermissions – Nedostatečná oprávnění ke čtení nebo zápisu pro zadaný účet úložiště.

  • 400 BlobAuditingStorageAccountIsDisabled – zadaný účet úložiště je zakázaný.

  • 400 InsufficientDiskSpaceForAuditing – nedostatek místa na disku pro úsporu metadat auditování v databázi

  • 400 InvalidBlobAuditActions – neplatná akce auditu

  • 404 SourceDatabaseNotFound – zdrojová databáze neexistuje.

  • 404 DatabaseDoesNotExist – Uživatel zadal název databáze, který na této instanci serveru neexistuje.

  • 500 DatabaseIsUnavailable – Načtení se nezdařilo. Zkuste to později.

Příklady

Create or update a database's azure monitor auditing policy with minimal parameters
Create or update a database's blob auditing policy with all parameters
Create or update a database's blob auditing policy with minimal parameters

Create or update a database's azure monitor auditing policy with minimal parameters

Ukázkový požadavek

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=2015-05-01-preview

{
  "properties": {
    "state": "Enabled",
    "isAzureMonitorTargetEnabled": true
  }
}

Ukázková odpověď

{
  "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",
    "isStorageSecondaryKeyInUse": false,
    "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",
    "isStorageSecondaryKeyInUse": false,
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ]
  }
}

Create or update a database's blob auditing policy with all parameters

Ukázkový požadavek

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=2015-05-01-preview

{
  "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
  }
}

Ukázková odpověď

{
  "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

Ukázkový požadavek

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=2015-05-01-preview

{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Ukázková odpověď

{
  "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
  }
}

Definice

Name Description
BlobAuditingPolicyState

Určuje stav zásady. Pokud je stav Povoleno, vyžaduje se storageEndpoint nebo isAzureMonitorTargetEnabled.

DatabaseBlobAuditingPolicy

Zásady auditování objektů blob databáze.

BlobAuditingPolicyState

Určuje stav zásady. Pokud je stav Povoleno, vyžaduje se storageEndpoint nebo isAzureMonitorTargetEnabled.

Name Typ Description
Disabled

string

Enabled

string

DatabaseBlobAuditingPolicy

Zásady auditování objektů blob databáze.

Name Typ Description
id

string

ID prostředku.

kind

string

Druh prostředku.

name

string

Název prostředku.

properties.auditActionsAndGroups

string[]

Určuje Actions-Groups a akce, které se mají auditovat.

Doporučená sada skupin akcí, které se mají použít, je následující kombinace – tato kombinace provede audit všech dotazů a uložených procedur spuštěných v databázi a také úspěšných a neúspěšných přihlášení:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP FAILED_DATABASE_AUTHENTICATION_GROUP.

Tato výše uvedená kombinace je také sada, která se ve výchozím nastavení konfiguruje při povolování auditování z Azure Portal.

Podporované skupiny akcí, které se mají auditovat, jsou (poznámka: Vyberte pouze konkrétní skupiny, které pokrývají vaše potřeby auditování. Použití nepotřebných skupin může vést k velmi velkému množství záznamů auditu:

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

Jedná se o skupiny, které pokrývají všechny příkazy SQL a uložené procedury spuštěné v databázi a neměly by se používat v kombinaci s jinými skupinami, protože výsledkem budou duplicitní protokoly auditu.

Další informace najdete v tématu Skupiny akcí auditu na úrovni databáze.

Pro zásady auditování databáze je také možné zadat konkrétní akce (mějte na paměti, že akce nelze zadat pro zásady auditování serveru). Podporované akce k auditování: SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

Obecný formulář pro definování akce, která se má auditovat, je: {action} ON {object} BY {principal}

Všimněte si, že ve výše uvedeném formátu může odkazovat na objekt, jako je tabulka, zobrazení nebo uložená procedura, nebo na celou databázi nebo schéma. V těchto případech se použijí formuláře DATABASE::{db_name} a SCHEMA::{schema_name} v uvedeném pořadí.

Příklad: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Další informace najdete v tématu Akce auditu na úrovni databáze.

properties.isAzureMonitorTargetEnabled

boolean

Určuje, jestli se události auditu odesílají do služby Azure Monitor. Pokud chcete odesílat události do Azure Monitoru, zadejte stav jako Povoleno a jako hodnotu true zadejte isAzureMonitorTargetEnabled.

Pokud ke konfiguraci auditování používáte rozhraní REST API, mělo by se v databázi vytvořit také nastavení diagnostiky s kategorií diagnostických protokolů SQLSecurityAuditEvents. Všimněte si, že pro audit na úrovni serveru byste měli použít hlavní databázi jako {databaseName}.

Formát identifikátoru URI nastavení diagnostiky: 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

Další informace najdete v tématu Rozhraní REST API pro nastavení diagnostiky nebo Nastavení diagnostiky v PowerShellu.

properties.isStorageSecondaryKeyInUse

boolean

Určuje, jestli je hodnota storageAccountAccessKey sekundárním klíčem úložiště.

properties.queueDelayMs

integer

Určuje dobu v milisekundách, která může uplynout před vynuceným zpracováním akcí auditu. Výchozí minimální hodnota je 1000 (1 sekunda). Maximální hodnota je 2 147 483 647.

properties.retentionDays

integer

Určuje počet dnů, které se mají uchovávat v protokolech auditu v účtu úložiště.

properties.state

BlobAuditingPolicyState

Určuje stav zásady. Pokud je stav Povoleno, vyžaduje se storageEndpoint nebo isAzureMonitorTargetEnabled.

properties.storageAccountAccessKey

string

Určuje klíč identifikátoru účtu úložiště auditování. Pokud je ve stavu Povoleno a je zadaný parametr storageEndpoint, nezadáte storageAccountAccessKey, použije se pro přístup k úložišti spravovaná identita přiřazená systémem SQL Serveru. Požadavky pro použití ověřování spravované identity:

  1. Přiřazení SQL Server spravované identity přiřazené systémem v Azure Active Directory (AAD).
  2. Udělte SQL Server identitě přístup k účtu úložiště přidáním role RBAC Přispěvatel dat v objektech blob služby Storage k identitě serveru. Další informace najdete v tématu Auditování úložiště s využitím ověřování spravované identity.
properties.storageAccountSubscriptionId

string

Určuje ID předplatného úložiště objektů blob.

properties.storageEndpoint

string

Určuje koncový bod úložiště objektů blob (např. https://MyAccount.blob.core.windows.net). Pokud je stav Povoleno, vyžaduje se parametr storageEndpoint nebo isAzureMonitorTargetEnabled.

type

string

Typ prostředku.