Database Blob Auditing Policies - Create Or Update
Tworzy lub aktualizuje zasady inspekcji obiektów blob bazy danych.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default?api-version=2023-08-01
Parametry identyfikatora URI
| Nazwa | W | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
blob
|
path | True |
Nazwa zasad inspekcji obiektów blob. |
|
|
database
|
path | True |
string |
Nazwa bazy danych. |
|
resource
|
path | True |
string |
Nazwa grupy zasobów zawierającej zasób. Tę wartość można uzyskać z interfejsu API usługi Azure Resource Manager lub portalu. |
|
server
|
path | True |
string |
Nazwa serwera. |
|
subscription
|
path | True |
string |
Identyfikator subskrypcji identyfikujący subskrypcję platformy Azure. |
|
api-version
|
query | True |
string |
Wersja interfejsu API do użycia dla żądania. |
Treść żądania
| Nazwa | Wymagane | Typ | Opis |
|---|---|---|---|
| properties.state | True |
Określa stan inspekcji. Jeśli stan jest włączony, wymagany jest parametr storageEndpoint lub isAzureMonitorTargetEnabled. |
|
| properties.auditActionsAndGroups |
string[] |
Określa Actions-Groups i akcje do inspekcji. Zalecany zestaw grup akcji do użycia jest następującą kombinacją — spowoduje to inspekcję wszystkich zapytań i procedur składowanych wykonywanych względem bazy danych, a także pomyślnych i zakończonych niepowodzeniem logowań: 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 w witrynie 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 DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_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 Database-Level Inspekcja grup akcji. 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Ę AKTUALIZUJ OPERACJĘ WSTAWIANIA USUŃ WYKONAJ ODWOŁANIA DO ODBIERANIA Ogólny formularz definiowania akcji do inspekcji to: {action} ON {object} BY {principal} Należy pamiętać, że <obiekt> w powyższym formacie może 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 Database-Level Akcje inspekcji |
|
| 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 Aby uzyskać więcej informacji, zobacz Ustawienia diagnostyczne interfejsu API REST lub ustawienia diagnostyczne Programu PowerShell |
|
| properties.isManagedIdentityInUse |
boolean |
Określa, czy tożsamość zarządzana jest używana do uzyskiwania dostępu do magazynu obiektów blob |
|
| properties.isStorageSecondaryKeyInUse |
boolean |
Określa, czy wartość storageAccountAccessKey jest kluczem pomocniczym magazynu. |
|
| properties.queueDelayMs |
integer (int32) |
Określa czas w milisekundach, który może upłynąć przed wymuszeniem przetworzenia akcji inspekcji. Domyślna wartość minimalna to 1000 (1 sekunda). Maksymalna wartość to 2147 483 647. |
|
| properties.retentionDays |
integer (int32) |
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 storageEndpoint jest określony, nie określa wartości storageAccountAccessKey będzie używać 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:
|
|
| properties.storageAccountSubscriptionId |
string (uuid) |
Określa identyfikator subskrypcji magazynu obiektów blob. |
|
| properties.storageEndpoint |
string |
Określa punkt końcowy magazynu obiektów blob (np. |
Odpowiedzi
| Nazwa | Typ | Opis |
|---|---|---|
| 200 OK |
Pomyślnie ustaw zasady inspekcji obiektów blob bazy danych. |
|
| 201 Created |
Pomyślnie utworzono zasady inspekcji obiektów blob bazy danych. |
|
| Other Status Codes |
Odpowiedzi na błędy: ***
|
Przykłady
Create or update a database's azure monitor auditing policy with minimal parameters
Przykładowe żądanie
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=2023-08-01
{
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true
}
}
Przykładowa odpowiedź
{
"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",
"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",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
Create or update a database's blob auditing policy with all parameters
Przykładowe żądanie
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=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": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"isAzureMonitorTargetEnabled": true
}
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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=2023-08-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/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
}
}
Definicje
| Nazwa | Opis |
|---|---|
|
blob |
Nazwa zasad inspekcji obiektów blob. |
|
Blob |
Określa stan inspekcji. Jeśli stan jest włączony, wymagany jest parametr storageEndpoint lub isAzureMonitorTargetEnabled. |
|
Database |
Zasady inspekcji obiektów blob bazy danych. |
|
Error |
Dodatkowe informacje o błędzie zarządzania zasobami. |
|
Error |
Szczegóły błędu. |
|
Error |
Odpowiedź na błąd |
blobAuditingPolicyName
Nazwa zasad inspekcji obiektów blob.
| Wartość | Opis |
|---|---|
| default |
BlobAuditingPolicyState
Określa stan inspekcji. Jeśli stan jest włączony, wymagany jest parametr storageEndpoint lub isAzureMonitorTargetEnabled.
| Wartość | Opis |
|---|---|
| Enabled | |
| Disabled |
DatabaseBlobAuditingPolicy
Zasady inspekcji obiektów blob bazy danych.
| Nazwa | Typ | Opis |
|---|---|---|
| id |
string |
Identyfikator zasobu. |
| kind |
string |
Rodzaj zasobu. |
| name |
string |
Nazwa zasobu. |
| properties.auditActionsAndGroups |
string[] |
Określa Actions-Groups i akcje do inspekcji. Zalecany zestaw grup akcji do użycia jest następującą kombinacją — spowoduje to inspekcję wszystkich zapytań i procedur składowanych wykonywanych względem bazy danych, a także pomyślnych i zakończonych niepowodzeniem logowań: 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 w witrynie 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 DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_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 Database-Level Inspekcja grup akcji. 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Ę AKTUALIZUJ OPERACJĘ WSTAWIANIA USUŃ WYKONAJ ODWOŁANIA DO ODBIERANIA Ogólny formularz definiowania akcji do inspekcji to: {action} ON {object} BY {principal} Należy pamiętać, że <obiekt> w powyższym formacie może 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 Database-Level Akcje inspekcji |
| 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 Aby uzyskać więcej informacji, zobacz Ustawienia diagnostyczne interfejsu API REST lub ustawienia diagnostyczne Programu PowerShell |
| properties.isManagedIdentityInUse |
boolean |
Określa, czy tożsamość zarządzana jest używana do uzyskiwania dostępu do magazynu obiektów blob |
| properties.isStorageSecondaryKeyInUse |
boolean |
Określa, czy wartość storageAccountAccessKey jest kluczem pomocniczym magazynu. |
| properties.queueDelayMs |
integer (int32) |
Określa czas w milisekundach, który może upłynąć przed wymuszeniem przetworzenia akcji inspekcji. Domyślna wartość minimalna to 1000 (1 sekunda). Maksymalna wartość to 2147 483 647. |
| properties.retentionDays |
integer (int32) |
Określa liczbę dni przechowywania w dziennikach inspekcji na koncie magazynu. |
| properties.state |
Określa stan inspekcji. Jeśli stan jest włączony, wymagany jest parametr storageEndpoint lub isAzureMonitorTargetEnabled. |
|
| properties.storageAccountAccessKey |
string |
Określa klucz identyfikatora konta magazynu inspekcji. Jeśli stan jest włączony, a punkt storageEndpoint jest określony, nie określa wartości storageAccountAccessKey będzie używać 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:
|
| properties.storageAccountSubscriptionId |
string (uuid) |
Określa identyfikator subskrypcji magazynu obiektów blob. |
| properties.storageEndpoint |
string |
Określa punkt końcowy magazynu obiektów blob (np. |
| type |
string |
Typ zasobu. |
ErrorAdditionalInfo
Dodatkowe informacje o błędzie zarządzania zasobami.
| Nazwa | Typ | Opis |
|---|---|---|
| info |
object |
Dodatkowe informacje. |
| type |
string |
Dodatkowy typ informacji. |
ErrorDetail
Szczegóły błędu.
| Nazwa | Typ | Opis |
|---|---|---|
| additionalInfo |
Dodatkowe informacje o błędzie. |
|
| code |
string |
Kod błędu. |
| details |
Szczegóły błędu. |
|
| message |
string |
Komunikat o błędzie. |
| target |
string |
Element docelowy błędu. |
ErrorResponse
Odpowiedź na błąd
| Nazwa | Typ | Opis |
|---|---|---|
| error |
Obiekt błędu. |