Sql Pool Blob Auditing Policies - Create Or Update

Vytvoří nebo aktualizuje zásady auditování objektů BLOB ve fondu SQL.
Vytvoří nebo aktualizuje zásady auditování objektů BLOB ve fondu SQL.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/sqlPools/{sqlPoolName}/auditingSettings/default?api-version=2019-06-01-preview

Parametry identifikátoru URI

Name In Required Type Description
blobAuditingPolicyName
path True
  • string

Název zásad auditování objektů BLOB.

resourceGroupName
path True
  • string

Název skupiny prostředků. V názvu se rozlišují malá a velká písmena.

Regex pattern: ^[-\w\._\(\)]+$

sqlPoolName
path True
  • string

Název fondu SQL

subscriptionId
path True
  • string

ID cílového předplatného

workspaceName
path True
  • string

Název pracovního prostoru

api-version
query True
  • string

Verze rozhraní API, která se má použít pro tuto operaci.

Text požadavku

Name Required Type Description
properties.state True

Určuje stav zásad. Pokud je stav povolený, vyžadují 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 – provede audit všech dotazů a uložených procedur provedený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.

Výše uvedená kombinace je také množinou, která je ve výchozím nastavení nakonfigurována při povolování auditování z Azure Portal.

Podporované skupiny akcí pro audit jsou (Poznámka: vyberte pouze konkrétní skupiny, které pokrývají vaše požadavky na auditování. Použití zbytečných skupin může vést k velkým objemům 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_ SKUPINY

Jedná se o skupiny, které pokrývají všechny příkazy SQL a uložené procedury provedené proti databázi a neměly by se používat v kombinaci s jinými skupinami, protože to způsobí duplicitní protokoly auditu.

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

V případě zásad auditování databáze lze zadat také konkrétní akce (Všimněte si, že akce nelze zadat pro zásady auditování serveru). Podporované akce pro audit: vyberte aktualizovat odkazy pro příjem.

Obecný formulář pro definování akce, která se má auditovat: {Action} v objektu {Object} od {Principal}

Všimněte si, že ve výše uvedeném formátu může odkazovat na objekt, například na tabulku, zobrazení nebo uloženou proceduru, nebo na celou databázi nebo schéma. Pro druhé případy se používají databáze formulářů:: {db_name} a schéma:: {schema_name}.

Příklad: vyberte na dbo. myTable podle veřejného výběru v databázi:: myDatabase podle veřejného výběru ve schématu:: mySchema podle veřejného.

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

properties.isAzureMonitorTargetEnabled
  • boolean

Určuje, zda jsou události auditu odesílány do Azure Monitor. Pokud chcete odesílat události do Azure Monitor, zadejte ' State ' jako ' Enabled ' a ' isAzureMonitorTargetEnabled ' jako true.

Při použití REST API ke konfiguraci auditování se musí vytvořit také nastavení diagnostiky s kategorií diagnostických protokolů ' SQLSecurityAuditEvents ' v databázi. 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 pro 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 nastavení diagnostiky REST API nebo prostředí PowerShell pro nastavení diagnostiky .

properties.isStorageSecondaryKeyInUse
  • boolean

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

properties.retentionDays
  • integer

Určuje počet dní, po které budou v protokolech auditu v účtu úložiště zachovány.

properties.storageAccountAccessKey
  • string

Určuje klíč identifikátoru účtu úložiště auditování. Pokud je stav povolen a je zadán parametr storageEndpoint, je vyžadována možnost storageAccountAccessKey.

properties.storageAccountSubscriptionId
  • string

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

properties.storageEndpoint
  • string

Určuje koncový bod služby Blob Storage (např https://MyAccount.blob.core.windows.net) . Pokud je stav povolený, vyžaduje se storageEndpoint.

Odpovědi

Name Type Description
200 OK

Zásady auditování objektů BLOB fondu SQL se úspěšně nastavily.

201 Created

Zásada auditování objektů BLOB fondu SQL se úspěšně vytvořila.

Other Status Codes

Chybové odpovědi: * * _

_ 400 BlobAuditingIsNotSupportedOnResourceType-auditování objektů BLOB není v současné době pro tento typ prostředku podporováno.

  • 400 InvalidDatabaseBlobAuditingPolicyCreateRequest-požadavek na zásadu auditování objektu BLOB pro vytvoření databáze neexistuje nebo nemá žádný objekt vlastnosti.

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

  • 400 DataSecurityInvalidUserSuppliedParameter – klient poskytl neplatnou hodnotu parametru.

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

  • 400 UpdateNotAllowedOnPausedDatabase-uživatel se pokusil o provedení aktualizace u pozastavené databáze.

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

  • 400 BlobAuditingIsNotSupportedOnGeoDr-auditování objektů BLOB lze konfigurovat pouze v primárních databázích.

  • 400 InvalidBlobAuditActionsAndGroupsForDW – nepodporované akce auditu nebo skupiny akcí pro DW.

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

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

  • 400 InvalidBlobAuditActions-neplatná akce auditu

  • 404 SourceDatabaseNotFound-zdrojová databáze neexistuje.

  • 404 DatabaseDoesNotExist-uživatel zadal název databáze, který v této instanci serveru neexistuje.

  • 500 DatabaseIsUnavailable-načítání se nezdařilo. Zkuste to později.

Příklady

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 blob auditing policy with all parameters

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb/auditingSettings/default?api-version=2019-06-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,
    "auditActionsAndGroups": [
      "DATABASE_LOGOUT_GROUP",
      "DATABASE_ROLE_MEMBER_CHANGE_GROUP",
      "UPDATE on database::TestDatabaseName by public"
    ],
    "isAzureMonitorTargetEnabled": true
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/sqlPools/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "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.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/sqlPools/auditingSettings",
  "kind": "V12",
  "properties": {
    "state": "Enabled",
    "storageEndpoint": "https://mystorage.blob.core.windows.net",
    "retentionDays": 0,
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "isStorageSecondaryKeyInUse": false,
    "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

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb/auditingSettings/default?api-version=2019-06-01-preview
{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/sqlPools/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.Synapse/workspaces/blobauditingtest-6440/sqlPools/testdb",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/sqlPools/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

BlobAuditingPolicyState

Určuje stav zásad. Pokud je stav povolený, vyžadují se storageEndpoint nebo isAzureMonitorTargetEnabled.

SqlPoolBlobAuditingPolicy

Zásady auditování objektů BLOB fondu SQL

BlobAuditingPolicyState

Určuje stav zásad. Pokud je stav povolený, vyžadují se storageEndpoint nebo isAzureMonitorTargetEnabled.

Name Type Description
Disabled
  • string
Enabled
  • string

SqlPoolBlobAuditingPolicy

Zásady auditování objektů BLOB fondu SQL

Name Type Description
id
  • string

Plně kvalifikované ID prostředku pro daný prostředek. Ex-/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

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 – provede audit všech dotazů a uložených procedur provedený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.

Výše uvedená kombinace je také množinou, která je ve výchozím nastavení nakonfigurována při povolování auditování z Azure Portal.

Podporované skupiny akcí pro audit jsou (Poznámka: vyberte pouze konkrétní skupiny, které pokrývají vaše požadavky na auditování. Použití zbytečných skupin může vést k velkým objemům 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_ SKUPINY

Jedná se o skupiny, které pokrývají všechny příkazy SQL a uložené procedury provedené proti databázi a neměly by se používat v kombinaci s jinými skupinami, protože to způsobí duplicitní protokoly auditu.

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

V případě zásad auditování databáze lze zadat také konkrétní akce (Všimněte si, že akce nelze zadat pro zásady auditování serveru). Podporované akce pro audit: vyberte aktualizovat odkazy pro příjem.

Obecný formulář pro definování akce, která se má auditovat: {Action} v objektu {Object} od {Principal}

Všimněte si, že ve výše uvedeném formátu může odkazovat na objekt, například na tabulku, zobrazení nebo uloženou proceduru, nebo na celou databázi nebo schéma. Pro druhé případy se používají databáze formulářů:: {db_name} a schéma:: {schema_name}.

Příklad: vyberte na dbo. myTable podle veřejného výběru v databázi:: myDatabase podle veřejného výběru ve schématu:: mySchema podle veřejného.

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

properties.isAzureMonitorTargetEnabled
  • boolean

Určuje, zda jsou události auditu odesílány do Azure Monitor. Pokud chcete odesílat události do Azure Monitor, zadejte ' State ' jako ' Enabled ' a ' isAzureMonitorTargetEnabled ' jako true.

Při použití REST API ke konfiguraci auditování se musí vytvořit také nastavení diagnostiky s kategorií diagnostických protokolů ' SQLSecurityAuditEvents ' v databázi. 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 pro 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 nastavení diagnostiky REST API nebo prostředí PowerShell pro nastavení diagnostiky .

properties.isStorageSecondaryKeyInUse
  • boolean

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

properties.retentionDays
  • integer

Určuje počet dní, po které budou v protokolech auditu v účtu úložiště zachovány.

properties.state

Určuje stav zásad. Pokud je stav povolený, vyžadují se storageEndpoint nebo isAzureMonitorTargetEnabled.

properties.storageAccountAccessKey
  • string

Určuje klíč identifikátoru účtu úložiště auditování. Pokud je stav povolen a je zadán parametr storageEndpoint, je vyžadována možnost storageAccountAccessKey.

properties.storageAccountSubscriptionId
  • string

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

properties.storageEndpoint
  • string

Určuje koncový bod služby Blob Storage (např https://MyAccount.blob.core.windows.net) . Pokud je stav povolený, vyžaduje se storageEndpoint.

type
  • string

Typ prostředku. Například "Microsoft. COMPUTE/virtualMachines" nebo "Microsoft. Storage/storageAccounts"