Extended Database Blob Auditing Policies - Create Or Update
Tworzy lub aktualizuje zasady inspekcji obiektów blob rozszerzonej bazy danych.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/default?api-version=2021-11-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 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 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 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 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 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 inspekcji to: WYBIERZ POLECENIE AKTUALIZUJ, WSTAW USUŃ INSTRUKCJE ODBIORUJ ODWOŁANIA Ogólny formularz definiowania akcji do inspekcji: {action} ON {object} BY {principal} Należy pamiętać, że w powyższym formacie obiekt 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 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.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.predicateExpression |
string |
Określa warunek where klauzuli podczas tworzenia inspekcji. |
|
properties.queueDelayMs |
integer |
Określa czas w milisekundach, który może upłynąć, zanim akcje inspekcji zostaną wymuszone do przetworzenia. Wartość minimalna domyślna to 1000 (1 sekunda). Wartość maksymalna to 2 147 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 końcowy magazynu 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 |
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, wymagany jest parametr storageEndpoint lub isAzureMonitorTargetEnabled. |
Odpowiedzi
Nazwa | Typ | Opis |
---|---|---|
200 OK |
Pomyślnie ustawiono rozszerzone zasady inspekcji obiektów blob bazy danych. |
|
201 Created |
Pomyślnie utworzono zasady inspekcji obiektów blob rozszerzonej bazy danych. |
|
Other Status Codes |
Odpowiedzi na błędy: ***
|
Przykłady
Create or update an extended 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/extendedAuditingSettings/default?api-version=2021-11-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/extendedAuditingSettings",
"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/extendedAuditingSettings",
"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 an extended 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/extendedAuditingSettings/default?api-version=2021-11-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"
],
"predicateExpression": "statement = 'select 1'",
"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/extendedAuditingSettings",
"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"
],
"predicateExpression": "statement = 'select 1'",
"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/extendedAuditingSettings",
"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"
],
"predicateExpression": "statement = 'select 1'",
"isAzureMonitorTargetEnabled": true
}
}
Create or update an extended 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/extendedAuditingSettings/default?api-version=2021-11-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/extendedAuditingSettings",
"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/extendedAuditingSettings",
"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. |
Extended |
Rozszerzone zasady inspekcji obiektów blob bazy danych. |
blobAuditingPolicyName
Nazwa zasad inspekcji obiektów blob.
Nazwa | Typ | Opis |
---|---|---|
default |
string |
BlobAuditingPolicyState
Określa stan inspekcji. Jeśli stan jest włączony, wymagany jest parametr storageEndpoint lub isAzureMonitorTargetEnabled.
Nazwa | Typ | Opis |
---|---|---|
Disabled |
string |
|
Enabled |
string |
ExtendedDatabaseBlobAuditingPolicy
Rozszerzone zasady inspekcji obiektów blob bazy danych.
Nazwa | Typ | Opis |
---|---|---|
id |
string |
Identyfikator zasobu. |
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 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 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 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 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 inspekcji to: WYBIERZ POLECENIE AKTUALIZUJ, WSTAW USUŃ INSTRUKCJE ODBIORUJ ODWOŁANIA Ogólny formularz definiowania akcji do inspekcji: {action} ON {object} BY {principal} Należy pamiętać, że w powyższym formacie obiekt 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 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.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.predicateExpression |
string |
Określa warunek where klauzuli podczas tworzenia inspekcji. |
properties.queueDelayMs |
integer |
Określa czas w milisekundach, który może upłynąć, zanim akcje inspekcji zostaną wymuszone do przetworzenia. Wartość minimalna domyślna to 1000 (1 sekunda). Wartość maksymalna to 2 147 483 647. |
properties.retentionDays |
integer |
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 końcowy magazynu 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 |
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, wymagany jest parametr storageEndpoint lub isAzureMonitorTargetEnabled. |
type |
string |
Typ zasobu. |