Sdílet prostřednictvím


Extended Server Blob Auditing Policies - Create Or Update

Vytvoří nebo aktualizuje zásady auditování objektů blob rozšířeného serveru.

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

Parametry identifikátoru URI

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

blobAuditingPolicyName

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

resourceGroupName
path True

string

Název skupiny prostředků, která obsahuje prostředek. Tuto hodnotu můžete získat z rozhraní API Azure Resource Manageru nebo 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 auditu. Pokud je stav Povoleno, jsou vyžadovány hodnoty 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 se auditování všech dotazů a uložených procedur spuštěných v databázi i ú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á je ve výchozím nastavení nakonfigurovaná při povolování auditování z webu 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 DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_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 Database-Level Skupiny akcí auditování.

Pro zásady auditování databáze je možné zadat také konkrétní akce (všimněte si, že pro zásady auditování serveru nelze zadat akce). Podporované akce auditu: 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 celá databáze nebo schéma. V těchto případech se použijí formuláře DATABASE::{db_name} a SCHEMA::{schema_name}.

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 Database-Level akcí auditu

properties.isAzureMonitorTargetEnabled

boolean

Určuje, jestli se události auditu odesílají do služby Azure Monitor. Pokud chcete odesílat události do služby Azure Monitor, jako true zadejte State a IsAzureMonitorTargetEnabled.

Při konfiguraci auditování pomocí rozhraní REST API by se také měla vytvořit 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 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

properties.isDevopsAuditEnabled

boolean

Určuje stav auditu DevOps. Pokud je stav povolený, odešlou se do služby Azure Monitor protokoly DevOps. Pokud chcete odesílat události do služby Azure Monitor, jako true zadejte State, IsAzureMonitorTargetEnabled jako true a IsDevopsAuditEnabled jako true.

Při konfiguraci auditování pomocí rozhraní REST API by se také měla vytvořit nastavení diagnostiky s kategorií diagnostických protokolů DevOpsOperationsAudit v hlavní databázi.

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

Další informace najdete v tématu rozhraní REST API pro nastavení diagnostiky nebo nastavení diagnostiky

properties.isManagedIdentityInUse

boolean

Určuje, jestli se spravovaná identita používá pro přístup k úložišti objektů blob.

properties.isStorageSecondaryKeyInUse

boolean

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

properties.predicateExpression

string

Určuje podmínku where klauzule při vytváření auditu.

properties.queueDelayMs

integer (int32)

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). Maximum je 2 147 483 647.

properties.retentionDays

integer (int32)

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

properties.storageAccountAccessKey

string

Určuje identifikátor klíče účtu úložiště auditování. Pokud je stav Povoleno a parametr storageEndpoint je zadaný, nezadávejte klíč storageAccountAccessKey pro přístup k úložišti spravovanou identitu přiřazenou systémem sql serveru. Předpoklady pro použití ověřování spravované identity:

  1. Přiřaďte SQL Serveru spravovanou identitu přiřazenou systémem v Azure Active Directory (AAD).
  2. Udělte identitě SQL Serveru přístup k účtu úložiště přidáním role RBAC přispěvatele dat objektů blob úložiště k identitě serveru. Další informace najdete v tématu Auditování úložiště pomocí ověřování spravované identity
properties.storageAccountSubscriptionId

string (uuid)

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, je vyžadována možnost storageEndpoint nebo isAzureMonitorTargetEnabled.

Odpovědi

Name Typ Description
200 OK

ExtendedServerBlobAuditingPolicy

Nastavení rozšířeného auditování bylo úspěšně aktualizováno.

202 Accepted

Probíhá aktualizace rozšířených nastavení auditování.

Hlavičky

Location: string

Other Status Codes

ErrorResponse

Chybové odpovědi: ***

  • 400 InvalidServerBlobAuditingPolicyCreateRequest – Požadavek na zásady auditování objektů blob serveru neexistuje nebo nemá žádný objekt vlastností.

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

  • 400 DataSecurityInvalidUserSuppliedParameter – klient zadal neplatnou hodnotu parametru.

  • 400 BlobAuditingInvalidPolicyLength – Neplatná délka zásad by měla být v rozsahu 200 znaků.

  • 400 BlobAuditingPredicateExpressionEmpty – neplatný parametr predicateExpression, hodnota nemůže být prázdná.

  • 400 ManagedInstanceStoppingOrStopped – Konfliktní operace odeslaná, když je instance v zastaveném nebo zastaveném stavu

  • 400 ManagedInstanceStarting – Konfliktní operace odeslaná při spuštění instance

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

  • 400 BlobAuditingNetworkSecurityPerimeterNotAllowed – hraniční síť zablokovaný odchozí požadavek na účet úložiště

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

  • 400 BlobAuditingStorageOutboundFirewallNotAllowed – Účet úložiště není v seznamu povolených plně kvalifikovaných názvů domén, a proto pravidla odchozí brány firewall zablokují požadavek.

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

  • 400 InvalidBlobAuditActions – neplatná akce auditu

  • 404 ServerNotInSubscriptionResourceGroup – Zadaný server neexistuje v zadané skupině prostředků a předplatném.

  • 404 SubscriptionDoesNotHaveServer – Požadovaný server nebyl nalezen.

  • 404 OperationIdNotFound – operace s ID neexistuje.

  • 409 ServerBlobAuditingPolicyInProgress – Nastavení auditování objektů blob serveru už probíhá.

  • 409 CannotCancelOperation – Operace správy je ve stavu, který nelze zrušit.

  • 409 OperationCancelled - Operace byla zrušena uživatelem.

  • 409 OperationInterrupted – operaci s prostředkem nebylo možné dokončit, protože byla přerušena jinou operací na stejném prostředku.

  • 429 SubscriptionTooManyCreateUpdateRequests – Požadavky nad rámec maximálních požadavků, které je možné zpracovat dostupnými prostředky.

  • 429 SubscriptionTooManyRequests – Požadavky nad rámec maximálních požadavků, které je možné zpracovat dostupnými prostředky.

  • 500 OperationTimedOut – Vypršel časový limit operace a automaticky se vrátil zpět. Zkuste operaci zopakovat.

  • 503 TooManyRequests – Požadavky nad rámec maximálních požadavků, které je možné zpracovat dostupnými prostředky.

Příklady

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

Update a server's extended 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/extendedAuditingSettings/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"
    ],
    "predicateExpression": "object_name = 'SensitiveData'",
    "isAzureMonitorTargetEnabled": true
  }
}

Ukázková odpověď

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/extendedAuditingSettings/default",
  "name": "default",
  "type": "Microsoft.Sql/servers/extendedAuditingSettings",
  "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"
    ],
    "predicateExpression": "object_name = 'SensitiveData'",
    "isAzureMonitorTargetEnabled": true
  }
}

Update a server's extended 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/extendedAuditingSettings/default?api-version=2023-08-01

{
  "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/extendedAuditingSettings/default",
  "name": "default",
  "type": "Microsoft.Sql/servers/extendedAuditingSettings",
  "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"
    ],
    "isAzureMonitorTargetEnabled": false
  }
}

Definice

Name Description
blobAuditingPolicyName

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

BlobAuditingPolicyState

Určuje stav auditu. Pokud je stav Povoleno, jsou vyžadovány hodnoty storageEndpoint nebo isAzureMonitorTargetEnabled.

ErrorAdditionalInfo

Další informace o chybě správy prostředků

ErrorDetail

Podrobnosti o chybě.

ErrorResponse

Chybová odpověď

ExtendedServerBlobAuditingPolicy

Rozšířené zásady auditování objektů blob serveru.

blobAuditingPolicyName

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

Hodnota Description
default

BlobAuditingPolicyState

Určuje stav auditu. Pokud je stav Povoleno, jsou vyžadovány hodnoty storageEndpoint nebo isAzureMonitorTargetEnabled.

Hodnota Description
Disabled
Enabled

ErrorAdditionalInfo

Další informace o chybě správy prostředků

Name Typ Description
info

object

Další informace.

type

string

Další typ informací.

ErrorDetail

Podrobnosti o chybě.

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Další informace o chybě.

code

string

Kód chyby.

details

ErrorDetail[]

Podrobnosti o chybě.

message

string

Chybová zpráva.

target

string

Cíl chyby.

ErrorResponse

Chybová odpověď

Name Typ Description
error

ErrorDetail

Objekt chyby.

ExtendedServerBlobAuditingPolicy

Rozšířené zásady auditování objektů blob serveru.

Name Typ Description
id

string

ID 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 se auditování všech dotazů a uložených procedur spuštěných v databázi i ú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á je ve výchozím nastavení nakonfigurovaná při povolování auditování z webu 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 DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_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 Database-Level Skupiny akcí auditování.

Pro zásady auditování databáze je možné zadat také konkrétní akce (všimněte si, že pro zásady auditování serveru nelze zadat akce). Podporované akce auditu: 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 celá databáze nebo schéma. V těchto případech se použijí formuláře DATABASE::{db_name} a SCHEMA::{schema_name}.

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 Database-Level akcí auditu

properties.isAzureMonitorTargetEnabled

boolean

Určuje, jestli se události auditu odesílají do služby Azure Monitor. Pokud chcete odesílat události do služby Azure Monitor, jako true zadejte State a IsAzureMonitorTargetEnabled.

Při konfiguraci auditování pomocí rozhraní REST API by se také měla vytvořit 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 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

properties.isDevopsAuditEnabled

boolean

Určuje stav auditu DevOps. Pokud je stav povolený, odešlou se do služby Azure Monitor protokoly DevOps. Pokud chcete odesílat události do služby Azure Monitor, jako true zadejte State, IsAzureMonitorTargetEnabled jako true a IsDevopsAuditEnabled jako true.

Při konfiguraci auditování pomocí rozhraní REST API by se také měla vytvořit nastavení diagnostiky s kategorií diagnostických protokolů DevOpsOperationsAudit v hlavní databázi.

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

Další informace najdete v tématu rozhraní REST API pro nastavení diagnostiky nebo nastavení diagnostiky

properties.isManagedIdentityInUse

boolean

Určuje, jestli se spravovaná identita používá pro přístup k úložišti objektů blob.

properties.isStorageSecondaryKeyInUse

boolean

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

properties.predicateExpression

string

Určuje podmínku where klauzule při vytváření auditu.

properties.queueDelayMs

integer (int32)

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). Maximum je 2 147 483 647.

properties.retentionDays

integer (int32)

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

properties.state

BlobAuditingPolicyState

Určuje stav auditu. Pokud je stav Povoleno, jsou vyžadovány hodnoty storageEndpoint nebo isAzureMonitorTargetEnabled.

properties.storageAccountAccessKey

string

Určuje identifikátor klíče účtu úložiště auditování. Pokud je stav Povoleno a parametr storageEndpoint je zadaný, nezadávejte klíč storageAccountAccessKey pro přístup k úložišti spravovanou identitu přiřazenou systémem sql serveru. Předpoklady pro použití ověřování spravované identity:

  1. Přiřaďte SQL Serveru spravovanou identitu přiřazenou systémem v Azure Active Directory (AAD).
  2. Udělte identitě SQL Serveru přístup k účtu úložiště přidáním role RBAC přispěvatele dat objektů blob úložiště k identitě serveru. Další informace najdete v tématu Auditování úložiště pomocí ověřování spravované identity
properties.storageAccountSubscriptionId

string (uuid)

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, je vyžadována možnost storageEndpoint nebo isAzureMonitorTargetEnabled.

type

string

Typ prostředku.