Udostępnij za pośrednictwem


Workspace Managed Sql Server Blob Auditing Policies - Create Or Update

Tworzenie lub aktualizowanie zasad inspekcji obiektów blob serwera.
Utwórz lub zaktualizuj zasady inspekcji obiektów blob zarządzanego obszaru roboczego programu SQL Server.

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

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
blobAuditingPolicyName
path True

BlobAuditingPolicyName

Nazwa zasad inspekcji obiektów blob.

resourceGroupName
path True

string

Nazwa grupy zasobów. W nazwie jest uwzględniana wielkość liter.

subscriptionId
path True

string

Identyfikator subskrypcji docelowej.

workspaceName
path True

string

Nazwa obszaru roboczego.

api-version
query True

string

Wersja interfejsu API do użycia dla tej operacji.

Treść żądania

Nazwa Wymagane Typ Opis
properties.state True

BlobAuditingPolicyState

Określa stan zasad. Jeśli stan jest włączony, punkt magazynowania lub wartośćAzureMonitorTargetEnabled są wymagane.

properties.auditActionsAndGroups

string[]

Określa Actions-Groups i akcje do inspekcji.

Zalecany zestaw grup akcji do użycia to następująca kombinacja — spowoduje to inspekcję wszystkich zapytań i procedur składowanych wykonywanych względem bazy danych, a także pomyślnych i zakończonych niepowodzeniem logowania:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Ta powyżej kombinacja jest również zestawem skonfigurowanym domyślnie podczas włączania inspekcji z Azure Portal.

Obsługiwane grupy akcji do inspekcji to (uwaga: wybierz tylko określone grupy, które obejmują potrzeby inspekcji. Użycie niepotrzebnych grup może prowadzić do bardzo dużych ilości rekordów inspekcji):

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

Są to grupy, które obejmują wszystkie instrukcje SQL i procedury składowane wykonywane względem bazy danych i nie powinny być używane w połączeniu z innymi grupami, ponieważ spowoduje to zduplikowanie dzienników inspekcji.

Aby uzyskać więcej informacji, zobacz Grupy akcji inspekcji na poziomie bazy danych.

W przypadku zasad inspekcji bazy danych można również określić określone akcje (należy pamiętać, że nie można określić akcji dla zasad inspekcji serwera). Obsługiwane akcje do inspekcji to: WYBIERZ POZYCJĘ UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

Ogólny formularz do definiowania akcji do inspekcji to: {action} ON {object} BY {principal}

Należy pamiętać, że w powyższym formacie można odwoływać się do obiektu, takiego jak tabela, widok lub procedura składowana albo cała baza danych lub schemat. W tych ostatnich przypadkach używane są odpowiednio formularze DATABASE::{db_name} i SCHEMA::{schema_name}.

Na przykład: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Aby uzyskać więcej informacji, zobacz Akcje inspekcji na poziomie bazy danych

properties.isAzureMonitorTargetEnabled

boolean

Określa, czy zdarzenia inspekcji są wysyłane do usługi Azure Monitor. Aby wysyłać zdarzenia do usługi Azure Monitor, określ wartość "state" jako "Enabled" i "isAzureMonitorTargetEnabled" jako true.

W przypadku konfigurowania inspekcji przy użyciu interfejsu API REST należy również utworzyć kategorię dzienników diagnostycznych "SQLSecurityAuditEvents" w bazie danych. Należy pamiętać, że w przypadku inspekcji na poziomie serwera należy użyć bazy danych "master" jako {databaseName}.

Format identyfikatora URI ustawień diagnostycznych: 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

Aby uzyskać więcej informacji, zobacz Interfejs API REST ustawień diagnostycznych lub ustawienia diagnostyczne programu PowerShell

properties.isDevopsAuditEnabled

boolean

Określa stan inspekcji devops. Jeśli stan jest włączony, dzienniki devops zostaną wysłane do usługi Azure Monitor. Aby wysłać zdarzenia do usługi Azure Monitor, określ wartość "State" jako "Enabled", "IsAzureMonitorTargetEnabled" jako true i "IsDevopsAuditEnabled" jako true

W przypadku konfigurowania inspekcji przy użyciu interfejsu API REST należy również utworzyć kategorię dzienników diagnostycznych "DevOpsOperationsAudit" w bazie danych master.

Format identyfikatora URI ustawień diagnostycznych: 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

Aby uzyskać więcej informacji, zobacz Interfejs API REST ustawień diagnostycznych lub ustawienia diagnostyczne programu PowerShell

properties.isStorageSecondaryKeyInUse

boolean

Określa, czy wartość storageAccountAccessKey jest kluczem pomocniczym magazynu.

properties.queueDelayMs

integer

Określa czas w milisekundach, który może upłynąć, zanim akcje inspekcji zostaną zmuszone do przetworzenia. Domyślna wartość minimalna to 1000 (1 sekunda). Maksymalna wartość to 2147 483 647.

properties.retentionDays

integer

Określa liczbę dni przechowywania w dziennikach inspekcji na koncie magazynu.

properties.storageAccountAccessKey

string

Określa klucz identyfikatora konta magazynu inspekcji. Jeśli stan jest włączony, a punkt magazynuEndpoint jest określony, nie określi parametru storageAccountAccessKey użyje przypisanej przez system tożsamości zarządzanej programu SQL Server w celu uzyskania dostępu do magazynu. Wymagania wstępne dotyczące korzystania z uwierzytelniania tożsamości zarządzanej:

  1. Przypisz SQL Server tożsamość zarządzaną przypisaną przez system w usłudze Azure Active Directory (AAD).
  2. Udziel SQL Server tożsamości dostępu do konta magazynu, dodając rolę RBAC współautora danych obiektu blob usługi Storage do tożsamości serwera. Aby uzyskać więcej informacji, zobacz Inspekcja magazynu przy użyciu uwierzytelniania tożsamości zarządzanej
properties.storageAccountSubscriptionId

string

Określa identyfikator subskrypcji magazynu obiektów blob.

properties.storageEndpoint

string

Określa punkt końcowy magazynu obiektów blob (np. https://MyAccount.blob.core.windows.net). Jeśli stan jest włączony, punkt magazynuEndpoint lub wartośćAzureMonitorTargetEnabled jest wymagany.

Odpowiedzi

Nazwa Typ Opis
200 OK

ServerBlobAuditingPolicy

Pomyślnie zaktualizowano ustawienia inspekcji.

202 Accepted

Zaakceptowano

Other Status Codes

Odpowiedzi na błędy: ***

  • 400 InvalidServerBlobAuditingPolicyCreateRequest — żądanie zasad inspekcji obiektu blob serwera nie istnieje lub nie ma obiektu właściwości.

  • 400 InvalidBlobAuditActionsAndGroups — nieprawidłowe akcje inspekcji lub grupy akcji.

  • 400 DataSecurityInvalidUserSuppliedParameter — przez klienta została podana nieprawidłowa wartość parametru.

  • 400 BlobAuditingInvalidStorageAccountCredentials — podane konto magazynu lub klucz dostępu są nieprawidłowe.

  • 400 InvalidBlobAuditActionsAndGroups — nieprawidłowe akcje inspekcji lub grupy akcji.

  • 400 InsufficientDiskSpaceForAuditing — za mało miejsca na dysku, aby zaoszczędzić metadane inspekcji w bazie danych

400 InvalidBlobAuditActions — nieprawidłowa akcja inspekcji.

  • 404 SubscriptionDoesNotHaveServer — nie znaleziono żądanego serwera

  • 404 ServerNotInSubscriptionResourceGroup — określony serwer nie istnieje w określonej grupie zasobów i subskrypcji.

  • 409 UnsupportedWorkspaceType — nieobsługiwana operacja dla typu obszaru roboczego.

  • 500 InternalServerError — wystąpił problem.

Przykłady

Create or update blob auditing policy of workspace managed Sql Server with minimal parameters
Create or update blob auditing policy of workspace SQL Server with all parameters

Create or update blob auditing policy of workspace managed Sql Server with minimal parameters

Przykładowe żądanie

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default?api-version=2021-06-01

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

Przykładowa odpowiedź

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/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"
    ]
  }
}

Create or update blob auditing policy of workspace SQL Server with all parameters

Przykładowe żądanie

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default?api-version=2021-06-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
  }
}

Przykładowa odpowiedź

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/wsg-7398/providers/Microsoft.Synapse/workspaces/testWorkspace/auditingSettings/default",
  "name": "default",
  "type": "Microsoft.Synapse/workspaces/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
  }
}

Definicje

Nazwa Opis
BlobAuditingPolicyName

Nazwa zasad inspekcji obiektów blob.

BlobAuditingPolicyState

Określa stan zasad. Jeśli stan jest włączony, punkt magazynowania lub wartośćAzureMonitorTargetEnabled są wymagane.

ServerBlobAuditingPolicy

Zasady inspekcji obiektów blob serwera.

BlobAuditingPolicyName

Nazwa zasad inspekcji obiektów blob.

Nazwa Typ Opis
default

string

BlobAuditingPolicyState

Określa stan zasad. Jeśli stan jest włączony, punkt magazynowania lub wartośćAzureMonitorTargetEnabled są wymagane.

Nazwa Typ Opis
Disabled

string

Enabled

string

ServerBlobAuditingPolicy

Zasady inspekcji obiektów blob serwera.

Nazwa Typ Opis
id

string

W pełni kwalifikowany identyfikator zasobu dla zasobu. Ex — /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Nazwa zasobu

properties.auditActionsAndGroups

string[]

Określa Actions-Groups i akcje do inspekcji.

Zalecany zestaw grup akcji do użycia to następująca kombinacja — spowoduje to inspekcję wszystkich zapytań i procedur składowanych wykonywanych względem bazy danych, a także pomyślnych i zakończonych niepowodzeniem logowania:

BATCH_COMPLETED_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP.

Ta powyżej kombinacja jest również zestawem skonfigurowanym domyślnie podczas włączania inspekcji z Azure Portal.

Obsługiwane grupy akcji do inspekcji to (uwaga: wybierz tylko określone grupy, które obejmują potrzeby inspekcji. Użycie niepotrzebnych grup może prowadzić do bardzo dużych ilości rekordów inspekcji):

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

Są to grupy, które obejmują wszystkie instrukcje SQL i procedury składowane wykonywane względem bazy danych i nie powinny być używane w połączeniu z innymi grupami, ponieważ spowoduje to zduplikowanie dzienników inspekcji.

Aby uzyskać więcej informacji, zobacz Grupy akcji inspekcji na poziomie bazy danych.

W przypadku zasad inspekcji bazy danych można również określić określone akcje (należy pamiętać, że nie można określić akcji dla zasad inspekcji serwera). Obsługiwane akcje do inspekcji to: WYBIERZ POZYCJĘ UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

Ogólny formularz do definiowania akcji do inspekcji to: {action} ON {object} BY {principal}

Należy pamiętać, że w powyższym formacie można odwoływać się do obiektu, takiego jak tabela, widok lub procedura składowana albo cała baza danych lub schemat. W tych ostatnich przypadkach używane są odpowiednio formularze DATABASE::{db_name} i SCHEMA::{schema_name}.

Na przykład: SELECT on dbo.myTable by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public

Aby uzyskać więcej informacji, zobacz Akcje inspekcji na poziomie bazy danych

properties.isAzureMonitorTargetEnabled

boolean

Określa, czy zdarzenia inspekcji są wysyłane do usługi Azure Monitor. Aby wysyłać zdarzenia do usługi Azure Monitor, określ wartość "state" jako "Enabled" i "isAzureMonitorTargetEnabled" jako true.

W przypadku konfigurowania inspekcji przy użyciu interfejsu API REST należy również utworzyć kategorię dzienników diagnostycznych "SQLSecurityAuditEvents" w bazie danych. Należy pamiętać, że w przypadku inspekcji na poziomie serwera należy użyć bazy danych "master" jako {databaseName}.

Format identyfikatora URI ustawień diagnostycznych: 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

Aby uzyskać więcej informacji, zobacz Interfejs API REST ustawień diagnostycznych lub ustawienia diagnostyczne programu PowerShell

properties.isDevopsAuditEnabled

boolean

Określa stan inspekcji devops. Jeśli stan jest włączony, dzienniki devops zostaną wysłane do usługi Azure Monitor. Aby wysłać zdarzenia do usługi Azure Monitor, określ wartość "State" jako "Enabled", "IsAzureMonitorTargetEnabled" jako true i "IsDevopsAuditEnabled" jako true

W przypadku konfigurowania inspekcji przy użyciu interfejsu API REST należy również utworzyć kategorię dzienników diagnostycznych "DevOpsOperationsAudit" w bazie danych master.

Format identyfikatora URI ustawień diagnostycznych: 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

Aby uzyskać więcej informacji, zobacz Interfejs API REST ustawień diagnostycznych lub ustawienia diagnostyczne programu PowerShell

properties.isStorageSecondaryKeyInUse

boolean

Określa, czy wartość storageAccountAccessKey jest kluczem pomocniczym magazynu.

properties.queueDelayMs

integer

Określa czas w milisekundach, który może upłynąć, zanim akcje inspekcji zostaną zmuszone do przetworzenia. Domyślna wartość minimalna to 1000 (1 sekunda). Maksymalna wartość to 2147 483 647.

properties.retentionDays

integer

Określa liczbę dni przechowywania w dziennikach inspekcji na koncie magazynu.

properties.state

BlobAuditingPolicyState

Określa stan zasad. Jeśli stan jest włączony, punkt magazynowania lub wartośćAzureMonitorTargetEnabled są wymagane.

properties.storageAccountAccessKey

string

Określa klucz identyfikatora konta magazynu inspekcji. Jeśli stan jest włączony, a punkt magazynuEndpoint jest określony, nie określi parametru storageAccountAccessKey użyje przypisanej przez system tożsamości zarządzanej programu SQL Server w celu uzyskania dostępu do magazynu. Wymagania wstępne dotyczące korzystania z uwierzytelniania tożsamości zarządzanej:

  1. Przypisz SQL Server tożsamość zarządzaną przypisaną przez system w usłudze Azure Active Directory (AAD).
  2. Udziel SQL Server tożsamości dostępu do konta magazynu, dodając rolę RBAC współautora danych obiektu blob usługi Storage do tożsamości serwera. Aby uzyskać więcej informacji, zobacz Inspekcja magazynu przy użyciu uwierzytelniania tożsamości zarządzanej
properties.storageAccountSubscriptionId

string

Określa identyfikator subskrypcji magazynu obiektów blob.

properties.storageEndpoint

string

Określa punkt końcowy magazynu obiektów blob (np. https://MyAccount.blob.core.windows.net). Jeśli stan jest włączony, punkt magazynuEndpoint lub wartośćAzureMonitorTargetEnabled jest wymagany.

type

string

Typ zasobu. Np. "Microsoft.Compute/virtualMachines" lub "Microsoft.Storage/storageAccounts"