DatabaseBlobAuditingPolicy interface
Zasady inspekcji obiektów blob bazy danych.
- Rozszerzenie
Właściwości
audit |
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 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 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 |
is |
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 |
is |
Określa, czy tożsamość zarządzana jest używana do uzyskiwania dostępu do magazynu obiektów blob |
is |
Określa, czy wartość storageAccountAccessKey jest kluczem pomocniczym magazynu. |
kind | Rodzaj zasobu. UWAGA: Ta właściwość nie zostanie serializowana. Można go wypełnić tylko przez serwer. |
queue |
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. |
retention |
Określa liczbę dni przechowywania w dziennikach inspekcji na koncie magazynu. |
state | Określa stan inspekcji. Jeśli stan jest włączony, punkt magazynowania lub wartośćAzureMonitorTargetEnabled są wymagane. |
storage |
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:
|
storage |
Określa identyfikator subskrypcji magazynu obiektów blob. |
storage |
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. |
Właściwości dziedziczone
id | Identyfikator zasobu. UWAGA: Ta właściwość nie zostanie serializowana. Można go wypełnić tylko przez serwer. |
name | Nazwa zasobu. UWAGA: Ta właściwość nie zostanie serializowana. Można go wypełnić tylko przez serwer. |
type | Typ zasobu. UWAGA: Ta właściwość nie zostanie serializowana. Można go wypełnić tylko przez serwer. |
Szczegóły właściwości
auditActionsAndGroups
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 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 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
auditActionsAndGroups?: string[]
Wartość właściwości
string[]
isAzureMonitorTargetEnabled
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
isAzureMonitorTargetEnabled?: boolean
Wartość właściwości
boolean
isManagedIdentityInUse
Określa, czy tożsamość zarządzana jest używana do uzyskiwania dostępu do magazynu obiektów blob
isManagedIdentityInUse?: boolean
Wartość właściwości
boolean
isStorageSecondaryKeyInUse
Określa, czy wartość storageAccountAccessKey jest kluczem pomocniczym magazynu.
isStorageSecondaryKeyInUse?: boolean
Wartość właściwości
boolean
kind
Rodzaj zasobu. UWAGA: Ta właściwość nie zostanie serializowana. Można go wypełnić tylko przez serwer.
kind?: string
Wartość właściwości
string
queueDelayMs
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.
queueDelayMs?: number
Wartość właściwości
number
retentionDays
Określa liczbę dni przechowywania w dziennikach inspekcji na koncie magazynu.
retentionDays?: number
Wartość właściwości
number
state
Określa stan inspekcji. Jeśli stan jest włączony, punkt magazynowania lub wartośćAzureMonitorTargetEnabled są wymagane.
state?: BlobAuditingPolicyState
Wartość właściwości
storageAccountAccessKey
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:
- Przypisz SQL Server tożsamość zarządzaną przypisaną przez system w usłudze Azure Active Directory (AAD).
- 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
storageAccountAccessKey?: string
Wartość właściwości
string
storageAccountSubscriptionId
Określa identyfikator subskrypcji magazynu obiektów blob.
storageAccountSubscriptionId?: string
Wartość właściwości
string
storageEndpoint
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.
storageEndpoint?: string
Wartość właściwości
string
Szczegóły właściwości dziedziczonej
id
Identyfikator zasobu. UWAGA: Ta właściwość nie zostanie serializowana. Można go wypełnić tylko przez serwer.
id?: string
Wartość właściwości
string
Dziedziczone zProxyResource.id
name
Nazwa zasobu. UWAGA: Ta właściwość nie zostanie serializowana. Można go wypełnić tylko przez serwer.
name?: string
Wartość właściwości
string
Dziedziczone zProxyResource.name
type
Typ zasobu. UWAGA: Ta właściwość nie zostanie serializowana. Można go wypełnić tylko przez serwer.
type?: string
Wartość właściwości
string
Dziedziczone zserwera proxyResource.type